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