程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> PHP綜合 >> WordPress中注冊菜單與調用菜單的方法詳解

WordPress中注冊菜單與調用菜單的方法詳解

編輯:PHP綜合

register_nav_menus()(注冊菜單)
register_nav_menus() 函數用來注冊一個菜單,菜單指的是 WordPress 3.0+ 的菜單管理器,注冊之後用戶就可以在菜單管理器裡拖動生成導航菜單了。

用法

register_nav_menus( $locations );

參數

$locations

(數組)(必須)要注冊的菜單,鍵值為菜單 ID,鍵名為菜單名稱,可以一次創建多個。

默認值:None

返回值

該函數無返回值。

例子

/**
  *建立菜單
  *http://www.endskin.com/register_nav_menus/
*/
function Bing_register_nav_menus(){
  register_nav_menus( array(
    'header_menu' => __( '頂部菜單', 'Bing' ),
    'footer_menu' => __( '頁腳菜單', 'Bing' )
  ));
}
add_action( 'init', 'Bing_register_nav_menus' );

其它

該函數位於:wp-includes/nav-menu.php


wp_nav_menu()(菜單調用)
下面就來說一下怎麼調用用戶添加好後的菜單。

調用菜單主要使用 wp_nav_menu() 函數,wp_nav_menu() 函數的參數比較多,所以功能非常強大,這裡會一個一個的講解。

用法

wp_nav_menu( $args );

參數

參數只有一個 $args,但這是一個數組,通過給數組添加參數,可以定制更多細節,下邊是默認值:


$defaults = array(
  'theme_location' => '',
  'menu'      => '',
  'container'    => 'div',
  'container_class' => '',
  'container_id'  => '',
  'menu_class'   => 'menu',
  'menu_id'     => '',
  'echo'      => true,
  'fallback_cb'   => 'wp_page_menu',
  'before'     => '',
  'after'      => '',
  'link_before'   => '',
  'link_after'   => '',
  'items_wrap'   => '<ul id="%1$s" class="%2$s">%3$s</ul>',
  'depth'      => 0,
  'walker'     => ''
);
wp_nav_menu( $defaults );

詳解:

theme_locaton

(字符串)(可選)要調用的菜單的名字,比如 header_menu,如果沒指定,則默認顯示第一個注冊的菜單。

默認值:None

menu

(字符串)(可選)使用導航菜單的名稱調用菜單,可以是 ID、別名和名字(按順序匹配)。

默認值:None

container

(字符串)(可選)導航菜單的容器類型,只支持 div 和 nav 標簽,如果是其它值,ul 父節點的標簽將不會顯示。也可以設置成 False 去掉 ul 父節點。

默認值:div

container_class

(字符串)(可選)ul 父節點的 class 屬性。

默認值:menu-{menu slug}-container

container_id

(字符串)(可選)ul 父節點的 id 屬性。

默認值:None

menu_class

(字符串)(可選)ul 節點的 class 屬性。

默認值:None

menu_id

(字符串)(可選)ul 節點的 id 屬性。

默認值:菜單別名

echo

(布爾)(可選)返回導航菜單的 Html 代碼還是直接打印輸出,如果你想把導航菜單代碼存到變量裡請設置成 False.

默認值:True(直接打印輸出)

fallback_cb

(回調函數)(可選)後台沒有設置此菜單時默認顯示的內容。

默認值:wp_page_menu

before

(字符串)(可選)顯示在每個菜單鏈接前的文本。

默認值:None

after

(字符串)(可選)顯示在每個菜單鏈接後的文本。

默認值:None

link_before

(字符串)(可選)顯示在每個菜單鏈接文本前的文本。

默認值:None

link_after

(字符串)(可選)顯示在每個菜單鏈接文本後的文本。

默認值:None

items_wrap

(字符串)(可選)替換 ul 的 class 屬性。

默認值:None

depth

(整形)(可選)

顯示菜單的深度,當數值為 0 時顯示所有深度的菜單。

默認值:0

walker

(對象)(可選)菜單的結構對象。

默認值:new Walker_Nav_Menu

例子

<?php wp_nav_menu( array( 'theme_location' => 'header_menu', 'container' => false, 'items_wrap' => '<ul id="topmenu">%3$s</ul>', 'fallback_cb' => 'Bing_menu_null_fallback' ) ); ?>

其它

此函數位於:wp-includes/nav-menu-template.php

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved