WordPress将登录/注销添加到菜单编辑器
Posted
技术标签:
【中文标题】WordPress将登录/注销添加到菜单编辑器【英文标题】:WordPress add Login/Logout to menu editor 【发布时间】:2016-10-12 11:05:35 【问题描述】:好的,所以我找到了这段代码,并对其进行了修改以满足我的需要。顺便说一句,我正在使用 WooCommerce,它解释了某些函数调用中的“wc”:
//Add login/logout link to primary menu
add_filter( 'wp_nav_menu_items', 'add_loginout_link', 10, 2 );
function add_loginout_link( $items, $args )
if (is_user_logged_in() && $args->theme_location == 'primary')
$items .= '<li><a href="'. wc_get_endpoint_url( 'customer-logout', '', wc_get_page_permalink( 'myaccount' ) ) .'">Log Out</a></li>';
elseif (!is_user_logged_in() && $args->theme_location == 'primary')
$items .= '<li><a href="'. wc_get_page_permalink( 'myaccount' ) .'">Log In</a></li>';
return $items;
这会添加登录/注销菜单项,它们可以正常工作。但是,它们目前停留在菜单的末尾。我希望能够使用 wp-admin 中的编辑器来编辑职位。我想到的解决方案可能只是创建登录和注销页面,并使用标题位置重定向以及其中的这些代码行来获取正确的 URL,但我看到的问题是总会有一个登录项和注销,无论用户当前处于什么状态。是否有办法根据登录状态动态添加站点范围的 CSS 规则来隐藏相反的菜单项?
或者有没有更简单的方法?
【问题讨论】:
【参考方案1】:不是最好的主意,但您可以尝试。 在 wp-admin 菜单部分创建新菜单项,如“自定义链接”
退出
http://www.example.com/account/customer-logout/
登录
http://www.example.com/account/
并向 WordPress 菜单项添加自定义类以管理可见性 例如,您将在页面正文中看到“登录”类,并隐藏“登录”链接或将其更改为具有相同链接的“帐户”。
【讨论】:
按类,我假设您的意思是 CSS 类?如何根据用户的登录状态动态修改 CSS? CSS 类。像这样添加类 link 并且您可以对 CSS 进行操作(隐藏 LogOut 或 LogIn) 例如:在 LogIn 项中添加类“user-guest”并在 CSS 中添加 .logged-in .user-guest display:none;所以登录的用户不会看到登录按钮 哇哦,我没有意识到当用户登录时,body 会自动添加一个 .logged-in 类。这太不可思议了。好的,这听起来绝对是最简单的方法。我也不确定这是否是最好的主意,但我认为它比我的标题重定向更好以上是关于WordPress将登录/注销添加到菜单编辑器的主要内容,如果未能解决你的问题,请参考以下文章
在菜单中使用 UserPro 登录和注销 WordPress