自定义菜单使用

评论(12)

因为白天上班不能上网(什么破工作不能上网?),所以白天一般都只是用手机批一下博客留言,然后再去逛一逛平时常去的朋友的博客,很悲催、确实很悲催。就算是白天不能折腾,也没能减弱我晚上折腾的热情,折腾来折腾去,其实有很多东西,过了挺长时间被一下子问到,总是有点记不起来,今天 WIND 兄问我的那个自定义导航菜单式怎么弄的,其实我是很想说啊,可惜在单位看不到代码,记得不清楚不能胡说啊,只能留着晚上好好总结一下才能说,至此,扯淡完毕,下面介绍 register_nav_menus 和 wp_nav_menu 两个内置函数。

差不多用了一个多小时,收集、整理外加实验这两个函数,写下以下寥寥几行,作为备忘,以免以后让自己的代码搞不清头脑。register_nav_menus 和 wp_nav_menu 这里就不给官方解释了以免加大篇幅只说下我的个人理解:

函数意义

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' ) ); ?>

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

总结 – 需注意

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

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





转载请注明转自: 自定义菜单使用

  1. Pingback: 过滤掉自定义菜单中无用的CLASS值|主题-WordPress

  2. walker有大用途

  3. 学习一下,哈哈

  4. 先占位支持了,谢谢分享
    顶起

  5. @XiangZi
    多谢,呵呵

  6. @wind
    祝贺一下。

  7. 成功隐藏已发布的页面。

  8. 哥 这个图如果再细致点就更好了哦!我又发现了一个,晚上告诉你哈~!

  9. xiang兄,真该睡觉了,回复里面都有差字了。晚安了。呵呵

  10. @wind
    有点困了,写的有点仓促,虽然看了3遍去更正,不过总是感觉今天状态不习惯于写技术类文章,要保持怀疑的态度去看啊。
    @wind
    今天老婆说看到虾米音乐有这个功能,看了一下样式不错,用虾米的样式和MG12的代码重新组织了一下。就这样了。

  11. 终于明白了,恍然大悟啊,简单的我没有想到啊,多谢xiang兄的指点。

  12. 先沙发,在看原文。今天看到xiang兄添加了个TOP的导航,不错。很注重用户的体验,强烈支持下。