How to use WordPress function wp_nav_menu()?
1. Introduction to the wp_nav_menu() function:
After Worpdress developed to 3.0, a custom menu function wp_nav_menu() was added, allowing WordPress to easily create its own navigation menu.
2. How to call the navigation menu (custom menu):
Insert to call the navigation menu, where $args is the parameter of the function, which will be explained in detail later.
Recommended: "WordPress Tutorial"
3. In the wp_nav_menu($args) function, the default value of the parameter $args:
The code is as follows:
<?php $defaults = array( ’theme_location’ => , ’menu’ => , ’container’ => ’div’, ’container_class’ => ’menu-{menu slug}-container’, ’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’ => ); ?>
4. The specific meaning of each parameter in the wp_nav_menu($args) function:
$theme_locaton: (string) (optional)
Default value: None
is used to specify a registered navigation menu name when calling the navigation menu. If not specified, the first one will be displayed.
wp_nav_menu(array( ‘theme_location’ =>’primary’)); //Call the first menu.
$menu: (string)(optional)
Default value: None
Use the name of the navigation menu to call the menu, which can be id, slug, name (press sequence matching).
$container: (string)(optional)
Default value: div
ul The label type of the parent node (here is the container of the navigation menu), only supported div and nav tags, if they are other values, the tag of the ul parent node will not be displayed. You can also use false (container => false) to remove the ul parent node label.
$container_class: (string)(optional)
Default value: menu-{menu slug}-container
ul The class attribute value of the parent node.
$container_id: (string)(optional)
Default value: None
ul The id attribute value of the parent node.
$menu_class: (string)(optional)
Default value: menu
ul The class attribute value of the node.
$menu_id: (string)(optional)
Default value: menu slug, the id attribute value of the self-increasing
ul node.
$echo: (Boolean) (optional)
Default value: true (direct display)
Determine whether to display the navigation menu directly or return an HTML fragment. If you want to The navigation code is used as a value assignment and can be set to false.
$fallback_cb: (string)(optional)
Default value: wp_page_menu (display page list as menu)
Used to be called when navigation is not set in the background Callback.
$before: (string) (optional)
Default value: None
Text to display before each menu link.
$after: (String) (optional)
Default value: None
Text to display after each menu link.
$link_before: (string)(optional)
Default value: None
The text to display before each menu link text.
$link_after: (string) (optional)
Default value: None
The text to display after each menu link text.
$items_wrap: (string)(optional)
Default value: None
Use string replacement to modify the class of ul.
$depth: (integer)(optional)
Default value: 0
Displays the depth of the menu. When the value is 0, all depth menus are displayed.
$walker: (Object type)(optional)
Default value: new Walker_Nav_Menu
Customized traversal object, calling an object definition to display the navigation menu.
5. How to be compatible with the old version of wordpress:
Use the parameter $fallback_cb to achieve compatibility with the old version of wordpress, and write the parameter 'sort_column'=>'menu_order' into wp_nav_menu parameter, then the parameter will also be passed to the call_user_func method. If call_user_func is the wp_page_menu method, then the displayed page list will be output in order of the assigned serial number.
The code is as follows:
if ( ( !$menu || is_wp_error($menu) || ( isset($menu_items) && empty($menu_items) && !$args->theme_location ) ) && ( function_exists($args->fallback_cb) || is_callable( $args->fallback_cb ) ) ) return call_user_func( $args->fallback_cb, (array) $args );</p> <p>// 如果找不到指定菜单, 或者菜单不存在任何条目并没有指定自定义菜单, 使用 call_user_func 方法来进行处理
The above is the detailed content of How to use WordPress function wp_nav_menu(). For more information, please follow other related articles on the PHP Chinese website!