2015-05-21 47 views
2

我正在使用名爲「UserPro」的插件。我也在我的菜單中使用一個功能來顯示「登錄」或登錄「註銷」。WordPress登錄並使用菜單中的UserPro註銷

function autov_add_loginout_navitem($items) { 
    $login_item = '<li class="login">'.wp_loginout($_SERVER['REQUEST_URI'], false).'</li>'; 
    $items .= $login_item; 
    return $items; 
} 
add_filter('wp_nav_menu_account_items', 'autov_add_loginout_navitem'); 

插件有一個很短的代碼

<?php echo do_shortcode('[userpro template=login]'); ?> 

我怎樣才能在第一代碼實現這一點?

(這放在裏面的functions.php在我的孩子主題)

回答

0

這簡碼需要在一個頁面。創建一個頁面並添加短代碼。從那裏你可以鏈接到登錄頁面。註銷鏈接將保持不變。

function autov_add_loginout_navitem($items) { 
    $format = '<a href="%s">%s</a>'; 
    $link = is_user_logged_in() 
     ? sprintf($format, wp_logout_url(), 'Logout') 
     : sprintf($format, home_url('login'), 'Login'); 
    $login_item = '<li class="login">'.$link.'</li>'; 
    $items .= $login_item; 
    return $items; 
} 
add_filter('wp_nav_menu_account_items', 'autov_add_loginout_navitem'); 

上面的例子假設你已經創建了一個頁面與塞login並添加您的簡碼出現。請注意,wp_logout_url函數可以將重定向鏈接作爲參數,如果要在註銷後將某個用戶發送到某個位置,則應該指定該參數。

+0

工作完美非常感謝你! – Strings

0

我搜索了一個解決這個長一段時間,但我不能讓上面的代碼爲我工作,所以我會分享我的人解決誰需要一個快速解決方案,如果你不能得到的代碼工作:

創建「登錄」和「註銷」頁面,並添加簡碼[userpro模板=登錄]兩個網頁。

安裝的WordPress插件 「nav menu roles」。一旦它被激活,去外觀>菜單。將頁面'登錄'和'註銷'添加到菜單中。

在'登錄'菜單項上,將「顯示模式」設置爲「註銷用戶」。 使'註銷'菜單項「顯示模式」設置爲「登錄用戶」。

當您的訪問者點擊導航登錄,他們將被引導到一個頁面輸入用戶名和密碼。當他們點擊註銷時,他們會自動註銷並返回到您的主頁。