个性化阅读
专注于IT技术分析

用户登录/注销时隐藏/替换菜单项

我希望能够在用户注销时隐藏甚至替换”我的帐户”按钮, 并且希望在用户登录时隐藏或替换”注册”按钮。

我将如何去做呢?我仍然是WordPress的业余爱好者, 并且仍在学习中, 这是到目前为止nav-menus.php文件中的内容。

if( is_user_logged_in() ) {
    wp_nav_menu( array( 'My Account' => 'logged-users' ) );
} else {
    wp_nav_menu( array( 'Registration' => 'not-logged-users' ) );
}

我知道这是不正确的。

在此处输入图片说明

#1


首先, 你需要创建两个菜单, 转到外观»菜单, 创建已登录和已注销的两个菜单。

创建菜单后, 将此代码添加到主题的functions.php文件或特定于站点的插件中:

function my_wp_nav_menu_args( $args = '' ) {

if( is_user_logged_in() ) { 
    $args['menu'] = 'logged-in'; //This value stands for the actual name you give to the menu when you create it.
} else { 
    $args['menu'] = 'logged-out';
} 
    return $args;
}
add_filter( 'wp_nav_menu_args', 'my_wp_nav_menu_args' );
}

就这样。


#2


如果只需要隐藏它们, 那么我主要是通过CSS来完成的。当有一个已登录的用户时, WP将已登录的类添加到body元素中, 因此你可以使用该类以不同的方式格式化body内的元素。

通过管理后端将类添加到你的菜单项中, 例如, “隐藏时登录”和”隐藏时未登录”。

那你可以用

body.logged-in .hide-when-logged-in, body:not(logged-in) .hide-when-not-logged-in {
  display: none;
}

在样式表中隐藏适当条件下的那些元素。

赞(0)
未经允许不得转载:srcmini » 用户登录/注销时隐藏/替换菜单项

评论 抢沙发

评论前必须登录!