女武神的终末第三季免费观看,国产精品va无码二区,欧美日韩在线视频观看,国产在线观看网站

wordpress根據條件獲取文章列表函數:get_posts()

2012-12-23 wordpress函數
  • 文章介紹
  • 快速入門
  • 評價&建議

說明:

這是一個用于創建多環路的簡單標簽。用于檢索最新的或者匹配條件的文章列表。注意,雖然參數與get_pages方法類似,但是有幾個參數略有不同。

用法:

  1. <?php?$posts_array?=?get_posts(?$args?);??>

默認情況下的用法:

  1. <?php
  2. ?$args?=?array(
  3. ????'numberposts'?????=>?5,
  4. ????'offset'??????????=>?0,
  5. ????'category'????????=>?,
  6. ????'orderby'?????????=>?'post_date',
  7. ????'order'???????????=>?'DESC',
  8. ????'include'?????????=>?,
  9. ????'exclude'?????????=>?,
  10. ????'meta_key'????????=>?,
  11. ????'meta_value'??????=>?,
  12. ????'post_type'???????=>?'post',
  13. ????'post_mime_type'??=>?,
  14. ????'post_parent'?????=>?,
  15. ????'post_status'?????=>?'publish'?);
  16. $posts_array?=?get_posts(?$args?);
  17. ??>

示例應用:

獲取最初到現在的文章列表

如果在博客首頁上只設置顯示一篇文章,但同時希望在分類ID 1中顯示最近五篇文章的鏈接,可使用如下代碼:

  1. <ul>
  2. <?php
  3. global?$post;
  4. $myposts?=?get_posts('numberposts=5&offset=1&category=1');
  5. foreach($myposts?as?$post)?:
  6. ?>
  7. ???<li><a?href="<?php?the_permalink();??>"><?php?the_title();??></a>
  8. </li>
  9. ?<?php?endforeach;??>
  10. ?</ul>

注意:使用offset時,以上查詢僅適用于含有一篇以上文章的分類,否則無法輸出。

獲取所有文章資料:

默認情況下get_posts無法獲取一些文章相關數據,如通過 the_content()獲取文章內容或序列ID。調用內部函數setup_postdata(),以$post 數組為其自變量,可以解決這一問題:

  1. <?php
  2. $lastposts?=?get_posts('numberposts=3');
  3. foreach($lastposts?as?$post)?:
  4. ???setup_postdata($post);
  5. ?>
  6. <h2><a?href="<?php?the_permalink();??>"?id="post-<?php?the_ID();??>"><?php?the_title();??></a></h2>
  7. <?php?the_content();??>
  8. <?php?endforeach;??>

不希望通過調用setup_postdata()來獲取文章的ID或內容,或者獲取文章的任何相關數據時(數據存留在文章列表中),可以使用$post->COLUMN,COLUMN是文章數據表格的縱列名稱。因此$post->ID指明文章ID,$post->post_content指明文章內容,以此類推。如要在頁面上顯示這些數據,請使用PHP echo命令,如下所示:

  1. <?php?echo?$post->ID;??>

按標題為最新發表文章排序:

以下代碼可按字母升序顯示最近發表的十篇文章的發布日期、標題和摘要:

  1. <?php
  2. $postslist?=?get_posts('numberposts=10&order=ASC&orderby=title');
  3. foreach?($postslist?as?$post)?:
  4. ???setup_postdata($post);
  5. ?>
  6. <div>
  7. <?php?the_date();??>
  8. <br?/>
  9. <?php?the_title();??>
  10. <?php?the_excerpt();??>
  11. </div>
  12. <?php?endforeach;??>

注意:排序參數在2.6版本中有所修改。此代碼適用于新排序格式。詳細內容參見參數。

任意文章

用MySQL RAND()函數指定排序參數的值,可以顯示出隨意選擇的五篇文章:

  1. <ul><li><h2>A?random?selection?of?my?writing</h2>
  2. ???<ul>
  3. <?php
  4. $rand_posts?=?get_posts('numberposts=5&orderby=rand');
  5. foreach(?$rand_posts?as?$post?)?:
  6. ?>
  7. ???<li><a?href="<?php?the_permalink();??>"><?php?the_title();??></a></li>
  8. <?php?endforeach;??>
  9. ???</ul>
  10. </li></ul>

顯示所有附件

不用模板中任何循環進行本項操作。(使用2.5版本后的get_children()函數相對方便。)

  1. <?php
  2. $args?=?array(
  3. ???????'post_type'?=>?'attachment',
  4. ???????'numberposts'?=>?-1,
  5. ???????'post_status'?=>?null,
  6. ???????'post_parent'?=>?null,?//?any?parent?
  7. ???????);
  8. $attachments?=?get_posts($args);
  9. if?($attachments)?{
  10. ??????foreach?($attachments?as?$post)?{
  11. ??????????????setup_postdata($post);
  12. ??????????????the_title();
  13. ??????????????the_attachment_link($post->ID,?false);
  14. ??????????????the_excerpt();
  15. ??????}
  16. }
  17. ?>

