WordPress中注册菜单与调用菜单的方法详解


Posted in PHP onDecember 18, 2015

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

PHP 相关文章推荐
做个自己站内搜索引擎
Oct 09 PHP
修改了一个很不错的php验证码(支持中文)
Feb 14 PHP
MySQL GBK→UTF-8编码转换
May 24 PHP
PHP扩展编写点滴 技巧收集
Mar 09 PHP
php imagecreatetruecolor 创建高清和透明图片代码小结
May 15 PHP
深入PHP中的HashTable结构详解
Jun 13 PHP
php网页标题中文乱码的有效解决方法
Mar 05 PHP
Yii核心组件AssetManager原理分析
Dec 02 PHP
PHP调用.NET的WebService 简单实例
Mar 27 PHP
PHP实现绘制二叉树图形显示功能详解【包括二叉搜索树、平衡树及红黑树】
Nov 16 PHP
PHP的mysqli_thread_id()函数讲解
Jan 24 PHP
laravel实现简单用户权限的示例代码
May 28 PHP
讲解WordPress开发中一些常用的debug技巧
Dec 18 #PHP
详解WordPress中给链接添加查询字符串的方法
Dec 18 #PHP
WordPress中用于更新伪静态规则的PHP代码实例讲解
Dec 18 #PHP
详解WordPress中用于合成数组的wp_parse_args()函数
Dec 18 #PHP
WordPress中用于获取文章信息以及分类链接的函数用法
Dec 18 #PHP
解决ThinkPHP下使用上传插件Uploadify浏览器firefox报302错误的方法
Dec 18 #PHP
详解 PHP加密解密字符串函数附源码下载
Dec 18 #PHP
You might like
php 输出双引号&quot;与单引号'的方法
2010/05/09 PHP
php对关联数组循环遍历的实现方法
2015/03/13 PHP
php 数据结构之链表队列
2017/10/17 PHP
PHP快速排序算法实现的原理及代码详解
2019/04/03 PHP
laravel框架使用FormRequest进行表单验证,验证异常返回JSON操作示例
2020/02/18 PHP
获取dom元素那些讨厌的位置封装代码
2010/06/23 Javascript
Jquery实现仿腾讯微博发表广播
2014/11/17 Javascript
node.js中的fs.link方法使用说明
2014/12/15 Javascript
浅谈JavaScript Array对象
2014/12/29 Javascript
firefox浏览器用jquery.uploadify插件上传时报HTTP 302错误
2015/03/01 Javascript
jquery+json实现分页效果
2016/03/07 Javascript
js 获取元素所有兄弟节点的实现方法
2016/09/06 Javascript
javascript中apply/call和bind的使用
2017/02/15 Javascript
关于在vue 中使用百度ueEditor编辑器的方法实例代码
2018/09/14 Javascript
深入理解与使用keep-alive(配合router-view缓存整个路由页面)
2018/09/25 Javascript
layui弹出框Tab选项卡的示例代码
2019/09/04 Javascript
Python定时执行之Timer用法示例
2015/05/27 Python
Python入门教程之运算符与控制流
2016/08/17 Python
Python入门_学会创建并调用函数的方法
2017/05/16 Python
对pytorch网络层结构的数组化详解
2018/12/08 Python
selenium+python自动化测试之页面元素定位
2019/01/23 Python
python将字符串list写入excel和txt的实例
2019/07/20 Python
Python的轻量级ORM框架peewee使用教程
2021/02/05 Python
借助HTML5 Canvas来绘制三角形和矩形等多边形的方法
2016/03/14 HTML / CSS
美国在线面料商店:Online Fabric Store
2018/07/26 全球购物
大学生个人求职信范文
2013/09/21 职场文书
企业治理工作自我评价
2013/09/26 职场文书
应届毕业生个人自荐信范文
2013/11/30 职场文书
优秀家长自荐材料
2014/08/26 职场文书
政协会议宣传标语
2014/10/09 职场文书
王兆力在市委党的群众路线教育实践活动总结大会上的讲话稿
2014/10/25 职场文书
2015年招生工作总结
2015/05/04 职场文书
乱世佳人观后感
2015/06/08 职场文书
2015双创工作总结
2015/07/24 职场文书
《悲惨世界》:比天空更广阔的是人的心灵
2020/01/16 职场文书
HTML+CSS 实现顶部导航栏菜单制作
2021/06/03 HTML / CSS