2016-06-11 55 views
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規則來隱藏相反的菜單項?

還是有更簡單的方法嗎?

回答

1

不是最好的主意,但你可以嘗試。 像「風俗通」

註銷

http://www.example.com/account/customer-logout/

登錄創建可溼性粉劑管理員菜單部分新菜單項,在

http://www.example.com/account/

並添加自定義類向WordPress菜單項來管理可見性 例如,您將在頁面主體上看到「登錄」類,並隱藏「登錄」鏈接或將其更改爲「帳戶」相同的鏈接。

+0

按類講,我假設你是指CSS類?如何根據用戶的登錄狀態動態修改CSS? –

+0

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

+0

哦哇,但我並沒有意識到,當用戶登錄時,主體會自動添加一個.logged-in類。這真是不可思議。好的,這聽起來像是最簡單的方法。我也不確定這是否是最好的想法,但我認爲它比我的頭重定向的想法更好 –