问题描述
如何使用 class="right"
属性添加主导航菜单的链接?
我试图添加一个静态链接到 example.com/wp-logout.php?action=logout
,但这导致一个注销确认页面。有没有办法使它成为注销链接?
最佳解决方案
您可以使用 wp_nav_menu_items
钩子来实现。我们来看看下面的代码,它显示了 primary
菜单位置上的登录/注销链接。
add_filter( 'wp_nav_menu_items', 'wti_loginout_menu_link', 10, 2 );
function wti_loginout_menu_link( $items, $args ) {
if ($args->theme_location == 'primary') {
if (is_user_logged_in()) {
$items .= '<li class="right"><a href="'. wp_logout_url() .'">'. __("Log Out") .'</a></li>';
} else {
$items .= '<li class="right"><a href="'. wp_login_url(get_permalink()) .'">'. __("Log In") .'</a></li>';
}
}
return $items;
}
这是我们在上面的例子中实现的。
-
首先为
wp_nav_menu_items
钩子添加了一个过滤器,并附加了一个功能。 -
检查
primary
主题位置后,我们检查了用户是否登录。 -
如果登录,我们已经显示
Log Out
链接否则Log In
链接。 -
我们已将当前查看页面的固定链接传递给登录网址,以便成功登录后用户将被重定向到当前页面。
-
我们将
class="right"
用于上述代码以满足您的要求。
您可以在此 blog 上找到详细的说明。
次佳解决方案
尝试添加自定义链接与 http://example.com/wp-login.php?action=logout 它为我工作!
参考文献
注:本文内容整合自 Google/Baidu/Bing 辅助翻译的英文资料结果。如果您对结果不满意,可以加入我们改善翻译效果:薇晓朵技术论坛。