問題描述

如何使用 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 輔助翻譯的英文資料結果。如果您對結果不滿意,可以加入我們改善翻譯效果:薇曉朵技術論壇。