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

【用户登录/注销时隐藏/替换菜单项】我希望能够在用户注销时隐藏甚至替换” 我的帐户” 按钮, 并且希望在用户登录时隐藏或替换” 注册” 按钮。
我将如何去做呢?我仍然是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; }

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

    推荐阅读