怎么使用get_post與get_posts函數? – wordpres開發

    這兩個函數用的時比較多的,而在官方文檔里寫的卻不怎么去除,這一節的wordpress開發教程就教大家這兩個函數的詳細用法

    在開發wordpress主題時,這兩個函數用的時比較多的,而在官方文檔里寫的卻不怎么去除,這一節的wordpress開發教程就教大家這兩個函數的詳細用法。

    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開發教程:

    WordPress開發 – 怎么調用指定 tag標簽下的所有文章?

    給TA贊賞
    共{{data.count}}人
    人已贊賞
    ??
    Npcink上的部份代碼及教程來源于互聯網,僅供網友學習交流,若您喜歡本文可附上原文鏈接隨意轉載。
    無意侵害您的權益,請發送郵件至 1355471563#qq.com 或點擊右側 私信:Muze 反饋,我們將盡快處理。
    ?
    購物車
    優惠劵
    搜索
    主站蜘蛛池模板: 国产精品一区二区三区99 | 一区二区国产在线观看| 国产av成人一区二区三区| 精品国产亚洲一区二区三区| 在线电影一区二区| 熟女性饥渴一区二区三区| 国产精品无码一区二区三区免费| 亚洲图片一区二区| 国产精品女同一区二区久久 | 无码成人一区二区| 香蕉久久AⅤ一区二区三区| 国产一区二区三区小向美奈子| 在线精品亚洲一区二区| 久久久久人妻精品一区 | 日本免费一区二区久久人人澡| 国产A∨国片精品一区二区| 波多野结衣一区二区免费视频| 国产aⅴ一区二区| 在线免费一区二区| 国产精品无码一区二区在线观| 欧洲精品码一区二区三区| 日韩AV在线不卡一区二区三区| 无遮挡免费一区二区三区| 精品国产一区二区三区2021| 熟妇人妻系列av无码一区二区 | 无码人妻一区二区三区免费n鬼沢| 国产AV午夜精品一区二区三| 中文字幕人妻丝袜乱一区三区| 亚州日本乱码一区二区三区| 91无码人妻精品一区二区三区L| 精品亚洲AV无码一区二区三区| 国产香蕉一区二区在线网站| 国产在线乱子伦一区二区| 国产综合无码一区二区色蜜蜜| 麻豆高清免费国产一区| 无码日韩AV一区二区三区| 无码少妇一区二区浪潮av| 国产品无码一区二区三区在线蜜桃 | 成人精品视频一区二区三区尤物| 国产伦精品一区二区| 波多野结衣一区二区三区aV高清|