【用户登录/注销时隐藏/替换菜单项】我希望能够在用户注销时隐藏甚至替换”
我的帐户”
按钮, 并且希望在用户登录时隐藏或替换”
注册”
按钮。
我将如何去做呢?我仍然是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;
}
在样式表中隐藏适当条件下的那些元素。
推荐阅读
- 在首页隐藏WooCommerce storefront
- 标题菜单失去CSS样式
- 标头和导航缩放问题
- 在WordPress插件中添加Bootstrap时遇到麻烦
- WordPress中自定义帖子类型的硬代码自定义字段
- Gutenberg自定义元数据块未将元数据保存为自定义帖子类型
- gulp 4不更新CSS和JS
- Frida 实现 Hook 功能的强大能力
- C语言进阶付费知识