国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > CMS > Wordpress > 正文

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

2024-09-07 00:40:19
字體:
來源:轉載
供稿:網友

這篇文章主要介紹了WordPress開發中的get_post與get_posts函數使用,其中一般使用get_posts()函數來返回文章數組而較少使用get_post(),需要的朋友可以參考下

get_post()

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

get_post()函數說明

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

函數使用

  1. <?php 
  2.  get_post($post_id$output);  
  3. ?> 

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

$pid = 158;

get_post($pid);

如果像get_post(158);這樣調用則會報錯,$post_id,默認值是none,經測試,這個變量不設置會報錯,個人感覺這個變量好像沒有默認值。

$output 變量用于設置返回數據的類型,有三種,對象、關聯數組、數值數組。

對象:OBJECT

關聯數組:ARRAY_A

數值數組:ARRAY_N

默認值:OBJECT

使用實例

  1. <?php 
  2. $mypost_id = 158; 
  3. $post_id_158 = get_post($mypost_id, ARRAY_A); 
  4. $title = $post_id_158['post_title']; 
  5. ?> 

get_posts

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

get_posts 函數詳解

該函數屬于 WordPress 的內置函數,用于在 WordPress 中提取多篇指定或隨機文章。

越是描述簡單的函數,使用起來就越是復雜,后面的需要仔細看咯!

使用方法

  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. ?> 

$args是該函數必要的變量

get_posts( $args )將返回數組型的變量。

變量參數詳解

  1. <?php  
  2. $args = array
  3.   //需要提取的文章數 
  4.   'numberposts'   => 10, 
  5.    
  6.   //以第幾篇文章為起始位置 
  7.   'offset'     => 0, 
  8.    
  9.   //分類的ID,多個用逗號將分類編號隔開,或傳遞編號數組,可指定多個分類編號。 
  10.   //大部分 CMS 使用該函數的重點。 
  11.   'category'    => , 
  12.    
  13.   //排序規則(注1) 
  14.   'orderby'     => 'post_date'
  15.    
  16.   //升序、降序 'ASC' —— 升序 (低到高) 'DESC' —— 降序 (高到底) 
  17.   'order'      => 'DESC'
  18.    
  19.   //要顯示文章的ID 
  20.   'include'     => , 
  21.    
  22.   //要排除文章的ID 
  23.   'exclude'     => , 
  24.    
  25.   //自定義字段名稱 
  26.   'meta_key'    => , 
  27.   //自定義字段的值,配合上一個參數,來選擇顯示符合自定義字段數值的文章。 
  28.   'meta_value'   => , 
  29.    
  30.   //post(日志)——默認,page(頁面), 
  31.   //attachment(附件),any —— (所有) 
  32.   'post_type'    => 'post'
  33.    
  34.   //文章的 mime 類型 
  35.   'post_mime_type' => , 
  36.    
  37.   //要顯示文章的父級 ID 
  38.   'post_parent'   => , 
  39.    
  40.   //文章狀態 
  41.   'post_status'   => 'publish' ); 
  42. ?> 

注:

‘author' —— 按作者數值編號排序

‘category' —— 按類別數值編號排序

‘content' —— 按內容排序

‘date' —— 按創建日期排序

‘ID' —— 按文章編號排序

‘menu_order' —— 按菜單順序排序。僅頁面可用。

‘mime_type' —— 按MIME類型排序。僅附件可用。

‘modified' —— 按最后修改時間排序。

‘name' —— 按存根排序。

‘parent' —— 按父級ID排序

‘password' —— 按密碼排序

‘rand' —— 任意排序結果

‘status' —— 按狀態排序

‘title' —— 按標題排序

‘type' —— 按類型排序

實例:

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

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

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

總結

其實 query_posts() 和 get_posts() 函數,接受大部分的參數,使用同樣結構的數據庫查詢語句,并能達到一樣的目的,但部分主題作者提示 query_posts()有可能會擾亂 WordPress 主循環,所以在這里不推薦使用。

get_posts 使用不難,難在獲取文章后怎樣在頁面中顯示,這里就需要有一定的 PHP 知識了。

如果是在文章循環之外想要將查詢內容顯示出來,可以看一下setup_postdata這個函數,這個函數會給那些用慣了模板標簽的童鞋很大的幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 南昌县| 隆昌县| 贡觉县| 广丰县| 永济市| 呼伦贝尔市| 崇仁县| 静海县| 临夏市| 珲春市| 华宁县| 榆社县| 台安县| 文登市| 报价| 江安县| 怀远县| 宁阳县| 潍坊市| 玉屏| 抚顺市| 牙克石市| 梁平县| 秦安县| 南康市| 张家港市| 耒阳市| 突泉县| 丽江市| 凉城县| 南召县| 张家川| 武义县| 天峨县| 博乐市| 湟源县| 都昌县| 吉水县| 敦煌市| 宿州市| 镶黄旗|