WordPress允许登录用户和非登录用户显示不同的菜单。

Wordpress2年前 (2023)发布 SUYEONE
1.8K 0 0

WordPress中,要实现根据用户登录状态在头部导航菜单显示不同菜单项的功能,可以按照以下步骤操作:

1. **创建菜单**:
首先,登录WordPress后台,进入“外观”->“菜单”页面。创建两个新的菜单,分别命名为“登录”和“注销”,并为它们分配相应的菜单项。确保这些菜单项链接到正确的登录和注销页面

2. **确定菜单位置**:
找到你的主题文件夹中的`header.php`,查找`wp_nav_menu()`函数。查看其参数中的`theme_location`值,这将是你需要的菜单位置名称。例如,代码可能如下所示:
“`php
wp_nav_menu( array( ‘theme_location’ => ‘top’, ‘menu_id’ => ‘top-menu’ ) );
“`
如果你不确定,可以查看相关的视频教程以获取帮助,确定菜单位置名称。

3. **编写代码**:
接下来,你需要在当前主题的`functions.php`文件中添加以下代码:
“`php
function ludou_nav_menu_args($args = ”) {
// 将这里的’top’替换为上一步找到的菜单位置名称
if ( $args[‘theme_location’] == ‘top’ ) {
if ( is_user_logged_in() ) {
$args[‘menu’] = ‘登录’; // 请将’登录’替换为已登录菜单的ID
} else {
$args[‘menu’] = ‘注销’; // 请将’注销’替换为未登录菜单的ID
}
}
return $args;
}
add_filter(‘wp_nav_menu_args’, ‘ludou_nav_menu_args’);
“`
这段代码会检查用户是否已登录,然后根据用户的状态选择显示“登录”或“注销”菜单。

4. **保存并测试**:
保存`functions.php`文件,然后访问你的网站以查看更改。现在,头部导航菜单应该会根据用户是否登录显示相应的菜单。

请注意,确保替换代码中的`’top’`为你的实际菜单位置名称,同时替换`’登录’`和`’注销’`为对应的菜单ID。菜单ID可以在“外观”->“菜单”页面中找到,它通常是菜单的名称,但有时可能是自定义的ID。

© 版权声明

相关文章

暂无评论

暂无评论...
☺一键登录开启个人书签等功能!