WordPress打造CMS教程(三):导航菜单
教程(二)中讲述了主页模板的制做,如此便能够添加一个页面风格一致却内容别具一格的home给自己的Blog了。然后你肯定会需要一个和CMS系统类似的菜单来方便读者进行导航。
其实大多数的WordPress模板都会设计好菜单的功能,用户在使用时便可以直接发布新的Page来自动生成链接到顶部的菜单中,像比较流行的K2模板等等。但是如果自己的模板并不支持自动添加菜单,比如WP默认的模板等,那么就需要自己手动来添加这个功能了。其实有写模板的或者是些wp高手都会自己来添加这个功能,那么我们这些低手只有来仿照了,我便是依照的K2方法:
其实只需要在header.php中的<body>之后加入CSS控制格式的调用WP Page List的语句就行了,如下所示:
- <ul id="menu">
- <?php wp_list_pages('sort_column=menu_order&depth=1&title_li='); ?>
- </ul>
当你在wp中建立一个新的page后,在Page Slug中填写的字段便会自动转成链接的结尾地址,标题便成了菜单的名称了。当然,如果你并不想每个page都出来一个按钮的话,那么在建立时选择一下父页面就好了。如果你根本不想用page来自动生成菜单,那么可以使用如下代码来自己定义菜单的链接:
- <ul id="menu">
- <li><a href=”http://www.yourlink.com/” >link</a></li>
- <li><a href=”http://www.yourlink.com/” >link2</a></li>
- <li><a href=”http://www.yourlink.com/” >link3</a></li>
- </ul>
然后在style.css中则需要为menu加入格式代码了,像位置,字体,背景颜色,鼠标指上去时的背景颜色等等,代码如下(注意:此处均为我自己的CSS定义,效果可以参考我的顶部菜单,使用时请根据自己的模板进行更改):
- #menu {<br />
- font: bold 9px/9px Verdana, Lucida Grande, Arial, Helvetica, Sans-Serif;<br />
- position: absolute;<br />
- width: 780px;<br />
- font-size: 12px;<br />
- margin: 0 0 0 30px;<br />
- padding: 6px 16px 5px 16px;<br />
- _padding: 7px 16px 7px 16px;<br />
- text-align: left;<br />
- display: block;<br />
- }<br />
- #menu li {<br />
- text-transform: lowercase;<br />
- display: inline;<br />
- }<br />
- #menu a {<br />
- color: #FFFFFF;<br />
- background: #0082C3;<br />
- font-weight: normal;<br />
- height: 19px;<br />
- padding: 6px 16px 5px 16px;<br />
- _padding: 7px 16px 7px 16px;<br />
- }<br />
- #menu a:hover {<br />
- color: #FFFFFF;<br />
- background: #95c300;<br />
- }
这里应该有人会有疑问,我应该怎么样让处在当前页面下时,菜单中页面的按钮和其它按钮不一样呢?这个时候就要做一个巧妙的处理了,也就是在
- <ul id="menu">
后面加入如下代码,来定义一个class给当面页面:
- <li class="<?php if (((is_home()) && !(is_paged())) or (is_archive()) or (is_single()) or (is_paged()) or (is_search())) { ?>current_page_item<?php } else { ?>page_item<?php } ?>"></li>
然后在相应的sytle.css中加入如下代码,来区别一下颜色就可以了。
- #menu .current_page_item a {<br />
- color: #FFFFFF;<br />
- background: #95c300;<br />
- }
如此方法,我们便为自己的Blog加入了一个标准的页面菜单来进行导航了。
现在你应该对自己的成果相当满意了吧,那么你发现自己的blog和我的一些不同了么?是的,浏览器中显示的标题,home时应该只显示你blog的名称,现在却多了个可恶的page名称。还有,是否发现你自己加入的日志摘要并不是像我的一样,或者是home中的日志也不显示comment的评论数量,那么这些技巧都需要在教程(四)页面技巧中进行讲述了,敬请期待。




[…] Designing a WordPress Theme From Scratch(想学习 WordPress 主题设计的朋友们必备的教程,最近 E-Space 正在更新 WordPress打造CMS内容管理系统教程 系列文章[1]、[2]、[3]、[4]) […]
[Reply]
拜讀完hhalloyy的教學,讓我有加速改版 @_@ ,之前就有想要做這樣的方式來呈現,只不過還在摸索,有了這個CMS教學,讚!!
[Reply]
[…] 原文地址:http://e-spacy.com/blog/985.html […]
[Reply]
Hi,hhalloyy. 每次都能在你这里找到我想要的资料,相当的感谢:)
感谢你上次给我的blog提的建议,以后还要多多和你学习~
[Reply]
呵呵,依然是我,很抱歉我MSN对应的邮箱已经关闭了,所以收不到你发的邮件。如果有时间的话,请将邮件重新发送至freddy.deng[at]163.com,谢谢!
[Reply]
[…] WordPress打造CMS教程(三):导航菜单 […]
[Reply]
[…] WordPress打造CMS教程(一):方案设计(续) WordPress打造CMS教程(二):首页模板 WordPress打造CMS教程(三):导航菜单 […]
[Reply]
[…] DesigningaWordPressThemeFromScratch(想学习WordPress主题设计的朋友们必备的教程,最近E-Space正在更新WordPress打造CMS内容管理系统教程系列文章[1]、[2]、[3]、[4]) […]
[Reply]