大多数WordPress主题都支持在后台-外观-菜单中设置网站的菜单,你可以创建多个菜单,并分别为每个菜单设置菜单项。
WordPress目前有这样一个需求:在网站的头部有一个导航菜单,希望在这个位置为登录和注销的用户显示不同的菜单项。如何才能实现?WordPress为我们提供了过滤器wp_nav_menu_args,可以在菜单显示之前改变wp_nav_menu函数的参数。具体来说,我们可以做到这一点:
1.创建两个菜单。
首先进入WordPress的后台-外观-菜单,创建两个菜单,分别设置名称为:登录和注销,并为这两个菜单分配不同的菜单项。
2.确定菜单位置名称。
在开始下一步之前,我们需要知道菜单位置的名称,也就是theme_location参数的值。用文本编辑器打开当前主题目录中的header.php,搜索wp_nav_menu找到这个值。代码一般有这么长:
//theme _ location后面的顶是WP _ nav _ menu的值(array(‘ theme _ location ‘ = >;top ‘,’ menu _ id ‘ = & gttop -菜单’));如果真的不知道代码,可以看看视频教程提供的简单方法:确定菜单位置名。
3.添加执行代码。
最后,将以下代码添加到当前主题的functions.php中:
function ludou _ nav _ menu _ args($ args = ‘ ‘){/下面顶部改为菜单位置名if($ args & # 091;theme _ location ‘]= = ‘ top ‘){ if(is _ user _ logged _ in()){ $ args & # 091;菜单’] = ‘已登录’;} else { $ args & # 091菜单’] = ‘未登录’;} } return $ args} add_filter(‘wp_nav_menu_args ‘,’ ludou _ nav _ menu _ args ‘);