WordPress开发中自定义菜单的相干PHP函数应用简介

函数意义
wp_nav_menu ()
自定义菜单显示函数

register_nav_menu ()
自定义菜单注册函数 – 复数

register_nav_menus ()
自定义菜单注册函数 – 单数 (很蛋疼的一个单数方式)

以下举例均用 register_nav_menus () 这个单数方式,以免混杂。

应用地位
register_nav_menus ()
function.php 文件中,用于注册自定义菜单在后盾的代码调用称号和后盾显示称号。

wp_nav_menu ()
主题恣意你想调用自定义菜单的地位。

应用办法
注册4个菜单更正:3个菜单(困了,老出错。)

 register_nav_menus( array( 
 'nav1' => 'n1',
//nav1 为菜单称号(调用的时分用)
//n1 为显示称号 , 后盾选菜单的时分用
 
 'nav2' => 'n2',
 
 'nav3' => 'n3'
 
 ));

而后去你的后盾 =》 外观 =》 菜单 外面看下,
根本上你就明确了,
要是不明确,
那你就再看一下,嘿嘿~

主题你想要显示自定义导航的地位增加以下代码。

 

//调用 nav1 的菜单
<?php wp_nav_menu( array( 'theme_location' => 'nav1' ) ); ?>
 
//调用 nav2 的菜单
<?php wp_nav_menu( array( 'theme_location' => 'nav2' ) ); ?>

而后就能够到后盾去增加一个菜单了,(称号最好是称号或中文。更正:最好是英文。)
你能够设定这个菜单外面显示什么,不显示什么,甚至能够设置导航的层级内容,很不便的说。

过滤掉自定义菜单中无用的CLASS值
在 WordPress 的自定义菜单的输入中,菜单中每一个子元素都有一个很长的 class 值,尽管从外观上看不出什么异常来,但从代码上看的确让人心里很舒服,其实要过滤掉这些 class 值有很多办法,明天来讲一下经过挂载过滤器 (filter),去除那些咱们不想要的class。
在 WordPress 3.5.0 当前的版本中将勾销友谊链接性能,并以自定义菜单性能完成,这个是后话。
咱们在输入自定义菜单的时分,为了让咱们更好的管制自定义款式, WordPress 会默许给咱们菜单的子元素输入很多个 class 的值,就像上面这样。

<li id="menu-item-19" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-19">

如何过滤之,让咱们的网页源代码变得简约、易读呢?

在你的functions.php外面退出

function filter_nav_menu_css_class ($classes){
//想要经过的class值
 $do_class_name = array('current-menu-item');
 $outPut = array_intersect($do_class_name,$classes);
 array_filter( $classes );
 return $outPut;
};
add_filter('nav_menu_css_class','filter_nav_menu_css_class');

这里将 current-menu-item 这个值保存次要是为了分别以后页面。

其实,
还有其余办法去过滤输入的 class 值的,
比方说管制 Walker_Nav_Menu 这个类来准确管制自定义菜单的输入,
但由于比拟费事所以在这里先不提,其实 Walker_Nav_Menu 这个类能够实现更多咱们需求的性能。

总结 – 需留意
自定义菜单式在 WordPress 3.0 后才引入的一个性能概念,有点相似于之前的小工具,不过自定义菜单更偏向于导航用处,但由于新性能的中文翻译、传播较慢,再加上这个性能只需是主题成型的爱折腾的博主普通不会在导航方面折腾,所以大家还不断不理解,甚至都呈现了谬误教程满天飞得场面,在这里心愿有的博主在宣布博文的时分不要以转载为主,就算是转载一些次要性能请详细测试一下,以免误导新人。

需留意:
后盾设置中假如没有给自定义导航外面设定菜单的话,那wp会为没有设定菜单的导航里主动增加一切页面为导航,这是一个蛋疼的缺省,所以假如这个导航咱们不想显示的话,你最好能在先天设定一个空的菜单,而后给不想显示的导航增加这个菜单,这样自定义导航就不会显示了。

以上就是安达网络工作室关于《WordPress开发中自定义菜单的相关PHP函数使用简介》的一些看法。更多内容请查看本栏目更多内容!

本文相关话题: WordPress 自定义菜单 PHP PHP编程
版权声明:本文为 安达网络工作室 转载文章,如有侵权请联系我们及时删除。
相关文章
WordPress改换主域名后需求的操作分享

博客改换主域名是很失常的事件,但改换完主域名之后,有一些事件是必需实现,否则会影响到你的WordPress博客...

WordPress提醒require_once() Failed opening required的处理办法

本文实例讲述了WordPress提醒require_once() Failed opening required的处理办法。 一、成绩: 明天进我的w...

完满完成wordpress制止文章修订和主动保留的办法

应用Wordpress这么久不断很厌恶wordpress的文章修订和主动保留性能,也应用过超级开关插件能够制止wordpres...

在Linux零碎下一键从新装置WordPress的脚本示例

网站可能时不时的要迁徙,或许误操作,数据库没了,所以,我为了省工夫,写了个wordpress一键从新装置的脚本...

wordpress自定义摘要截取字数的代码

复制代码代码如下: function excerpt($limit) { $excerpt = explode(' ', get_the_excerpt(), $limit); i...

WordPress中用于获取及自定义头像图片的PHP脚本详解

get_avatar()(获取头像) get_avatar() 函数用来获取置顶邮箱或许用户的头像代码,在评论列表中十分罕用。...

需求提交

客服服务