根据用户登录更改前端菜单

时间:2011-01-28 作者:rexposadas

如何根据用户是否登录来更改前端菜单?

例如:

视图1:用户未登录菜单为:主页、关于我们、推荐

视图2:用户已登录菜单是:仪表板、我的个人资料、支持

提前谢谢。

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

定义两个菜单,并根据它们是否登录提供服务,您可以在主题的functions.php 文件:

if (is_user_logged_in()){
  wp_nav_menu( array(
    \'menu\'            => \'Logged In Menu\',
    \'container_class\' => \'logged-in-menu\',
    \'theme_location\'  => \'logged-in\'
  ));
} else {
  wp_nav_menu( array(
    \'menu\'            => \'Visitor Menu\',
    \'container_class\' => \'visitor-menu\',
    \'theme_location\'  => \'visitor\'
  ));
};
您还需要注册他们的主题位置,您可以在主题的functions.php 文件以及:

register_nav_menus( array(
  \'logged-in\'  => __( \'Logged-in Menu Area\',  \'yourtheme\' ),
  \'visitor\' => __( \'Visitor Menu Area\', \'yourtheme\' ),
));
您必须将这些菜单分配到管理员中的菜单位置,如下所示:

WordPress Admin Menu Locations

结束

相关推荐

Menu API not switching menus?

我正在使用菜单API,我想切换到其他菜单,但出于某种原因,它保留了第一个菜单这是我的密码在函数中。php add_action( \'init\', \'register_my_menus\',10 ); function register_my_menus() { register_nav_menu(\'main-navigation\', \'Main Navigation\'); } 下面是我的主题文件(header.ph