詳解WordPress開發中的get_post與get_posts函數使用,wordpressget_post_PHP教程

來源:互聯網
上載者:User

詳解WordPress開發中的get_post與get_posts函數使用,wordpressget_post


get_post()
在一般主題製作時,get_post()函數我們一般很少會用到,但因為後面會講到get_posts(),所以我們不得不先講一下這個單數形式。這個函數的主要作用是,將一片指定的文章以一個對象或是數組的形式返回,以便我們後期利用。下面讓我們簡單的瞭解一下他的使用方法。

get_post()函數說明
WordPress 的函數名總是那麼淺顯易懂,get_post()函數正如其表,即獲得一篇文章,將一篇指定的文章以一個對象或是數組的形式返回,以便我們後期利用。

函數使用

<?php get_post($post_id, $output); ?>

$post_id變數,用於設定將要擷取文章的ID,需要注意的是,這個變數我們不可以直接給一個實際值,那樣會報錯,我們只能以下面這樣的形式調用。

$pid = 158;get_post($pid);//如果像get_post(158);這樣調用則會報錯

$post_id,預設值是none,經測試,這個變數不設定會報錯,個人感覺這個變數好像沒有預設值。

$output 變數用於設定返回資料的類型,有三種,對象、關聯陣列、數值數組。
對象:OBJECT
關聯陣列:ARRAY_A
數值數組:ARRAY_N
預設值:OBJECT

使用執行個體

<?php$mypost_id = 158;$post_id_158 = get_post($mypost_id, ARRAY_A);$title = $post_id_158['post_title'];?>

get_posts
get_posts 函數,簡單的來講是 get_post 的複數新形勢,但因為是文章多篇提取,所以使用方法上卻略有不同,支援眾多參數選擇需要提取的文章,在 CMS 主題中經常被用到,當然如果你對 WordPress 有更深瞭解的話,你也有可能是用 WP_Query 來替代該函數,這就是後話了,今天主要介紹一下 get_posts 函數。

get_posts 函數詳解
該函數屬於 WordPress 的內建函數,用於在 WordPress 中提取多篇指定或隨機文章。
越是描述簡單的函數,使用起來就越是複雜,後面的需要仔細看咯!

使用方法

<?php $args = array(  'numberposts'   => 5,  'offset'     => 0,  'category'    => ,  'orderby'     => 'post_date',  'order'      => 'DESC',  'include'     => ,  'exclude'     => ,  'meta_key'    => ,  'meta_value'   => ,  'post_type'    => 'post',  'post_mime_type' => ,  'post_parent'   => ,  'post_status'   => 'publish' );$posts_array = get_posts( $args ); ?>

$args是該函數必要的變數
get_posts( $args )將返回數組型的變數。

變數參數詳解

<?php $args = array(  //需要提取的文章數  'numberposts'   => 10,   //以第幾篇文章為起始位置  'offset'     => 0,   //分類的ID,多個用逗號將分類編號隔開,或傳遞編號數組,可指定多個分類編號。  //大部分 CMS 使用該函數的重點。  'category'    => ,   //定序(注1)  'orderby'     => 'post_date',   //升序、降序 'ASC' —— 升序 (低到高) 'DESC' —— 降序 (高到底)  'order'      => 'DESC',   //要顯示文章的ID  'include'     => ,   //要排除文章的ID  'exclude'     => ,   //自訂欄位名稱  'meta_key'    => ,  //自訂欄位的值,配合上一個參數,來選擇顯示符合自訂欄位數值的文章。  'meta_value'   => ,   //post(日誌)——預設,page(頁面),  //attachment(附件),any —— (所有)  'post_type'    => 'post',   //文章的 mime 類型  'post_mime_type' => ,   //要顯示文章的父級 ID  'post_parent'   => ,   //文章狀態  'post_status'   => 'publish' );?>

註:

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

執行個體
剛我們講到用數組去傳參,當然我們也可以用字串來給該函數傳參,下面給一個簡單的例子。

<?php$posts_rand = get_posts('numberposts=3&orderby=rand');?>

以上代碼用於隨機在 WordPress 中擷取3篇文章。

總結
其實 query_posts() 和 get_posts() 函數,接受大部分的參數,使用同樣結構的資料庫查詢語句,並能達到一樣的目的,但部分主題作者提示 query_posts()有可能會擾亂 WordPress 主迴圈,所以在這裡不推薦使用。
get_posts 使用不難,難在擷取文章後怎樣在頁面中顯示,這裡就需要有一定的 PHP 知識了。
如果是在文章迴圈之外想要將查詢內容顯示出來,可以看一下setup_postdata這個函數,這個函數會給那些用慣了模板標籤的童鞋很大的協助。

您可能感興趣的文章:

  • WordPress開發中用於擷取近期文章的PHP函數使用解析
  • WordPress開發中自訂菜單的相關PHP函數使用簡介
  • WordPress中用於擷取搜尋表單的PHP函數使用解析
  • 在WordPress中使用wp_count_posts函數來統計文章數量
  • 詳解WordPress中調用評論模板和迴圈輸出評論的PHP函數
  • 在WordPress中加入Google搜尋功能的簡單步驟講解
  • 解析WordPress中的post_class與get_post_class函數
  • WordPress開發中的get_post_custom()函數使用解析
  • 在WordPress中安裝使用視頻播放器外掛程式Hana Flv Player
  • 詳解WordPress中分類函數wp_list_categories的使用
  • WordPress開發中短代碼的實現及相關函數提示

http://www.bkjia.com/PHPjc/1088782.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/1088782.htmlTechArticle詳解WordPress開發中的get_post與get_posts函數使用,wordpressget_post get_post() 在一般主題製作時,get_post()函數我們一般很少會用到,但因為後面會...

  • 相關文章

    聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.