it-swarm.com.de

Stellen Sie die if-Bedingung mit wp_nav_menu ein

Ich habe ein neues Menü erstellt und in footer.php den folgenden Code hinzugefügt, um mein Menü anzuzeigen

wp_nav_menu( array('menu' => 'footer-cn', 'menu_id' => 'nav', 'menu_class' => 'ft-nav' ));

Momentan habe ich keine Seiten in diesem Menü hinzugefügt, daher möchte ich eine Bedingung festlegen, wenn Seiten in footer-cn verfügbar sind, und dann das Menü anzeigen.

Ich möchte folgende Bedingung stellen:

<?php
    if(){ // Some condition
        wp_nav_menu( array('menu' => 'footer-cn', 'menu_id' => 'nav', 'menu_class' => 'ft-nav' ));
    }
?>

Ist es möglich?

Vielen Dank.

enter image description here

1
Mr.Happy

Hier müssen Sie keine Bedingung verwenden, um Ihr Navigationsmenü auszublenden, wenn es leer ist.

Schauen Sie sich wp_nav_menu( $args ); an. Es akzeptiert die folgenden Argumente

$defaults = array(
    'theme_location'  => '',
    'menu'            => '',
    'container'       => 'div',
    'container_class' => '',
    'container_id'    => '',
    'menu_class'      => 'menu',
    'menu_id'         => '',
    'echo'            => true,
    'fallback_cb'     => 'wp_page_menu',
    'before'          => '',
    'after'           => '',
    'link_before'     => '',
    'link_after'      => '',
    'items_wrap'      => '<ul id="%1$s" class="%2$s">%3$s</ul>',
    'depth'           => 0,
    'walker'          => ''
);

wp_nav_menu( $defaults );

Das Wichtige hier ist 'fallback_cb'

$ fallback_cb (String) (optional)

Wenn das Menü nicht existiert, kann die Fallback-Funktion verwendet werden. Für No Fallback auf false setzen. Hinweis: Übergibt $ args an die benutzerdefinierte Funktion.

Voreinstellung: wp_page_menu

Um ein Menü auszublenden, wenn es leer ist, können Sie dies einfach zu Ihren Argumenten hinzufügen

'fallback_cb' => false

So sollte Ihr Endcode sein

wp_nav_menu( array('menu' => 'footer-cn', 'menu_id' => 'nav', 'menu_class' => 'ft-nav',  'fallback_cb' => false));
2
Pieter Goosen