问题描述

如何使用 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;
}

这是我们在上面的例子中实现的。

  1. 首先为 wp_nav_menu_items 钩子添加了一个过滤器,并附加了一个功能。

  2. 检查 primary 主题位置后,我们检查了用户是否登录。

  3. 如果登录,我们已经显示 Log Out 链接否则 Log In 链接。

  4. 我们已将当前查看页面的固定链接传递给登录网址,以便成功登录后用户将被重定向到当前页面。

  5. 我们将 class="right"用于上述代码以满足您的要求。

您可以在此 blog 上找到详细的说明。

次佳解决方案

尝试添加自定义链接与 http://example.com/wp-login.php?action=logout 它为我工作!

参考文献

注:本文内容整合自 Google/Baidu/Bing 辅助翻译的英文资料结果。如果您对结果不满意,可以加入我们改善翻译效果:薇晓朵技术论坛。