it-swarm.com.de

Blenden Sie ein Widget in einem Div für einen bestimmten Beitragstyp aus

Ich habe einen benutzerdefinierten Beitragstyp mit dem Namen "Produkt" und möchte ein bestimmtes Widget nur ausblenden, wenn der Beitragstyp "Produkt" ist. Ich habe Folgendes versucht:

<?php function hidewidget() {
   $args = array(
   'name' => 'product'
   );
   $output = 'objects';
   $post_types = get_post_types( $args, $output );
   return $post_types; } 
   $widhide = hidewidget(); 
?>

   <?php 
      if ($widhide = 'product') {
      } else { 
   ?>
    <div class="widgetclass"><?php dynamic_sidebar( 'filters' ); ?></div>
   <?php } ?>

Das Problem ist folgendes: Diese Funktion gibt nur den Namen zurück, ich kann nichts mit dem Namen anfangen.

Ich muss eine Funktion aufrufen, die eine Seite mit einer bestimmten Art von Beitrag zurückgibt.

Es ist in WordPress möglich? Gibt es eine andere Lösung, um dieses Problem auf der Produktdetailseite im Woocommerce zu verbergen?

pd: Ich kann .widgetclass nicht entfernen es muss da sein , Ich versuche mit einem Plugin "Widget-Anzeige" das Widget auszublenden, aber der .widgetclass div erschien immer noch offensichtlich.

1
Kenny Amaro

Sie können einfach überprüfen, ob es sich um den spezifischen post_type handelt.

if (is_singular( 'product' ) ) {
   //do nothing if it's a singular product page
}else{
  <div class="widgetclass"><?php dynamic_sidebar( 'filters' ); ?></div>
{

Stellen Sie sicher, dass der tatsächliche Beitragstyp nur "Produkt" und kein Namensraum ist.

0
rudtek

Ich würde Widget Logic Plugin verwenden und die Bedingung innerhalb des Feldes verwenden:

! is_singular( 'product' )

Dies wird auf allen Produktseiten außer auf einzelnen Produktseiten angezeigt.

enter image description here

0
Christina

Fügen Sie nach dem Funktionsnamen eine Bedingung in den Code ein, der Ihr Widget aufruft.

if ( is_singular( 'product' ) ) 
    return:

Oder

if ( ! is_singular( 'product' ) ) 

Verwendet die! NOT Logical operator mit dem bedingten Tag is_singular

0
Dev