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 相关文章推荐
php下连接mssql2005的代码
Jan 17 PHP
phpmyadmin3 安装配置图解教程
Mar 29 PHP
浅析虚拟主机服务器php fsockopen函数被禁用的解决办法
Aug 07 PHP
PHP中使用memcache存储session的三种配置方法
Apr 05 PHP
PHP 只允许指定IP访问(允许*号通配符过滤IP)
Jul 08 PHP
PHP队列用法实例
Nov 05 PHP
php文件扩展名判断及获取文件扩展名的N种方法
Sep 12 PHP
PHP函数shuffle()取数组若干个随机元素的方法分析
Apr 02 PHP
php判断是否为ajax请求的方法
Nov 29 PHP
php封装db类连接sqlite3数据库的方法实例
Dec 19 PHP
原生JS实现Ajax通过GET方式与PHP进行交互操作示例
May 12 PHP
thinkphp5实现微信扫码支付
Dec 23 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函数解决SQL injection
2006/12/09 PHP
开源SNS系统-ThinkSNS
2008/05/18 PHP
php使用qr生成二维码的示例分享
2014/01/20 PHP
php实现将字符串按照指定距离进行分割的方法
2015/03/14 PHP
php微信公众号开发之现金红包
2018/04/16 PHP
jQuery extend 的简单实例
2013/09/18 Javascript
js传参数受特殊字符影响错误的解决方法
2013/10/21 Javascript
JS复制到剪贴板示例代码
2013/10/30 Javascript
js确认删除对话框适用于a标签及submit
2014/07/10 Javascript
jQuery实现点击该行即可删除HTML表格行
2014/10/17 Javascript
Nodejs抓取html页面内容(推荐)
2016/08/11 NodeJs
AngularJS中过滤器的使用与自定义实例代码
2016/09/17 Javascript
详解webpack与SPA实践之开发环境搭建
2017/12/18 Javascript
浅析vue深复制
2018/01/29 Javascript
vue和webpack安装命令详解
2018/06/15 Javascript
[02:49]2014DOTA2电竞也是体育项目! 势要把荣誉带回中国!
2014/07/20 DOTA
深入理解Python中各种方法的运作原理
2015/06/15 Python
详解Django缓存处理中Vary头部的使用
2015/07/24 Python
python简单实现刷新智联简历
2016/03/30 Python
PyQt5每天必学之事件与信号
2018/04/20 Python
Python3单行定义多个变量或赋值方法
2018/07/12 Python
python判断一个数是否能被另一个整数整除的实例
2018/12/12 Python
python pickle存储、读取大数据量列表、字典数据的方法
2019/07/07 Python
python requests库爬取豆瓣电视剧数据并保存到本地详解
2019/08/10 Python
python并发爬虫实用工具tomorrow实用解析
2019/09/25 Python
python将下载到本地m3u8视频合成MP4的代码详解
2020/11/24 Python
《绿色蝈蝈》教学反思
2014/03/02 职场文书
工程项目建议书范文
2014/03/12 职场文书
婚礼答谢宴主持词
2014/03/14 职场文书
读书小明星事迹材料
2014/05/03 职场文书
工作经常出错的检讨书
2014/09/13 职场文书
县政府领导班子“四风”方面突出问题整改措施
2014/09/23 职场文书
成品仓库管理员岗位职责
2015/04/09 职场文书
学雷锋献爱心倡议书
2015/04/27 职场文书
读《人生的智慧》有感:闲暇是人生的精华
2019/12/25 职场文书
详解Node.js如何处理ES6模块
2021/05/15 Javascript