根据登录状态显示菜单

时间:2014-09-19 作者:anthonytherockjohnson

我试图根据用户是否登录显示一个菜单。这很简单,但当我更改代码时,我没有像原来那样的样式或图标-请参见下面的代码

原始代码(菜单看起来很好)

<div id="main-menu">
<?php wp_nav_menu(array(\'theme_location\' => \'primary\', \'menu_id\' => \'sf-menu\',         
\'walker\' => new header_one_uou_nav_menu) );?>
</div>
我的代码(将根据登录显示正确的菜单,但没有图标和格式)

<div id="main-menu">
<?php 

if( is_user_logged_in() ) {
$menu = \'menu_LI\';
} else {
$menu = \'sf-menu\';
}

wp_nav_menu( array( \'menu\' => $menu, \'container_class\' => \'menu-header\',
\'theme_location\' => \'primary\', \'menu_id\' ) );

?>


</div>
Link 到菜单以参考其外观

如有任何建议,将不胜感激

1 个回复
最合适的回答,由SO网友:Nicolai Grossherr 整理而成

好的,原始代码和您的代码之间有一些非常明显的差异,例如:

使用walker

  • 这是最需要的花式造型menu_id 参数取决于相应的CSS,也可能需要使用menu 参数正常,要切换显示的菜单,需要添加container_class
    • 可能会影响菜单的显示方式,这取决于CSS,也就是说,请尝试以下操作:

      if( is_user_logged_in() ) {
          $menu = \'menu_LI\';
      } else {
          $menu = \'sf-menu\';
      }
      
      wp_nav_menu(
          array(
              \'menu\'            => $menu,
              \'container_class\' => \'menu-header\',
              \'theme_location\'  => \'primary\',
              \'menu_id\'         => \'sf-menu\',
              \'walker\'          => new header_one_uou_nav_menu
          )
      );
      
      此外,您可能需要调整或摆弄参数,以使其完美工作。以上面的列表为起点,您可能需要阅读wp_nav_menu() 再来看看Walker 事情是这样的。

结束

相关推荐

How to add taxonomy in menus?

书籍(自定义帖子类型)小说(税)科学(税)历史(税)--书籍体裁(税务)小说(术语)科学(学期)历史(学期)以下哪一项是做这件事的“好方法”?对于前一个(这是我目前在管理菜单中的功能,我为每个功能都提供了“register\\u taxonomy”功能),我无法选择要在菜单中显示的“Tax”。而对于后者,我可以将它们添加到菜单中,只需要一个“register\\u taxonomy”函数。