加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

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

发布时间:2020-12-13 04:09:17 所属栏目:PHP教程 来源:网络整理
导读:《WordPress开发中自定义菜单的相关PHP函数使用简介》要点: 本文介绍了WordPress开发中自定义菜单的相关PHP函数使用简介,希望对您有用。如果有疑问,可以联系我们。 函数意义 wp_nav_menu () 自界说菜单显示函数 PHP编程 register_nav_menu () 自界说菜单

《WordPress开发中自定义菜单的相关PHP函数使用简介》要点:
本文介绍了WordPress开发中自定义菜单的相关PHP函数使用简介,希望对您有用。如果有疑问,可以联系我们。

函数意义
wp_nav_menu ()
自界说菜单显示函数PHP编程

register_nav_menu ()
自界说菜单注册函数 C 单数PHP编程

register_nav_menus ()
自界说菜单注册函数 C 复数 (很蛋疼的一个复数形式)PHP编程

以下举例均用 register_nav_menus () 这个复数形式,以免混淆.PHP编程

使用地位
register_nav_menus ()
function.php 文件中,用于注册自定义菜单在后台的代码调用名称和后台显示名称.PHP编程

wp_nav_menu ()
主题任意你想调用自定义菜单的地位.PHP编程

使用办法
注册4个菜单更正:3个菜单(困了,老出错.)PHP编程

 register_nav_menus( array( 
 'nav1' => 'n1',//nav1 为菜单名称(挪用的时候用)
//n1 为显示名称,后台选菜单的时候用
 
 'nav2' => 'n2','nav3' => 'n3'
 
 ));

然后去你的后台 =》 外观 =》 菜单 里面看下,
基本上你就明白了,
要是不明白,
那你就再看一下,嘿嘿~PHP编程

主题你想要显示自定义导航的地位添加以下代码.PHP编程

?
PHP编程

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

然后就可以到后台去添加一个菜单了,(名称最好是名称或中文.更正:最好是英文.)
你可以设定这个菜单里面显示什么,不显示什么,甚至可以设置导航的层级内容,很便利的说.PHP编程

过滤掉自定义菜单中无用的CLASS值
在 WordPress 的自定义菜单的输出中,菜单中每一个子元素都有一个很长的 class 值,虽然从外观上看不出什么异样来,但从代码上看确实让人心里很难受,其实要过滤掉这些 class 值有很多办法,今天来讲一下通过挂载过滤器 (filter),去除那些我们不想要的class.
在 WordPress 3.5.0 以后的版本中将取消友情链接功能,并以自定义菜单功能实现,这个是后话.
我们在输出自定义菜单的时候,为了让我们更好的控制自定义样式,WordPress 会默认给我们菜单的子元素输出很多个 class 的值,就像下面这样.PHP编程

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

如何过滤之,让我们的网页源代码变得简洁、易读呢?PHP编程

在你的functions.php里面参加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 这个值保存主要是为了辨别当前页面.PHP编程

其实,
还有其他办法去过滤输出的 class 值的,
比如说控制 Walker_Nav_Menu 这个类来精确控制自定义菜单的输出,
但因为比较麻烦所以在这里先不提,其实 Walker_Nav_Menu 这个类可以完成更多我们需要的功能.PHP编程

总结 C 需注意
自定义菜单式在 WordPress 3.0 后才引入的一个功能概念,有点类似于之前的小工具,不过自定义菜单更倾向于导航用途,但因为新功能的中文翻译、流传较慢,再加上这个功能只要是主题成型的爱折腾的博主一般不会在导航方面折腾,所以大家还一直不了解,甚至都出现了错误教程满天飞得局面,在这里希望有的博主在颁发博文的时候不要以转载为主,就算是转载一些主要功能请具体测试一下,以免误导新人.PHP编程

需注意:
后台设置中如果没有给自界说导航里面设定菜单的话,那wp会为没有设定菜单的导航里自动添加所有页面为导航,这是一个蛋疼的缺省,所以如果这个导航我们不想显示的话,你最好能在后天设定一个空的菜单,然后给不想显示的导航添加这个菜单,这样自界说导航就不会显示了.
PHP编程

《WordPress开发中自定义菜单的相关PHP函数使用简介》是否对您有启发,欢迎查看更多与《WordPress开发中自定义菜单的相关PHP函数使用简介》相关教程,学精学透。编程之家 52php.cn为您提供精彩教程。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读