让Wordpress不同页面显示不同菜单

简单描述一下这样的需求:比如某博客需要建立一个次级的专题页面(比如小站想要建立一个关于志愿者的页面),那么只需要在主题文件夹下新建一个page-special.php文件,并将page.php的所有内容copy到其中进行对应修改即可。

但是修改后我们发现一个问题啊,就是打开次级页面可以看到布局确实达到我们的要求了,但是这菜单还是和主页面一样的啊,这就需要自定义第二个菜单 ,让我们需要的页面显示第二个菜单啦。

步骤如下:

一、首先确定自己的主题是否支持自定义菜单

一般来说wp3.0 推出以后的主题都是支持自定义菜单的。小站用的主题悲崔的不属于其中,所以只好手动修改啦。

1)打开主题的function.php  添加以下内容


// This theme uses wp_nav_menu() in one location.
register_nav_menus( array(
'primary' => __( 'Primary Navigation', 'twentyten' ),
) );

2)修改导航代码,一般导航代码在function.php 或header.php中,为下列样式




将其修改为



OK 去后台看看自定义菜单吧。

二、下面要为主题添加多个菜单,步骤如下

1)修改function.php

在function.php中寻找如下语句

register_nav_menus

有的话修改为如下

// 自定义菜单
register_nav_menus(
array(
'primary' => __( '导航自定义菜单' ),
'special' => __( '页角自定义菜单' )
)
);

其中 primary和special可以自定义,不过需要与下面的名称相同

2) 找到header.php  查找


wp_list_pages 或 wp_list_categories 或  wp_nav_menu

并修改为类似如下的形式







这两个函数分别为调用不同的菜单,不可以同时用哦。另一个做啥用呢?当然是放到我们专用的页面啦。

下面是方法

三、新建header文件

新建 header-special.php copyheader.php内的所有内容到其中

修改上面改好了的语句



用那个菜单就改成那个,我们这里将 primary改为special,就是这个页面使用第二个菜单。

 

四、回到我们新建并修改好的page-special.php 中

搜索 get_header 函数并将其改为 get_header(special)

进入后台页面管理,修改我们要应用的页面使用page-name 模板,OK 大功告成

 

示例页面为最近刚做的协会网页,可以看到其主页和子页面CAFIC使用不同的菜单和头文件,好了,诸位试一下吧~

 

参考资料&鸣谢

知更鸟:为主题添加多个WordPress3.0自定义菜单      WordPress 3.0来了,你的主题准备好了吗?

上岸的QQ鱼:WordPress主题函数get_header()的详细介绍与用法

本文遵守署名-非营利性使用-相同方式共享协议,转载请保留本段:冰丝带雨 » 让Wordpress不同页面显示不同菜单

赞 (0)

相关推荐

  • EXCEL过河-全文件夹内xlsx另存为jpg图片
  • 1块钱买个服务器帮我们24小时刷火车票
  • 贡献一套自己在用的路由器智能翻墙方案
  • WordPress调用Google字体导致网站速度慢解决方法
  • 手把手教你建立完全属于自己的个人博客(二)
  • 手把手教你建立完全属于自己的个人博客(一)
  • 再推荐一个免费的VPN服务
  • 我的Chrome/Firefox/Opera/Safari被识别为IE6?

评论 7

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
  1. 沁园春正折腾博客呢,果断收下了。。。回复
  2. 80后男人这个可能用得上,用得着的时候来你这看回复
  3. 那一年偷偷放入收藏夹 :lol:回复
  4. 艾伦这个功能很少看人提到啊。。回复
    • 牟 名东嗯,也是最近做一个站有这样的需求才上网找的回复
  5. 植程裕你是你的写的吗?不算是教程,可以说是为了赢取搜索引擎的一个文章,page-special.php 上传 直接跟我来一个修改后, 怎么样修改你不说,人家会个B回复