如果wp_NAV_MENU为空,则隐藏主目录

时间:2013-01-23 作者:M3o

如果菜单为空,我想隐藏div类“navmain2”。请参见下面的代码:

<!-- 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 -->-->
我有一个徽标和一个div,里面有文字navmain2 如你所见。

问题是:

Is it possible to hide the whole navmain2 div if the wp_nav_menu is empty?

3 个回复
最合适的回答,由SO网友:fuxia 整理而成

将菜单指定给字符串:

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

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

SO网友:Ilias Benetos

如果您想查看指定的菜单,可以使用has_nav_menu(). 通过注册的菜单id通过register_nav_menu()

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

    <div class="navmain2">

    </div>

 <?php }
注意:如果位置primary 已分配菜单,如果菜单已分配且为空,它还将输出div

SO网友:M3o

Solution nr 2:

是通过Js隐藏div。

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

结束

相关推荐

我没有评论。php..。如何自定义我的注释域

我的page in question is here.我已尝试添加comments.php 到我的自定义主题,这样我就可以删除网站字段,这样我就可以编辑字段的默认值并删除标签。当我添加comments.php 我所有的评论都消失了,这些评论也不再有用了。我不知道如何进行这些修改。我试过编辑comments-template.php 但是删除该文件中的字段并不会将其从站点中删除,我假设它已经在数据库中了。我是PHP新手,所以关于如何编辑这些文本字段的任何细节都将非常好。