如何让登录用户显示不同的 WordPress 菜单

发布时间:2021-2-02 11:04

最近有童鞋好奇,如何让登录用户显示不同的 WordPress 菜单?这真是每个人的问题都千奇百怪啊!不过还好在鸟哥的网站看到这个方法,如果想让登录用户与未登录浏览者,显示不同的菜单,可以通过下面的代码实现:

登录用户显示不同的WordPress菜单

如何让登录用户显示不同的 WordPress 菜单

将下面代码添加到当前主题函数模板functions.php中:

    if( is_user_logged_in() ) { 
    	$args['menu'] = 'logged-in';
    } else { 
    	$args['menu'] = 'logged-out';
    } 
    	return $args;
    }
    add_filter( 'wp_nav_menu_args', 'wpc_wp_nav_menu_args' );

之后分别新建logged-in和logged-out两个菜单,用于登录状态下和普通浏览者显示的菜单。

如果主题有多个菜单,可以通过下面的代码在指定菜单位置显示不同的菜单:

    function wpc_wp_nav_menu_args( $args = '' ) {
    if( is_user_logged_in()) { 
    	if( 'top-navigation' == $args['theme_location'] ) { // Change top-navigation to theme specific name
    		$args['menu'] = 'logged-in';
    	}
    } else { 
    	if( 'top-navigation' == $args['theme_location'] ) { // Change top-navigation to theme specific name
    		$args['menu'] = 'logged-out';
    	}
    }
    	return $args;
    }
    add_filter( 'wp_nav_menu_args', 'wpc_wp_nav_menu_args' );

也可以利用上面的方法,让不同的用户角色显示不同的菜单内容。

WordPress纯代码实现文章相关推荐功能 WordPress

WordPress纯代码实现文章相关推荐功能

这两天准备把的相关推荐功能进行了重写,将原来的文章相关推荐功能做了自我感觉非常优秀的改进,相比用其它 WordPress 相关文章推荐的插件来说,我更喜欢自己来折腾,经过这一番的重写 WordPres...