問題描述
如何使用 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;
}
這是我們在上面的例子中實現的。
-
首先為
wp_nav_menu_items鉤子新增了一個過濾器,並附加了一個功能。 -
檢查
primary主題位置後,我們檢查了使用者是否登入。 -
如果登入,我們已經顯示
Log Out連結否則Log In連結。 -
我們已將當前檢視頁面的固定連結傳遞給登入網址,以便成功登入後使用者將被重定向到當前頁面。
-
我們將
class="right"用於上述程式碼以滿足您的要求。
您可以在此 blog 上找到詳細的說明。
次佳解決方案
嘗試新增自定義連結與 http://example.com/wp-login.php?action=logout 它為我工作!
參考文獻
注:本文內容整合自 Google/Baidu/Bing 輔助翻譯的英文資料結果。如果您對結果不滿意,可以加入我們改善翻譯效果:薇曉朵技術論壇。