溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

WordPress中get_post與get_posts函數如何使用

發布時間:2021-07-14 15:51:03 來源:億速云 閱讀:190 作者:Leah 欄目:開發技術

這篇文章將為大家詳細講解有關WordPress中get_post與get_posts函數如何使用,文章內容質量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。

get_post() 

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');
?>

總結

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

關于WordPress中get_post與get_posts函數如何使用就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女