1.主循環(huán)
如果你并不熟悉“主循環(huán)”,就沒(méi)有必要試圖玩轉(zhuǎn)wordpress themes了。主循環(huán)的結(jié)構(gòu)很簡(jiǎn)單,但確實(shí)至關(guān)重要的。通常主循環(huán)都有以下的起始:
1 | <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?><?php endwhile; endif; ?> |
主循環(huán)實(shí)質(zhì)上是通過(guò)wordpress函數(shù)查詢數(shù)據(jù)庫(kù),看數(shù)據(jù)庫(kù)中是否有文章。如果有且當(dāng)你查詢了,就可以在主循環(huán)起始語(yǔ)句之間插入一些模板標(biāo)簽 (template tags)來(lái)顯示文章的內(nèi)容了。具體的細(xì)節(jié)不便在此討論,但主循環(huán)確實(shí)是一個(gè)很重要的事情,你必須理解它。更多的內(nèi)容請(qǐng)查看wordpress codex關(guān)于主循環(huán)的介紹,或者查看Denis的《全局變量和 WordPress 主循環(huán)》一文。
2.頁(yè)面
wordpress實(shí)現(xiàn)生成包含靜態(tài)內(nèi)容的靜態(tài)頁(yè)面的功能可謂幫了我們一個(gè)大忙,利用這個(gè)功能可以方便的建立“關(guān)于”、“聯(lián)系”等頁(yè)面。“頁(yè)面”是 可供使用的強(qiáng)大的工具,而你必須了解怎樣展示頁(yè)面、怎樣調(diào)用頁(yè)面,怎樣為頁(yè)面定義樣式等。當(dāng)使用wordpress作為CMS時(shí),“頁(yè)面”同樣是一個(gè)很強(qiáng) 大的工具。
3.子頁(yè)面
同樣很重要。wordpress允許建立一些具有層次結(jié)構(gòu)的頁(yè)面,可以設(shè)定一個(gè)頁(yè)面為另一個(gè)頁(yè)面的“子頁(yè)面”或是“父頁(yè)面”。層次化頁(yè)面的重要性可以在CMS中體現(xiàn)出來(lái),同樣可以幫助你更好的組織頁(yè)面,展示頁(yè)面。
4.頁(yè)面列表展示
如果你準(zhǔn)備制作themes,不管是為了免費(fèi)提供給其他人使用還是為自己制作或是為他人制作,都必須知道怎樣將頁(yè)面列表展示出來(lái)。無(wú)論你準(zhǔn)備怎樣展示,你必須知道怎樣輸出一個(gè)自己設(shè)計(jì)的樣式,這其中的只是還是很多的,不妨去深入了解一下。
5.模板標(biāo)簽
模板標(biāo)簽看似很簡(jiǎn)單,當(dāng)你試圖按照自己的意愿來(lái)實(shí)現(xiàn)一定的樣式時(shí),就會(huì)發(fā)現(xiàn)力不從心,這時(shí)最需要的是模板標(biāo)簽文檔,經(jīng)常查閱,久而久之便會(huì)熟記部分標(biāo)簽。鑒于一些人的英語(yǔ)閱讀能力不能達(dá)到一定的層次,我前些日子決定翻譯模板標(biāo)簽,給大家呈現(xiàn)一個(gè)母語(yǔ)的標(biāo)簽文檔。目前正值課程設(shè)計(jì)期間,又長(zhǎng)沙天氣炎熱,暫時(shí)沒(méi)有繼續(xù)翻譯。翻譯完成之后,可以通過(guò)以下地址訪問(wèn)查詢:http://wp-theme.cn/docs。
6.查詢文章
了解查詢文章的相關(guān)只是之后,對(duì)開(kāi)發(fā)者絕對(duì)是一個(gè)很大的幫助。通過(guò)這個(gè)功能可以很好的實(shí)現(xiàn)類(lèi)似CMS的效果,同時(shí)還可以使你的blog看起來(lái)不那么像blog,更具個(gè)性。關(guān)于這方面的文章很多,在此不做詳細(xì)介紹,有興趣者可以查看wordpress文檔中的相關(guān)內(nèi)容。
7.CSS
現(xiàn)如今CSS和設(shè)計(jì)有太多的交集,制作wordpress themes也不例外。通過(guò)Div定義HTML結(jié)構(gòu),在style.css文件中定義樣式,還有一些瀏覽器不兼容問(wèn)題,這些都是一個(gè)整體。制作一個(gè)精美的 theme,75%是CSS的功勞,因?yàn)槿藗兇蠖枷矚g精美的外觀,他們可以不在意怎樣實(shí)現(xiàn)循環(huán)結(jié)構(gòu),但卻想得到精美的外觀。
8.PHP
制作themes,PHP不是必備知識(shí),但當(dāng)使用一些模板標(biāo)簽出現(xiàn)錯(cuò)誤之后,要知道如何去處理,這些錯(cuò)誤往往就是一些PHP語(yǔ)言的錯(cuò)誤。PHP更多的可以幫助開(kāi)發(fā)wordpress應(yīng)用,制作插件等,但了解一些PHP的基本知識(shí)對(duì)制作themes還是有一定幫助的。
9.評(píng)論不是附屬功能
如果你希望別人使用你的themes,你可能同樣希望她是一個(gè)成功的blog。喜愛(ài)有否,bloggers經(jīng)常通過(guò)評(píng)論來(lái)衡量一個(gè)blog的成功與 否,如果bloggers希望評(píng)論者發(fā)表評(píng)論,至少評(píng)論的樣式要精美。但外觀如何確實(shí)不重要,只要和theme整體融合,評(píng)論之間有分割就行了。此時(shí),就 需要發(fā)揮你的創(chuàng)造能力,同時(shí)了解如何書(shū)寫(xiě)一個(gè)好的comments.php文件。就像標(biāo)題所說(shuō)的,評(píng)論不是附屬功能。
10.Widgetization
原文作者提倡:如果能Widgetize,就必須這么做。而我卻不喜歡把所有的東西都Widgetize,我更喜歡在theme文件的對(duì)應(yīng)位置人工加入代碼,這樣做樂(lè)趣多多,不必考慮Widget帶來(lái)的一些問(wèn)題。
11.條件標(biāo)簽
我注意到一件事,如果不想使用眾多的模板標(biāo)簽來(lái)顯示不同的內(nèi)容,還可以用條件標(biāo)簽代替,來(lái)檢查在哪些頁(yè)面顯示哪些內(nèi)容。例如,可以用is_search()代替search.php文件來(lái)輸出查詢列表。同樣的,is_home()可以限制內(nèi)容只在首頁(yè)出現(xiàn)。使用這些條件標(biāo)簽可以為代碼的書(shū)寫(xiě)帶來(lái)方便,同時(shí)還可以實(shí)現(xiàn)不同頁(yè)面不同的內(nèi)容輸出。
以上的內(nèi)容只是個(gè)人觀點(diǎn),如果你有什么好的見(jiàn)解不妨在下面留言相告。
原文地址:http://performancing.com/10-things-you-must-know-about-wordpress-themes
轉(zhuǎn)載請(qǐng)注明出處,本文翻譯有部分內(nèi)容未忠于原文。
轉(zhuǎn)載于:http://www.wp-theme.cn/2007/07/20/10-more-things-you-must-know-about-wordpress-themes/