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) 或自定義模板中呼叫。

圖說 WordPress 選單

圖說WordPress選單