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

Ourboke
Ourboke
Ourboke
403
文章
103
评论
2021年2月2日11:04:15
评论
32 875字

最近有童鞋好奇,如何让登录用户显示不同的 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' );

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

Ourboke
  • 本文由 发表于 2021年2月2日11:04:15
  • 转载请务必保留本文链接:https://www.ourboke.com/1955.html
WordPress 该如何防御DDOS攻击 WordPress

WordPress 该如何防御DDOS攻击

WordPress如何防御DDOS攻击?我们都知道不管是什么语言的建站都难避免被攻击的伤害。特别是DDOS攻击,那么该如何防御呢?在这之前我们应该先弄清楚什么是DDOS! WordPress 该如何防...
WordPress 登录后如何查看网站 WordPress

WordPress 登录后如何查看网站

WordPress 登录后如何查看网站,如网站内容只希望注册用户浏览,对其他所有人隐藏,浏览者未登录访问直接跳转到登录注册页面。但如果不是,则可以用下面的代码实现! WordPress 登录后如何查看...
如何手动开启 WordPress 站点维护模式 WordPress

如何手动开启 WordPress 站点维护模式

我们在平时更新程序或插件中,WordPress前端会显示处于维护模式,在这时,如果想临时启用维护模式,让用户知道你的站点在维护中,可以通过下面的代码实现。 如何手动开启 WordPress 站点维护模...
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: