WordPress打造CMS教程(三):導航菜單

轉(zhuǎn)自E-space

教程(二)中講述了主頁模板的制做,如此便能夠添加一個頁面風格一致卻內(nèi)容別具一格的home給自己的Blog了。然后你肯定會需要一個和CMS系統(tǒng)類似的菜單來方便讀者進行導航。

其實大多數(shù)的WordPress模板都會設計好菜單的功能,用戶在使用時便可以直接發(fā)布新的Page來自動生成鏈接到頂部的菜單中,像比較流行的K2模板等等。但是如果自己的模板并不支持自動添加菜單,比如WP默認的模板等,那么就需要自己手動來添加這個功能了。其實有寫模板的或者是些wp高手都會自己來添加這個功能,那么我們這些低手只有來仿照了,我便是依照的K2方法:

其實只需要在header.php中的body之后加入CSS控制格式的調(diào)用WP Page List的語句就行了,如下所示:

1
2
3
<ul id="menu">
<?php wp_list_pages('sort_column=menu_order&depth=1&title_li='); ?>
</ul>

當你在wp中建立一個新的page后,在Page Slug中填寫的字段便會自動轉(zhuǎn)成鏈接的結(jié)尾地址,標題便成了菜單的名稱了。當然,如果你并不想每個page都出來一個按鈕的話,那么在建立時選擇一下父頁面就好了。如果你根本不想用page來自動生成菜單,那么可以使用如下代碼來自己定義菜單的鏈接:

1
2
3
4
5
<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定義,效果可以參考我的頂部菜單,使用時請根據(jù)自己的模板進行更改):

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#menu {
font: bold 9px/9px Verdana, Lucida Grande, Arial, Helvetica, Sans-Serif;
position: absolute;
width: 780px;
font-size: 12px;
margin: 0 0 0 30px;
padding: 6px 16px 5px 16px;
_padding: 7px 16px 7px 16px;
text-align: left;
display: block;
}
#menu li {
text-transform: lowercase;
display: inline;
}
#menu a {
color: #FFFFFF;
background: #0082C3;
font-weight: normal;
height: 19px;
padding: 6px 16px 5px 16px;
_padding: 7px 16px 7px 16px;
}
#menu a:hover {
color: #FFFFFF;
background: #95c300;
}

這里應該有人會有疑問,我應該怎么樣讓處在當前頁面下時,菜單中頁面的按鈕和其它按鈕不一樣呢?這個時候就要做一個巧妙的處理了,也就是在

1
<ul id="menu">

后面加入如下代碼,來定義一個class給當面頁面:

1
<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中加入如下代碼,來區(qū)別一下顏色就可以了。

1
2
3
4
#menu .current_page_item a {
color: #FFFFFF;
background: #95c300;
}

如此方法,我們便為自己的Blog加入了一個標準的頁面菜單來進行導航了。

現(xiàn)在你應該對自己的成果相當滿意了吧,那么你發(fā)現(xiàn)自己的blog和我的一些不同了么?是的,瀏覽器中顯示的標題,home時應該只顯示你blog的名稱,現(xiàn)在卻多了個可惡的page名稱。還有,是否發(fā)現(xiàn)你自己加入的日志摘要并不是像我的一樣,或者是home中的日志也不顯示comment的評論數(shù)量,那么這些技巧都需要在教程(四)頁面技巧中進行講述了,敬請期待。