0
好吧,所以我找到了這個代碼,我修改了這個代碼,以適應我的需要。順便說一句,我使用的WooCommerce,這也解釋了「WC」中的一些功能的調用:WordPress添加登錄/註銷菜單編輯器
//Add login/logout link to primary menu
add_filter('wp_nav_menu_items', 'add_loginout_link', 10, 2);
function add_loginout_link($items, $args) {
if (is_user_logged_in() && $args->theme_location == 'primary') {
$items .= '<li><a href="'. wc_get_endpoint_url('customer-logout', '', wc_get_page_permalink('myaccount')) .'">Log Out</a></li>';
}
elseif (!is_user_logged_in() && $args->theme_location == 'primary') {
$items .= '<li><a href="'. wc_get_page_permalink('myaccount') .'">Log In</a></li>';
}
return $items;
這增加了登錄/註銷菜單項,和他們很好地工作。但是,他們現在被困在菜單的末尾。我希望能夠使用wp-admin中的編輯器編輯位置。我想到的解決方案可能只是創建登錄頁面和註銷頁面,並使用標題位置重定向到其中的代碼行以獲取正確的URL,但我看到的問題是總會有一個登錄項並註銷,無論用戶目前處於什麼狀態。是否可能有辦法根據登錄狀態動態地添加站點範圍的CSS規則來隱藏相反的菜單項?
還是有更簡單的方法嗎?
按類講,我假設你是指CSS類?如何根據用戶的登錄狀態動態修改CSS? –
CSS類。 添加這樣的類[鏈接](http://sevenspark.com/how-to/how-to-add-a-custom-class-to-a-wordpress-menu-item) 你可以在CSS上操作(隱藏LogOut或登錄) 例如:登錄項目添加類「用戶 - 客人」和在CSS添加。在.user-guest {display:none;}登錄用戶將不會看到登錄按鈕 – dkruchok
哦哇,但我並沒有意識到,當用戶登錄時,主體會自動添加一個.logged-in類。這真是不可思議。好的,這聽起來像是最簡單的方法。我也不確定這是否是最好的想法,但我認爲它比我的頭重定向的想法更好 –