html 注销 按钮,用户登录/注销时隐藏/替换菜单项

拼搏现实的明天。 2022-10-10 11:20 394阅读 0赞

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

我将如何去做呢?我仍然是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’ ) );

}

我知道这是不正确的。

b005d2b38a17047331e2e4836d739626.png

#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 条评论,394人围观)

还没有评论,来说两句吧...

相关阅读