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 curl CURLOPT_RETURNTRANSFER参数的作用使用实例
Feb 07 PHP
Laravel 5框架学习之向视图传送数据
Apr 08 PHP
PHP输入流php://input实例讲解
Dec 22 PHP
WordPress中限制非管理员用户在文章后只能评论一次
Dec 31 PHP
php解析xml 的四种简单方法(附实例)
Jul 11 PHP
php倒计时出现-0情况的解决方法
Jul 28 PHP
PHP简单预防sql注入的方法
Sep 27 PHP
php检查函数必传参数是否存在的实例详解
Aug 28 PHP
kindeditor 加入七牛云上传的实例讲解
Nov 12 PHP
php 处理png图片白色背景色改为透明色的实例代码
Dec 10 PHP
thinkphp3.2同时连接两个数据库的简单方法
Aug 13 PHP
PHP读取文件或采集时解决中文乱码
Mar 09 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基础学习笔记
2007/03/18 PHP
php 的加密函数 md5,crypt,base64_encode 等使用介绍
2012/04/09 PHP
php+jQuery+Ajax简单实现页面异步刷新
2016/08/08 PHP
PHPMailer发送邮件
2016/12/28 PHP
关于使用runtimeStyle属性问题讨论文章
2007/03/08 Javascript
JS 创建对象(常见的几种方法)
2008/11/03 Javascript
关于jquery性能最佳实践的讨论,与求教
2012/03/30 Javascript
AngularJS ng-bind 指令简单实现
2016/07/30 Javascript
js实现加载更多功能实例
2016/10/27 Javascript
完美实现js选项卡切换效果(一)
2017/03/08 Javascript
第一次记录Bootstrap table学习笔记(1)
2017/05/18 Javascript
关于jQuery库冲突的完美解决办法
2017/05/20 jQuery
详细介绍RxJS在Angular中的应用
2017/09/23 Javascript
Vue中render方法的使用详解
2018/01/26 Javascript
vue.js过滤器+ajax实现事件监听及后台php数据交互实例
2018/05/22 Javascript
vue路由前进后退动画效果的实现代码
2018/12/10 Javascript
详解javascript对数组和json数组的操作
2019/04/15 Javascript
手把手15分钟搭一个企业级脚手架
2019/09/16 Javascript
[01:27]2014DOTA2展望TI 剑指西雅图IG战队专访
2014/06/30 DOTA
C#返回当前系统所有可用驱动器符号的方法
2015/04/18 Python
Python中is与==判断的区别
2017/03/28 Python
Python实现的个人所得税计算器示例
2018/06/01 Python
Python使用crontab模块设置和清除定时任务操作详解
2019/04/09 Python
opencv转换颜色空间更改图片背景
2019/08/20 Python
Python下载网易云歌单歌曲的示例代码
2020/08/12 Python
HTML5实现页面切换激活的PageVisibility API使用初探
2016/05/13 HTML / CSS
澳洲在线厨具商店:Kitchen Style
2018/05/05 全球购物
机关会计岗位职责
2014/04/08 职场文书
幼儿园中班下学期评语
2014/04/18 职场文书
三分钟演讲稿范文
2014/04/24 职场文书
医学求职信
2014/05/28 职场文书
邀请函模板
2015/02/02 职场文书
甜美蛋糕店的创业计划书模板,拿来即用!
2019/08/21 职场文书
python实现语音常用度量方法的代码详解
2021/05/25 Python
MySQL 发生同步延迟时Seconds_Behind_Master还为0的原因
2021/06/21 MySQL
面试分析分布式架构Redis热点key大Value解决方案
2022/03/13 Redis