如何使用IS_USER_LOGGED_IN函数显示不同的菜单?

时间:2012-03-04 作者:Gediminas

因此,我想为登录或未登录的用户创建不同的菜单。

我得到的答复是我应该使用函数

if (is_user_logged_in()) {
      wp_name_menu(array(\'theme_location\' => \'logged_user\' ));
} else {
      wp_nav_menu(array(\'theme_location\' => \'new_user\' ));
}
所以,如果我做对了,我会把这个放进functions.php 位于“我的孩子”主题中(文件中的任何位置?),然后我创建另一个菜单,在“logged\\u user”和“new\\u user”的位置输入菜单的名称?

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

我只是为我正在工作的一个网站做这件事。首先,我在函数中注册了2个菜单。php:

add_action(\'init\',\'kia_menus\');

function kia_menus(){

    register_nav_menus( array(\'primary-menu\' => __( \'Primary Menu for Logged In Users\', \'kia_theme\' ), 
            \'primary-loggedout\' => __( \'Primary Menu for Logged Out Visitors\', \'kia_theme\')
                                    ));
}
然后,我希望根据用户的状态显示1菜单的位置(可能在header.php中,但取决于您的主题):

if( !is_user_logged_in() ){
    wp_nav_menu( array( \'theme_location\' => \'primary-loggedout\' ) );
} else {
    wp_nav_menu( array( \'theme_location\' => \'primary-menu\' ) );
}

结束