久久精品水蜜桃av综合天堂,久久精品丝袜高跟鞋,精品国产肉丝袜久久,国产一区二区三区色噜噜,黑人video粗暴亚裔

WordPress:Template Tags/query posts

來自站長(zhǎng)百科
跳轉(zhuǎn)至: 導(dǎo)航、? 搜索

描述[ ]

Query_posts可以用來控制在The Loop上顯示哪篇文章,接受你的URL上使用的同樣格式的不同的參數(shù)。(例如p=4值顯示ID為4的文章)

為什么要經(jīng)過這麼多的麻煩,更改為給定的URL而創(chuàng)建的查詢?你可以自定義博客文章的外觀,將文章與網(wǎng)頁logic聯(lián)合起來(像條件式標(biāo)簽—沒有更改任何的URLs。

一般的使用情況可能是:

  • 只顯示一篇文章或者你的主頁網(wǎng)頁。
  • 顯示一個(gè)特殊時(shí)間段的所有文章。
  • 在首頁上(只)顯示最近的文章。
  • 更改文章的排列次序。
  • 只顯示來自一個(gè)類別中的文章。

用法[ ]

The Loop開始之前,在你的一個(gè)模板文件上的query_posts()上放置一個(gè)call。wp_query object會(huì)產(chǎn)生一個(gè)新的使用你的參數(shù)的SQL查詢。當(dāng)你執(zhí)行這一步的時(shí)候,WordPress忽視了通過URL接收到的其它的參數(shù)(例如網(wǎng)頁號(hào)或者類別)。如果你想保存這些參數(shù),你可以在訪問query_posts()時(shí),使用變數(shù)$query_string


例如,設(shè)置文章顯示的順序,但是不干擾其余的查詢字符串,你可以將下面的內(nèi)容放在The Loop之前:

query_posts($query_string . "&order=ASC")

以這種方式使用query_posts的時(shí)候,參數(shù)的引用部分必須以一個(gè)&號(hào)開始。

例子[ ]

從你的主頁上刪除類別[ ]

將這個(gè)代碼放到你的index.php文件上會(huì)導(dǎo)致你的主頁顯示所有類別的文章但是類別ID3的文章除外。

<?php
   if (is_home()) {
      query_posts("cat=-3");
   }
?>

你可以在已經(jīng)刪除的類別的列表上再添加幾個(gè)類別(在WP2.1.2上測(cè)試了):

<?php
   if (is_home()) {
      query_posts("cat=-1,-2,-3");
   }
?>

重新得到一篇特別的文章[ ]

想要重新得到一篇特別的文章,你可以使用以下:

<?php
// 重新得到ID為5的文章
query_posts('p=5');      
?>


如果你想對(duì)這個(gè)查詢使用閱讀更多的功能,你需要將全局$更多的變量設(shè)置為0。

<?php
// retrieve one post with an ID of 5
query_posts('p=5');
      
global $more;
// set $more to 0 in order to only get the first part of the post
$more = 0; 

// the Loop
while (have_posts()) : the_post(); 
  // the content of the post
  the_content('Read the full post »'); 
endwhile;
?>

返回一個(gè)特別的網(wǎng)頁[ ]

你可以使用以下的內(nèi)容,返回一個(gè)特別的網(wǎng)頁:

<?php
query_posts('page_id=7');      //只返回網(wǎng)頁7
?>

or

<?php
query_posts('pagename=about'); //只返回關(guān)于網(wǎng)頁
?>


對(duì)于子網(wǎng)頁,需要母網(wǎng)頁和子網(wǎng)頁的slug,用一個(gè)斜線分開。例如:

<?php
query_posts('pagename=parent/child'); // 返回母網(wǎng)頁的子網(wǎng)頁
?>

將變數(shù)傳給query_posts[ ]

根據(jù)你的需要,你可以使用兩種方法將一個(gè)變數(shù)傳給查詢。如其它的例子那樣,將這些放置到你的Loop的上面:

例 1[ ]

在這個(gè)例子中,我們連接查詢之后,再運(yùn)行查詢。首先分配了變量,然后再連接,然后再運(yùn)行。在這個(gè)例子中,我們從其它地方進(jìn)入了一個(gè)類別變量。

 <?php
 $categoryvariable=$cat; // 指派變數(shù)作為當(dāng)前的類別
 $query= 'cat=' . $categoryvariable. '&orderby=date&order=ASC'; // concatenate the query
 query_posts($query); // 運(yùn)行查詢
 ?>


例 2[ ]

在下面的這個(gè)例子中,雙" 引號(hào) "指示PHP將enclosed看做一個(gè)表述。在這個(gè)例子中,我們得到當(dāng)前的年份和月份,而且通知query文章給我們提供當(dāng)前年/月的文章,而且在這種情況下,將這些文章按升序排列,這樣我們可以在網(wǎng)頁的頂上方,得到最早所寫的文章。


<?php $current_month = date('m'); ?>
<?php $current_year = date('Y'); ?>

<?php query_posts("cat=22&year=$current_year&monthnum=$current_month&order=ASC"); ?>
<!-- put your loop here -->


例 3[ ]

這個(gè)例子演示了怎樣創(chuàng)建所有的文章的列表,并且標(biāo)記頁數(shù)。我們可以使用默認(rèn)的$query_string,這個(gè)字符串通知查詢文章給我們提供全部文章的列表。我們也可以將posts_per_page查詢參數(shù)從-1改為我們希望在每個(gè)網(wǎng)頁上顯示的文章的數(shù)目;在最后一種情況中,你可能想要使用posts_nav_link()導(dǎo)航到創(chuàng)建的歸檔中。

.

<?php 
query_posts($query_string.'posts_per_page=-1');
while(have_posts()) { the_post();
<!-- put your loop here -->
}
?>

參數(shù)[ ]

這還不是一個(gè)詳盡的列表,意思是設(shè)置你自己的queries,可以顯示一些更常見的內(nèi)容。

類別 參數(shù)[ ]

顯示屬于某個(gè)類別的文章。

  • cat
  • category_name

根據(jù)ID顯示一個(gè)類別

只顯示來自一個(gè)類別ID的文章:

query_posts('cat=4');

根據(jù)名稱顯示一個(gè)類別

只顯示屬于某個(gè)類別名的文章:

query_posts('category_name=Staff Home');

顯示幾個(gè)類別及ID

顯示屬于幾個(gè)類別ID的文章:

query_posts('cat=2,6,17,38');

刪除某個(gè)類別的文章

顯示所有的文章,但是類別ID前面有個(gè)'-'(負(fù)號(hào))負(fù)號(hào)的類被除外。

query_posts('cat=-3');

刪除屬于類別3的所有文章。有一個(gè)限制性條款:會(huì)刪除屬于類別3的所有文章。如果一個(gè)類別也同時(shí)屬于其它的類別,這個(gè)類別仍然不會(huì)被刪除。

標(biāo)簽參數(shù)[ ]

顯示與某個(gè)標(biāo)簽相關(guān)的文章。

  • 標(biāo)簽

為某個(gè)標(biāo)簽提取文章 query_posts('標(biāo)簽=cooking');

提取擁有任何這樣的標(biāo)簽的文章

query_posts('tag=bread,baking');

提取擁有這三個(gè)標(biāo)簽的文章:

query_posts('tag=bread+baking+recipe');


也看看

作者參數(shù)[ ]

你也可以根據(jù)作者限制文章數(shù)目。

  • author_name=Harriet
  • author=3

author_name operates on the user_nicename field, whilst author operates on the author id.

文章 & 網(wǎng)頁參數(shù)[ ]

返回一篇單獨(dú)的文章或者一個(gè)單獨(dú)的網(wǎng)頁。

  • p=1 - 使用文章 ID來顯示第一篇文章
  • name=first-post - 使用 文章 Slug 顯示第一篇文章
  • page_id=7
  • pagename=about
  • showposts=1 (你可以使用 顯示文章=3,或者其它的任何數(shù)字顯示一定數(shù)目的文章

由于 模板層級(jí)方面的原因, home.php先執(zhí)行了。這意味這你可以編寫一個(gè)home.php,home.php調(diào)用query_posts()重新得到一個(gè)特別的網(wǎng)頁并且將那個(gè)網(wǎng)頁設(shè)置為你的首頁。沒有任何插件或者h(yuǎn)acks,你需要運(yùn)行一個(gè)機(jī)制,并且顯示和維護(hù)一個(gè)非博客的首頁。

更有用的方法,可能是利用WP的網(wǎng)頁功能并且為你的首頁使用這個(gè)功能。你可以將"關(guān)于網(wǎng)頁"設(shè)置為entry point或者設(shè)置為站點(diǎn)的末頁。你可能執(zhí)行一些更動(dòng)態(tài)的步驟,設(shè)置一個(gè)自定義網(wǎng)頁,顯示最近的評(píng)論,文章,類別,存檔。請(qǐng)看看下面的例子。

時(shí)間參數(shù)[ ]

得到某個(gè)特別的時(shí)間段內(nèi)發(fā)表的文章。

  • hour=
  • minute=
  • second=
  • day= - 一個(gè)月中的每一天; 顯示,例如,十五號(hào)發(fā)表的所有文章。
  • monthnum=
  • year=

網(wǎng)頁參數(shù)[ ]

  • paged=2 -顯示使用"以前發(fā)表的文章"鏈接時(shí),通常在網(wǎng)頁2上顯示的文章。
  • posts_per_page=10 - 每個(gè)網(wǎng)頁顯示的文章數(shù)目;-1這個(gè)值,會(huì)顯示所有的文章。
  • order=ASC - 按時(shí)間順序顯示文章,以相反的順序顯示DESC(默認(rèn))

Offset 參數(shù)[ ]

你不能轉(zhuǎn)移或者忽視一個(gè)或者更多的原始文章,這些文章一般是你的query同時(shí)使用offset參數(shù)收集到的。

下面的函數(shù)會(huì)顯示(1)最近的5篇文章:

query_posts('showposts=5&offset=1');

根據(jù)參數(shù)排序[ ]

根據(jù)這個(gè)區(qū)給得到的文章排序。

  • orderby=author
  • orderby=date
  • orderby=category
  • orderby=title
  • orderby=modified
  • orderby=modified
  • orderby=menu_order
  • orderby=parent
  • orderby=ID
  • orderby=rand

同時(shí)考慮"ASC"或者的"DESC"的排序參數(shù)

聯(lián)合參數(shù)[ ]

你可能從上面的例子中注意到,你使用一個(gè)&(&符號(hào))將參數(shù)組合在一起,像:

query_posts('cat=3&year=2004');

類別13,關(guān)于當(dāng)前月份顯示在主頁上的文章:

if (is_home()) {
query_posts($query_string . '&cat=13&monthnum=' . date('n',current_time('timestamp')));
}

在2.3版本中,這個(gè)參數(shù)組合會(huì)返回屬于類別1同時(shí)屬于類別3的文章,只顯示兩篇(2)文章,根據(jù)標(biāo)題,按降序排列:

 query_posts(array('category__and'=>array(1,3),'showposts'=>2,'orderby'=>title,'order'=>DESC));


在2.3和2.5版本中,你可能期待下面的內(nèi)容,返回屬于類別1并且標(biāo)簽為"蘋果"的所有文章

query_posts('cat=1&tag=apples');


一個(gè)bug阻止這個(gè)運(yùn)行。請(qǐng)看看Ticket #5433,一個(gè)工作區(qū)要搜索幾個(gè)使用+的標(biāo)簽

query_posts('cat=1&tag=apples+apples');

對(duì)于先前的查詢,這個(gè)會(huì)產(chǎn)生期待的結(jié)果。注意使用'cat=1&tag=apples+oranges'能夠產(chǎn)生期待的結(jié)果。

資源[ ]

<!—我們需要關(guān)于這篇文章的其它資源-->

相關(guān)的[ ]

模板:標(biāo)簽總標(biāo)簽

This page is [[WordPress::Category:Stubs|marked]] as incomplete. You can help Codex by expanding it.