問題描述

如何使用 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="http://'.%20wp_logout_url()%20.'">'. __("Log Out") .'</a></li>';
      } else {
         $items .= '<li class="right"><a href="http://'.%20wp_login_url(get_permalink())%20.'">'. __("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 輔助翻譯的英文資料結果。如果您對結果不滿意,可以加入我們改善翻譯效果:薇曉朵技術論壇。