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 相关文章推荐
用cookies来跟踪识别用户
Oct 09 PHP
检查url链接是否已经有参数的php代码 添加 ? 或 &amp;
Feb 09 PHP
调整优化您的LAMP应用程序的5种简单方法
Jun 26 PHP
shopex中集成的站长统计功能的代码简单分析
Aug 11 PHP
php中长文章分页显示实现代码
Sep 29 PHP
php实现根据url自动生成缩略图的方法
Sep 23 PHP
php简单实现MVC
Feb 05 PHP
ThinkPHP里用U方法调用js文件实例
Jun 18 PHP
php采集神器cURL使用方法详解
Feb 19 PHP
php正则去除网页中所有的html,js,css,注释的实现方法
Nov 03 PHP
常用PHP封装分页工具类
Jan 14 PHP
CodeIgniter框架数据库基本操作示例
May 24 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
用IE远程创建Mysql数据库的简易程序
2006/10/09 PHP
解析PHP中intval()等int转换时的意外异常情况
2013/06/21 PHP
PHP统计二维数组元素个数的方法
2013/11/12 PHP
Laravel框架学习笔记(一)环境搭建
2014/10/15 PHP
jQuery 树形结构的选择器
2010/02/15 Javascript
jquery判断checkbox(复选框)是否被选中的代码
2010/10/20 Javascript
原生Js与jquery的多组处理, 仅展开一个区块的折叠效果
2011/01/09 Javascript
Node.js实现的简易网页抓取功能示例
2014/12/05 Javascript
jQuery实现自定义下拉列表
2015/01/05 Javascript
微信小程序 教程之事件
2016/10/18 Javascript
如何使用JS在HTML中自定义字符串格式化
2017/07/20 Javascript
ES6中字符串string常用的新增方法小结
2017/11/07 Javascript
vue iView 上传组件之手动上传功能
2018/03/16 Javascript
webpack4与babel配合使es6代码可运行于低版本浏览器的方法
2018/10/12 Javascript
vue-cli中安装方法(图文详细步骤)
2018/12/12 Javascript
通过Kettle自定义jar包供javascript使用
2020/01/29 Javascript
浅谈JavaScript中等号、双等号、 三等号的区别
2020/08/06 Javascript
python3之微信文章爬虫实例讲解
2017/07/12 Python
Python使用pymongo模块操作MongoDB的方法示例
2018/07/20 Python
PYQT5设置textEdit自动滚屏的方法
2019/06/14 Python
Python 如何优雅的将数字转化为时间格式的方法
2019/09/26 Python
python对Excel按条件进行内容补充(推荐)
2019/11/24 Python
在django中使用apscheduler 执行计划任务的实现方法
2020/02/11 Python
Python pip使用超时问题解决方案
2020/08/03 Python
python3 使用ssh隧道连接mysql的操作
2020/12/05 Python
美国户外烹饪产品购物网站:Outdoor Cooking
2020/01/10 全球购物
C++的几个面试题附答案
2016/08/03 面试题
车间工艺员岗位职责
2013/12/09 职场文书
会计系个人求职信范文分享
2013/12/20 职场文书
2014厂务公开实施方案
2014/02/17 职场文书
法人授权委托书范本
2014/04/04 职场文书
社会实践评语
2014/04/28 职场文书
文明美德伴我成长演讲稿
2014/05/12 职场文书
党员群众路线个人整改措施思想汇报
2014/10/12 职场文书
婚礼双方父亲致辞
2015/07/27 职场文书
go 原生http web 服务跨域restful api的写法介绍
2021/04/27 Golang