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 菜單
