WordPress 原生的選單系統非常強大,基本可以滿足建站需要,不用再安裝其它外掛了。本文主要介紹如何建立 WordPress 選單,WordPress 選單的高階用法,並簡單看一下選單相關的程式碼。
如何建立選單
訪問儀表盤-> 外觀-> 選單,開啟選單介面。要使一個選單生效,你只需要注意兩個地方。
一、螢幕右側建立選單的地方,點選加號就可以建立一個新的選單,選單的名字只是用來區分選單的,不會在前臺顯示出來。
二、選單位置,例如新建立的選單應該放在頁首還是頁尾,或者是側欄?必須為選單指定一個位置,選單才能在前臺顯示。
建立選單的方法很簡單:
1. 透過螢幕右側的新增選單按鈕,將頁面或分類新增到選單裡。
2. 用拖拽的方式改變選單的順序,控制選單的層級關係。 WordPress 允許你建立 2 層、 3 層甚至無數層選單,只要你的主題支援。
3. 點選 「儲存選單」 儲存你的選單專案,點選 「主題位置」 處的 「儲存」 按鈕讓選單位置生效。
高階應用
WordPress 選單隱藏了一些功能,如果你想控制選單更多的屬性,不妨點選螢幕右上角的顯示選項,讓隱藏的功能都顯示出來,隱藏的功能允許你:
- 可以選擇更多的選單專案種類,例如標籤和文章。
- 給某個選單項新增 class,透過 css 是這個選單項與眾不同;
- 透過連結關係關係網 (XFN) 給選單新增 rel 屬性,例如不想搜尋引擎跟隨這個選單,可以為其新增 rel="nofllow"屬性。
- 控制選單開啟方式,在新視窗開啟 (target="_blank") 或在當前視窗開啟。
- 如何在主題中建立新的選單
要新增新的選單,只需要兩個步驟
1. 在當前主題的 functions.php 中註冊一個新的選單,例如 twentyeleven 主題中的選單是這樣註冊的 (functions.php line 101)
1
2
3
4
5
6
7
8
|
add_action( 'after_setup_theme' , 'twentyeleven_setup' ); if ( ! function_exists( 'twentyeleven_setup' ) ): function twentyeleven_setup() { //其它程式碼 // This theme uses wp_nav_menu() in one location. register_nav_menu( 'primary' , __( 'Primary Menu' , 'twentyeleven' ) ); } endif ; // twentyeleven_setup |
register_nav_menu()函式是用來註冊選單位置的,有了位置,就可以往這個位置分配自己在後臺建立的選單了。
2. 定義了一個選單位置,那麼這個位置究竟在哪裡呢,還要寫程式碼告訴主題。在 twentyeleven 的 header.php 中,可以找到呼叫這個選單的程式碼
1
2
|
/* Our navigation menu. If one isn't filled out, wp_nav_menu falls back to wp_page_menu. The menu assiged to the primary position is the one used. If none is assigned, the menu with the lowest ID is used. */ ?> <?php wp_nav_menu( array ( 'theme_location' => 'primary' ) ); ?> |
我們建立的選單位置叫 primary,所以用 wp_nav_menu()函式呼叫時,只需要告訴函式選單的位置名稱是什麼就可以了。
你可以按照上面的步驟建立多個選單位置,可以在側欄 (sidebar.php) 、頁尾 (footer.php) 或自定義模板中呼叫。