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