在外观-菜单-显示选项-勾选CSS类
下拉你添加的自定义链接,有个可以填写CSS 类的框,输入login-only-link
然后在主题根目录的functions.php文件,最后面添加
function hide_login_only_link($items, $args) {
// 检查用户是否已登录
if (is_user_logged_in()) {
// 获取当前用户的角色
$user = wp_get_current_user();
$roles = (array) $user->roles;
// 这里可以根据需要修改条件
// 如果用户角色是'administrator'或'editor', 链接将会显示
if (in_array('administrator', $roles) || in_array('editor', $roles)) {
return $items;
}
}
// 遍历菜单项,找到具有指定类名的项并移除它
foreach ($items as $key => $item) {
if (in_array('login-only-link', $item->classes)) {
unset($items[$key]);
}
}
return $items;
}
add_filter('wp_nav_menu_objects', 'hide_login_only_link', 10, 2);
需要注意的是用户角色为:'administrator'或'editor'是直接显示的
该代码的好处是为了让用户登录后更方便进入指定页面