周雨潺++祁惠梅
DOI:10.16661/j.cnki.1672-3791.2017.22.017
摘 要:伴隨著WordPress的快速發(fā)展和日益流行,用戶(hù)可以方便地在服務(wù)器上搭建CMS、forums、門(mén)戶(hù)等各種類(lèi)型的站點(diǎn)。該文對(duì)WordPress的核心函數(shù)query_posts的用法進(jìn)行了探討,從使用方法、自定義字段、分類(lèi)、排序等方面闡述了query_posts函數(shù)的用途。
關(guān)鍵詞:WordPress 核心函數(shù) query_posts
中圖分類(lèi)號(hào):G633 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1672-3791(2017)08(a)-0017-02
WordPress是一種使用PHP語(yǔ)言開(kāi)發(fā)的博客平臺(tái),可以在PHP以及MySQL數(shù)據(jù)庫(kù)的服務(wù)器當(dāng)中構(gòu)建個(gè)性化定制的網(wǎng)頁(yè),同時(shí)也能夠?qū)ordPress看成是一個(gè)CMS來(lái)予以運(yùn)用。WordPress當(dāng)中擁有較多的其它企業(yè)或者個(gè)人開(kāi)發(fā)的模板,這樣一來(lái),變化更加容易進(jìn)行運(yùn)用,至要購(gòu)買(mǎi)或者免費(fèi)獲得一個(gè)模板,不過(guò)同樣要要較高的專(zhuān)業(yè)水平,能夠熟悉HTML、CSS等專(zhuān)業(yè)知識(shí)。
query_post是WordPress眾多函數(shù)中一個(gè)非常強(qiáng)大的方法,它在WordPress主題中用于控制哪些文章可以出現(xiàn)在主循環(huán)中,首頁(yè)、存檔頁(yè)的這些文章(包括分頁(yè)中的)都是在主循環(huán)中的。在不使用query_posts函數(shù)控制的情況下,首頁(yè)、存檔頁(yè)等都是按照文章的發(fā)布時(shí)間列出博客上所有已發(fā)布的文章,而如果想定義哪些文章顯示與否,文章按照什么樣的方法排序等,則就要用到query_posts函數(shù)了。
運(yùn)用query_posts()查詢(xún)函數(shù)能夠確定怎樣的內(nèi)容能夠在WordPress 的loop里面,所以,query_posts這個(gè)函數(shù)也只可以對(duì)主頁(yè)的Loop進(jìn)行改進(jìn),并不能夠改進(jìn)網(wǎng)頁(yè)當(dāng)中的次級(jí)loop。假如想要在主loop之外還要有一個(gè)loop,那么需要構(gòu)建一個(gè)更加獨(dú)立的WP_Query,然后再進(jìn)行對(duì)loop的生成。在主loop以外的loop當(dāng)中運(yùn)用query_posts能夠使得主loop的運(yùn)行產(chǎn)生一定的誤差,同時(shí)也能夠在在網(wǎng)頁(yè)上面不會(huì)展示并不想進(jìn)行展示的內(nèi)容。
query_posts函數(shù)非常強(qiáng)大,參數(shù)無(wú)數(shù),用法更是無(wú)數(shù)。下面第一步要先講一下怎樣運(yùn)用這個(gè)函數(shù)。需要在目錄當(dāng)中尋找存檔頁(yè)面里面的文件,存檔里面一般都會(huì)有index.php,通常來(lái)說(shuō),這些頁(yè)面都是會(huì)運(yùn)用archive.php。從而便能夠決定使用哪個(gè)頁(yè)面的內(nèi)容列表之后,如果想讓第一頁(yè)的文章依照評(píng)論的數(shù)量予以排列,那么index.php里面的代碼框架就是:
<?php
那么便要繼續(xù)在index.php里面尋找if也能夠?qū)ふ襴hile,然后在前面假如query_posts。使用這種手段能夠使得首頁(yè)不能夠進(jìn)行分頁(yè),那么便能夠把query_posts變成下面這種樣式:
1 query_posts函數(shù)的常用方法
被接介紹常用的query_posts的使用手段,能夠直接運(yùn)用到主題里面。
1.1 表現(xiàn)自定義字段
只能夠表示加入了怎樣的文章,前提是按照這個(gè)字段的值進(jìn)行排序。把現(xiàn)在主題的目錄找到,然后發(fā)現(xiàn)index.php,檢索如下的字段:while (have_posts());,然后再把他變成:
然后檢索endwhile;再把它改成:
這樣就可以只顯示含有自定義字段的文章了。
1.2 表示或者不表示某個(gè)分類(lèi)性質(zhì)的文章
假如不能夠讓某種內(nèi)容在主loop里面,就能夠運(yùn)用query_posts進(jìn)行處理:
// 2, 6是不想顯示的分類(lèi)ID,多個(gè)用半角逗號(hào)隔開(kāi)
假如只想表現(xiàn)某種內(nèi)容,就能夠把category__not_in變成category__in。假如不能夠表現(xiàn)某個(gè)標(biāo)簽里面的內(nèi)容,那么能夠把category__not_in變成tag__not_in,假如只是想把某標(biāo)簽里面的內(nèi)容顯示出來(lái),那么便能夠把category__not_in變成tag__in,接著跟隨標(biāo)簽就行了。
1.3 只表現(xiàn)對(duì)應(yīng)ID的內(nèi)容
假如只是想表現(xiàn)ID是2,4,6的文章,那么便能夠只運(yùn)用如下的代碼:
1.4 列出所有狀態(tài)的文章
內(nèi)容的具體狀態(tài)分為很多,假如想要把所有的文章都能夠表現(xiàn)出來(lái),那么能夠這樣:
1.5 控制文章的數(shù)量
假如想進(jìn)一步降低要表現(xiàn)的文章數(shù)目,那么便能夠運(yùn)用showposts:
$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
$args = array(
// 控制只顯示10篇文章,如果將10改成-1將顯示所有文章
'showposts' => 10,
'paged' => $paged
);
query_posts($args);
如果只是想控制首頁(yè)、分類(lèi)頁(yè)等每各分頁(yè)顯示的文章數(shù)量,可以在WordPress管理后臺(tái)–設(shè)置–閱讀那里設(shè)置博客頁(yè)面至多顯示多少篇文章。
2 結(jié)語(yǔ)
隨著技術(shù)日益發(fā)展,個(gè)性化的需求也會(huì)越來(lái)越多,在這種情況下,掌握WordPress便顯得十分重要。該文主要從方法、自定義字段、分類(lèi)、排序等幾個(gè)功能來(lái)具體闡述了query_posts函數(shù)的使用方法,但是其功能遠(yuǎn)遠(yuǎn)不止上面所述,以后的工作重點(diǎn)將主要放在query_posts的官方文檔上,具體去分析了解query_posts的進(jìn)一步的功能。endprint