it-swarm.com.de

Hauptdiv ausblenden, wenn wp_nav_menu leer ist

Ich möchte die div-Klasse "navmain2" ausblenden, wenn das Menü leer ist. Siehe Code unten:

<!-- Start main navigation -->

<div class="navmain2">
    <div id="logo"></div>

    <!-- Gets main menu by id -->
    <span></span>
    <?php
        wp_nav_menu( array(
            'menu' => 11,
            'container' =>false,
            'menu_class' => 'nav',
            'echo' => true,
            'before' => '',
            'after' => '',
            'link_before' => '',
            'link_after' => '',
            'depth' => 0,
            'walker' => new description_walker())
        );
    ?>
    <!-- /main menu -->

    <div id="klicka">Click here! Click here! Click here</div>
</div><!-- /main navigation -->-->

Ich habe ein Logo und ein Div mit Text in navmain2 , wie Sie sehen können.

Die Frage ist:

Ist es möglich, das gesamte navmain2 div zu verbergen, wenn das wp_nav_menu leer ist?

6
M3o

Ordnen Sie das Menü einer Zeichenfolge zu:

$menu = wp_nav_menu(
    array (
        'echo' => FALSE,
        'fallback_cb' => '__return_false'
    )
);

if ( ! empty ( $menu ) )
{
    echo '<div class="navmain2">' . $menu . '</div>';
}
8
fuxia

Wenn Sie überprüfen möchten, ob ein Menü zugewiesen ist, können Sie has_nav_menu () verwenden. Durchlaufen der registrierten Menü-ID als registriert über register_nav_menu ()

 <?php if ( has_nav_menu( 'primary' ) ) { ?>

    <div class="navmain2">

    </div>

 <?php }

Hinweis: Diese Funktion gibt die Div aus, wenn der Position primary ein Menü zugewiesen wurde. Sie gibt auch die Div aus, wenn das Menü zugewiesen und leer ist

2
Ilias Benetos

Lösung Nr. 2:

Ist das div durch Js zu verstecken.

$('#jqm-home').live("pagecreate", function () {
    $(".navmain2").each(function () {
        if ($(this).children("ul").length == 0) {
            $(this).hide();
        }
    });
}); 
0
M3o