轉(zhuǎn)自E-space
教程的前三講已經(jīng)詳細(xì)講述了如何去設(shè)計(jì)和制做一個(gè)Home頁(yè)面給自己的WordPress系統(tǒng),同時(shí)也提及了導(dǎo)航菜單,這樣便已經(jīng)把自己的Blog變成了一個(gè)具有CMS風(fēng)格的系統(tǒng)了。但是其中還有很多頁(yè)面展示細(xì)節(jié)值得我們?nèi)プ⒁猓?/p>
1. 頁(yè)面標(biāo)題title: 用過(guò)網(wǎng)頁(yè)收藏的人都應(yīng)該會(huì)發(fā)現(xiàn)在通過(guò)瀏覽器插件自動(dòng)提交當(dāng)面網(wǎng)頁(yè)時(shí),插件會(huì)自動(dòng)把頁(yè)面的title提交進(jìn)去,也就是在你瀏覽器的左上角顯示的title。這個(gè)其實(shí)在wp的header.php文件中定義的。在我們做過(guò)前三講的修改之后,你會(huì)發(fā)現(xiàn),在顯示自己的blog的home頁(yè)面時(shí),title為home+blog標(biāo)題等東西,而在顯示blog頁(yè)面時(shí)則直接為blog標(biāo)題,這樣是不是很難看。再看下我的Blog,你便發(fā)現(xiàn)很合情理。如下是Michael在研究過(guò)好久之后才調(diào)整好的代碼(我自己用了一堆&& ||的嵌套,麻煩的很),修改header.php文件中的title部分:
1 2 3 4 5 6 7 8 9 | <title> <?php if (is_home()) : ?>Blog at <?php bloginfo('name'); ?> <?php elseif ((is_page() OR is_archive() OR is_category() OR is_single()) && !(is_page(960)) ) : ?> <?php wp_title(''); ?> at <?php bloginfo('name'); ?> <?php elseif(is_tag()): echo 'Tag Page for '; if(function_exists(UTW_ShowCurrentTagSet) UTW_ShowCurrentTagSet("tagsettextonly"); echo ' at ';bloginfo('name'); ?> <?php elseif(is_404()): echo '找不到頁(yè)面 at ';bloginfo('name'); ?> <?php else : ?><?php bloginfo('name'); ?> <?php endif; ?> </title> |
同時(shí)此代碼已經(jīng)支持了UTW的Tag頁(yè)面展示,標(biāo)題為“Tag Page for Tag名稱 at blog標(biāo)題”的格式,如果你沒(méi)有使用UTW插件,請(qǐng)把包含UTW_ShowCurrentTagSet()這行刪除就行了。
2. Home頁(yè)面顯示評(píng)論數(shù)目:如果你和我一樣在Home頁(yè)面加入了日志標(biāo)題或者內(nèi)容展示,同時(shí)還調(diào)用了顯示評(píng)論comments數(shù)量的函數(shù),可能你會(huì)發(fā)現(xiàn)竟然不顯示出Comments的數(shù)量來(lái)。這個(gè)時(shí)候需要修改WP的原文件進(jìn)行Hack了,方法如下:
修改wp安裝目錄中的wp-includes/comment-template.php文件,從下向上大概在320行處找到
1 2 3 | if ( is_single() || is_page() ) return; $number = get_comments_number($id); |
把其中的is_single () || is_page()替換成is_single(),如此便可以在page也就是Home頁(yè)面的時(shí)候顯示出評(píng)論的數(shù)目和鏈接了。
3. 首面摘要字?jǐn)?shù):如果你是 在首頁(yè)Home中顯示了最新幾篇日志的標(biāo)題和摘要時(shí),可能發(fā)現(xiàn)WP自身帶的摘要語(yǔ)句只是把HTML格式和圖片等內(nèi)容去掉變成了純文本而已,而并不是真正減 少了內(nèi)容的摘要,所以這個(gè)時(shí)候你的做法可能是在寫(xiě)每篇日志的時(shí)候去自定義一下摘要,但這樣做想法麻煩。這個(gè)時(shí)候桑林志的中文 WordPress 工具箱插件便能很好的解決這個(gè)問(wèn)題了。只需要修改插件文件mullberrykit.php中最后那個(gè)函數(shù)而已:
1 2 3 4 | function mul_excerpt ($excerpt) { $myexcerpt = substr($excerpt,0,250); return utf8_trim($myexcerpt) . '... '; } |
其中的250便是自己定義的摘要字?jǐn)?shù)了,可以修改成你需要的數(shù)值。
4. 搜索框:如果你是使用WP自帶的搜索功能,可能模板文件把這個(gè)函數(shù)加在了sidebar.php中,這樣當(dāng)你在不顯示側(cè)欄sidebar的頁(yè)面時(shí),便失去了搜索功能,我的做法是加到header.php中去,然后自己定義位置,如此便在任何blog頁(yè)面都可以顯示出來(lái)Search搜索框了。這個(gè)僅是提示而已,代碼就不必重述了。
5. 推薦日志:這個(gè)推薦日志的功能其實(shí)是利用了一個(gè)叫做Articles的插件,在編寫(xiě)日志時(shí),只需要加入相應(yīng)的關(guān)鍵字即可,加入函數(shù)做成頁(yè)面后便會(huì)按分類展示出推薦日志的列表來(lái)。詳細(xì)用法請(qǐng)參考插件說(shuō)明文件。當(dāng)然如果你愿意自己寫(xiě)HTML代碼來(lái)做文章推薦也是可以的~~
6. 熱門日志:這個(gè)功能使用了WP-PostViews的頁(yè)面訪問(wèn)次數(shù)統(tǒng)計(jì)插件,我在調(diào)用時(shí)修改了原函數(shù),即不讓它顯示出閱讀次數(shù)來(lái),如果你在自己修改時(shí)遇到問(wèn)題,請(qǐng)?jiān)诨貜?fù)中提出,但如果你前面教程全做到了卻連這個(gè)都搞不定,那也太夸張了,所以不再細(xì)述。
如此WordPress打造CMS全部四個(gè)教程已經(jīng)詳細(xì)闡述完畢,如果你也想自己修改WP成為為CMS系統(tǒng)的話,相信這些內(nèi)容應(yīng)該可以幫助你完成,同時(shí)其中如制做Menu導(dǎo)航菜單或者修改頁(yè)面標(biāo)題title等方法都是值得參考的。
如果在修改過(guò)程中遇到問(wèn)題,可以在回復(fù)或者通過(guò)Contact和我聯(lián)系,我會(huì)及時(shí)答復(fù)。同時(shí)如果發(fā)現(xiàn)教程中有錯(cuò)誤或者遺漏的地方,麻煩請(qǐng)指出,不勝感激。
update: Michael在回復(fù)中給出了判斷語(yǔ)句來(lái)使用UTW,正文已經(jīng)更新。
update2: puNk!d在回復(fù)中指出WP2.1已經(jīng)完善了the_excerpt函數(shù),所以無(wú)需再使用插件來(lái)做截?cái)唷?/p>