顯示最新文章的附件

在The_Loop($post->ID可用)中進行本類操作。

  1. <?php
  2. $args?=?array(
  3. ???????'post_type'?=>?'attachment',
  4. ???????'numberposts'?=>?-1,
  5. ???????'post_status'?=>?null,
  6. ???????'post_parent'?=>?$post->ID
  7. ???????);
  8. $attachments?=?get_posts($args);
  9. if?($attachments)?{
  10. ??????foreach?($attachments?as?$attachment)?{
  11. ??????????????echo?apply_filters('the_title',?$attachment->post_title);
  12. ??????????????the_attachment_link($attachment->ID,?false);
  13. ??????}
  14. }
  15. ?>

【參數:WordPress 2.6+】
除“WordPress 2.5及更早版本”中列出的參數外,get_posts( )也能運行query_posts( )所操作的參數,目前這兩個函數在內部使用相同的數據庫查詢代碼。
注意:2.6版本對一些排序選項做了更改。表格字段前不再含有post_字樣。如post_title已被改為title,post_data改為data。

參數:WordPress 2.5及更早版本
$numberposts
(整數)(可選)將要返回的文章數量。將其設為0可在每頁上顯示最大數量文章數,設為-1可消除限制。
默認值:5
$offset
(整數)(可選)以最新文章為起始位
默認值:0
$category
(整數)(可選)僅顯示本分類編號下的文章。將分類編號設為負數(如果是3,設為-3),顯示結果不匹配。用逗號將分類編號隔開,或傳遞編號數組,可指定多個分類編號。
默認值:None
$category_name
(字符)(可選)僅顯示本分類名稱或分類縮略名下的文章。
默認值:None
$tag
(字符)(可選)僅顯示本標簽縮略名下的文章。若指定多個用逗號隔開的標簽縮略名,則返回結果是:所有文章都與某個標簽匹配。若指定多個用空格隔開的標簽縮略名,返回結果是:所有文章都與指定標簽縮略名匹配。
默認值:None
$orderby
(字符)(可選)按不同值(用空格隔開)為文章排序,包括:

‘author’ —— 按作者數值編號排序
‘category’ —— 按類別數值編號排序
‘content’ —— 按內容排序
‘date’ —— 按創建日期排序
‘ID’ —— 按文章編號排序
‘menu_order’ —— 按菜單順序排序。僅頁面可用。
‘mime_type’ —— 按MIME類型排序。僅附件可用。
‘modified’ —— 按最后修改時間排序。
‘name’ —— 按存根排序。
‘parent’ —— 按父級ID排序
‘password’ —— 按密碼排序
‘rand’ —— 任意排序結果
‘status’ —— 按狀態排序
‘title’ —— 按標題排序
‘type’ —— 按類型排序
注意:

按編號排序和任意排序自2.5版本起啟用。
默認值:post_date
$order
(字符)(可選)如何對$order排序。可能的值為:

‘ASC’ —— 升序 (低到高)
‘DESC’ —— 降序 (高到底)
默認值:DESC
$include
(字符)(可選)希望顯示的文章編號,用逗號和/或空格隔開。顯示六篇文章時,下列值可能生效:

’45,63,78 94,128,140′
注意:該參數將改寫numberposts,offset,category,exclude,meta_key,meta_value,及post_parent參數。
默認值:None
$exclude
(字符)(可選)不希望顯示的文章編號,用逗號和/或空格隔開(參見$include參數)。
默認值:None
$meta_key 和$meta_value
(字符)(可選)僅顯示含有該關鍵詞和值的元(自定義)字段的文章。兩項參數都應定義,否則無法運行。
默認值:None
$post_type
(字符)(可選)希望顯示的文章類型。可選項有:

post —— 默認
page
attachment
any —— 任意文章類型
默認值:post
$post-status
(字符)(可選)顯示特定狀態的文章。可選項有:

publish
private
draft
future
inherit —— 若$post_type設為附件,則此項為默認選項
(blank)—— 所有狀態
默認值:publish
$post_parent
(整數)(可選)顯示此文章編號下的子文章
默認值:None
$nopaging
(布爾型)(可選)激活或禁用分頁功能。如果禁用,$numberposts選項被略過。
默認值:None

0 0

企業建站推薦正版商業主題,國內專業團隊開發,完善售后,是您不二選擇。

正版主題商店

主題貓WP建站,累計幫助1300+客戶成功建站,為站長提供支持!

立刻開啟你的建站之旅
QQ在線客服

服務熱線

wordpress建站咨詢