你想在WordPress中向登錄的用戶顯示不同的功能表嗎?
默認情況下,WordPress允許你在你的主題中的特定位置顯示相同的導航功能表。 但是,如果你想在你的網站上向登錄的用戶顯示不同的功能表呢?
在這篇文章中,我們將告訴你如何在WordPress中輕鬆地向登錄的用戶顯示不同的功能表。
為什麼在WordPress中向登錄的用戶顯示不同的功能表?
根據你的訪客和他們的活動來改變你的WordPress網站的不同區域,使你的網站對每個使用者都有個人化的感覺。
這種個人化的內容有助於你提高你的WordPress網站的用戶體驗。
現在,如果你經營的網站的使用者不需要註冊或登錄,那麼你可能可以在你的網站上使用相同的導航功能表。
然而,其他網站可能會從向登錄用戶顯示自定義功能表中大大受益。
例如,像在線商店、WordPress會員網站社區或在線學習平台等網站,都可以從個人化的導航功能表中受益。
為登錄使用者提供的個人化導航功能表可以幫助他們更容易找到他們註冊的東西。
例如,一個在線商店的使用者可以管理他們的帳戶,或者一個付費社區的成員可以很容易地更新他們的訂閱或查看他們購買的在線課程。
在默認情況下,WordPress確實允許你創建你想要的許多導航功能表。 然而,你只能選擇在你的WordPress主題的特定位置顯示一個功能表。
既然如此,讓我們來看看如何輕鬆地改變這種行為,在WordPress中向登錄的用戶顯示不同的功能表。
- 使用外掛程式在WordPress中向登錄的用戶顯示不同的功能表
- 在WordPress中使用代碼手動選擇登錄的功能表
在WordPress中為已登錄和未登錄的用戶創建功能表
無論你使用哪種方法,你首先需要創建你想顯示給登錄使用者和非登錄使用者的兩個導航功能表。
只需前往WordPress儀錶板中的 「外觀」 Menus頁面。 如果你已經有一個導航功能表,你在你的網站上為所有使用者使用,那麼這可以是你的默認功能表。
![](https://www.xiaolikt.com/storage/2022/07/mainmenu.png)
之後,點擊 「創建一個新功能表 」連結,為你的登錄用戶創建一個新的自定義功能表。
在這裡你可以添加你想顯示給註冊或登錄使用者的功能表專案。 例如,你可能想在你的功能表中添加一個註銷連結。
在屏幕的左側,你可以看到你的網站頁面的清單。 只需勾選任何你想添加到你的功能表的頁面旁邊的方框,然後點擊 「添加到功能表」按鈕。
![](https://www.xiaolikt.com/storage/2022/07/loggedin-menu.png)
你也可以拖放螢幕右側的功能表專案來重新排列它們。
再往下看,你可以選擇一個位置來顯示你的功能表。 但是,你現在不需要給這個功能表指定一個位置。 我們將在文章的後面做這件事。
不要忘記點擊 「保存功能表 」按鈕來存儲你的變化。
方法1. 使用外掛程式向WordPress中的登錄用戶顯示不同的功能表
這個方法比較簡單,推薦給所有的WordPress使用者。
首先,你需要安裝並啟動 “Conditional Menus “外掛程式。
啟動后,你需要訪問外觀 「功能表頁面,並切換到 」管理位置 「標籤」。
從這裡,你會看到在你的WordPress主題中定義的可用功能表位置清單,以及當前顯示的功能表。
![](https://www.xiaolikt.com/storage/2022/07/manage-menu-loctions.png)
例如,它顯示我們的主功能表位置正在顯示一個名為 「Main Menu」的導航功能表。
現在,我們需要告訴該外掛程式,當某個條件被滿足時,顯示一個不同的功能表。
要做到這一點,請點擊 「+Conditional Menu 」連結,然後從下拉功能表中選擇你想顯示給登錄用戶的導航功能表。
![](https://www.xiaolikt.com/storage/2022/07/select-conditional-menu.png)
接下來,你需要點擊 “+Conditions ”連結。
這將帶來一個彈出視窗,你會看到一堆條件可供選擇。
![](https://www.xiaolikt.com/storage/2022/07/loggedin-user.png)
只需勾選 「User logged in」選項旁邊的方框,然後點擊保存按鈕。
現在你可以訪問你的網站,看到登錄后的使用者功能表在運行。 你也可以註銷你的WordPress管理員,查看將顯示給所有其他使用者的導航功能表。
![](https://www.xiaolikt.com/storage/2022/07/different-menu-login-users.png)
方法2. 用代碼手動選擇WordPress中的登錄功能表
這個方法需要你在你的WordPress網站上添加代碼。 首先,你需要在主題檔functions.php添加以下代碼
function my_wp_nav_menu_args( $args = '' ) {
if( is_user_logged_in() ) {
// Logged in menu to display
$args['menu'] = 43;
} else {
// Non-logged-in menu to display
$args['menu'] = 35;
}
return $args;
}
add_filter( 'wp_nav_menu_args', 'my_wp_nav_menu_args' );
請確保用你之前創建的導航功能表的ID替換43和35。
你可以在功能表頁面上選擇一個導航功能表的ID,找到它。 你會在瀏覽器的位址欄中看到功能表的ID號。
![](https://www.xiaolikt.com/storage/2022/07/find-menu-id.png)