詳解WordPress開(kāi)發(fā)中的get_post與get_posts函數(shù)使用
get_post()
在一般主題制作時(shí),get_post()函數(shù)我們一般很少會(huì)用到,但因?yàn)楹竺鏁?huì)講到get_posts(),所以我們不得不先講一下這個(gè)單數(shù)形式。這個(gè)函數(shù)的主要作用是,將一片指定的文章以一個(gè)對(duì)象或是數(shù)組的形式返回,以便我們后期利用。下面讓我們簡(jiǎn)單的了解一下他的使用方法。
get_post()函數(shù)說(shuō)明
WordPress 的函數(shù)名總是那么淺顯易懂,get_post()函數(shù)正如其表,即獲得一篇文章,將一篇指定的文章以一個(gè)對(duì)象或是數(shù)組的形式返回,以便我們后期利用。
函數(shù)使用
<?php get_post($post_id, $output); ?>
$post_id變量,用于設(shè)置將要獲取文章的ID,需要注意的是,這個(gè)變量我們不可以直接給一個(gè)實(shí)際值,那樣會(huì)報(bào)錯(cuò),我們只能以下面這樣的形式調(diào)用。
$pid = 158; get_post($pid); //如果像get_post(158);這樣調(diào)用則會(huì)報(bào)錯(cuò)
$post_id,默認(rèn)值是none,經(jīng)測(cè)試,這個(gè)變量不設(shè)置會(huì)報(bào)錯(cuò),個(gè)人感覺(jué)這個(gè)變量好像沒(méi)有默認(rèn)值。
$output 變量用于設(shè)置返回?cái)?shù)據(jù)的類(lèi)型,有三種,對(duì)象、關(guān)聯(lián)數(shù)組、數(shù)值數(shù)組。
對(duì)象:OBJECT
關(guān)聯(lián)數(shù)組:ARRAY_A
數(shù)值數(shù)組:ARRAY_N
默認(rèn)值:OBJECT
使用實(shí)例
<?php $mypost_id = 158; $post_id_158 = get_post($mypost_id, ARRAY_A); $title = $post_id_158['post_title']; ?>
get_posts
get_posts 函數(shù),簡(jiǎn)單的來(lái)講是 get_post 的復(fù)數(shù)新形勢(shì),但因?yàn)槭俏恼露嗥崛?,所以使用方法上卻略有不同,支持眾多參數(shù)選擇需要提取的文章,在 CMS 主題中經(jīng)常被用到,當(dāng)然如果你對(duì) WordPress 有更深了解的話(huà),你也有可能是用 WP_Query 來(lái)替代該函數(shù),這就是后話(huà)了,今天主要介紹一下 get_posts 函數(shù)。
get_posts 函數(shù)詳解
該函數(shù)屬于 WordPress 的內(nèi)置函數(shù),用于在 WordPress 中提取多篇指定或隨機(jī)文章。
越是描述簡(jiǎn)單的函數(shù),使用起來(lái)就越是復(fù)雜,后面的需要仔細(xì)看咯!
使用方法
<?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是該函數(shù)必要的變量
get_posts( $args )將返回?cái)?shù)組型的變量。
變量參數(shù)詳解
<?php $args = array( //需要提取的文章數(shù) 'numberposts' => 10, //以第幾篇文章為起始位置 'offset' => 0, //分類(lèi)的ID,多個(gè)用逗號(hào)將分類(lèi)編號(hào)隔開(kāi),或傳遞編號(hào)數(shù)組,可指定多個(gè)分類(lèi)編號(hào)。 //大部分 CMS 使用該函數(shù)的重點(diǎn)。 'category' => , //排序規(guī)則(注1) 'orderby' => 'post_date', //升序、降序 'ASC' —— 升序 (低到高) 'DESC' —— 降序 (高到底) 'order' => 'DESC', //要顯示文章的ID 'include' => , //要排除文章的ID 'exclude' => , //自定義字段名稱(chēng) 'meta_key' => , //自定義字段的值,配合上一個(gè)參數(shù),來(lái)選擇顯示符合自定義字段數(shù)值的文章。 'meta_value' => , //post(日志)——默認(rèn),page(頁(yè)面), //attachment(附件),any —— (所有) 'post_type' => 'post', //文章的 mime 類(lèi)型 'post_mime_type' => , //要顯示文章的父級(jí) ID 'post_parent' => , //文章?tīng)顟B(tài) 'post_status' => 'publish' ); ?>
注:
- ‘a(chǎn)uthor' —— 按作者數(shù)值編號(hào)排序
- ‘category' —— 按類(lèi)別數(shù)值編號(hào)排序
- ‘content' —— 按內(nèi)容排序
- ‘date' —— 按創(chuàng)建日期排序
- ‘ID' —— 按文章編號(hào)排序
- ‘menu_order' —— 按菜單順序排序。僅頁(yè)面可用。
- ‘mime_type' —— 按MIME類(lèi)型排序。僅附件可用。
- ‘modified' —— 按最后修改時(shí)間排序。
- ‘name' —— 按存根排序。
- ‘parent' —— 按父級(jí)ID排序
- ‘password' —— 按密碼排序
- ‘rand' —— 任意排序結(jié)果
- ‘status' —— 按狀態(tài)排序
- ‘title' —— 按標(biāo)題排序
- ‘type' —— 按類(lèi)型排序
實(shí)例
剛我們講到用數(shù)組去傳參,當(dāng)然我們也可以用字符串來(lái)給該函數(shù)傳參,下面給一個(gè)簡(jiǎn)單的例子。
<?php $posts_rand = get_posts('numberposts=3&orderby=rand'); ?>
以上代碼用于隨機(jī)在 WordPress 中獲取3篇文章。
總結(jié)
其實(shí) query_posts() 和 get_posts() 函數(shù),接受大部分的參數(shù),使用同樣結(jié)構(gòu)的數(shù)據(jù)庫(kù)查詢(xún)語(yǔ)句,并能達(dá)到一樣的目的,但部分主題作者提示 query_posts()有可能會(huì)擾亂 WordPress 主循環(huán),所以在這里不推薦使用。
get_posts 使用不難,難在獲取文章后怎樣在頁(yè)面中顯示,這里就需要有一定的 PHP 知識(shí)了。
如果是在文章循環(huán)之外想要將查詢(xún)內(nèi)容顯示出來(lái),可以看一下setup_postdata這個(gè)函數(shù),這個(gè)函數(shù)會(huì)給那些用慣了模板標(biāo)簽的童鞋很大的幫助。
- WordPress開(kāi)發(fā)中用于獲取近期文章的PHP函數(shù)使用解析
- WordPress開(kāi)發(fā)中自定義菜單的相關(guān)PHP函數(shù)使用簡(jiǎn)介
- WordPress中用于獲取搜索表單的PHP函數(shù)使用解析
- 在WordPress中使用wp_count_posts函數(shù)來(lái)統(tǒng)計(jì)文章數(shù)量
- 詳解WordPress中調(diào)用評(píng)論模板和循環(huán)輸出評(píng)論的PHP函數(shù)
- 在WordPress中加入Google搜索功能的簡(jiǎn)單步驟講解
- 解析WordPress中的post_class與get_post_class函數(shù)
- WordPress開(kāi)發(fā)中的get_post_custom()函數(shù)使用解析
- 在WordPress中安裝使用視頻播放器插件Hana Flv Player
- 詳解WordPress中分類(lèi)函數(shù)wp_list_categories的使用
- WordPress開(kāi)發(fā)中短代碼的實(shí)現(xiàn)及相關(guān)函數(shù)使用技巧
相關(guān)文章
php組合排序簡(jiǎn)單實(shí)現(xiàn)方法
這篇文章主要介紹了php組合排序簡(jiǎn)單實(shí)現(xiàn)方法,涉及php數(shù)據(jù)結(jié)構(gòu)與數(shù)學(xué)運(yùn)算相關(guān)操作技巧,需要的朋友可以參考下2016-10-10深入掌握include_once與require_once的區(qū)別
要深入掌握include(_once)與require(_once),需要掌握以下幾點(diǎn)內(nèi)容,不過(guò)有人建議不建議使用2013-06-06詳解PHP Swoole長(zhǎng)連接常見(jiàn)問(wèn)題
長(zhǎng)連接就是指在基于tcp的通訊中,一直保持連接,不管當(dāng)前是否發(fā)送或者接收數(shù)據(jù)。本文將詳細(xì)介紹PHP Swoole長(zhǎng)連接的常見(jiàn)問(wèn)題。2021-05-05一個(gè)嚴(yán)格的PHP Session會(huì)話(huà)超時(shí)時(shí)間設(shè)置方法
這篇文章主要介紹了一個(gè)嚴(yán)格的PHP Session會(huì)話(huà)超時(shí)時(shí)間設(shè)置方法,著重點(diǎn)在于結(jié)合兩種方法保證超時(shí)時(shí)間到,會(huì)話(huà)失效,需要的朋友可以參考下2014-06-06PHP計(jì)算指定日期所在周的開(kāi)始和結(jié)束日期的方法
這篇文章主要介紹了PHP計(jì)算指定日期所在周的開(kāi)始和結(jié)束日期的方法,涉及php操作日期時(shí)間的技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-03-03php array_map與array_walk比較案例詳解
這篇文章主要介紹了php array_map與array_walk比較案例詳解,本篇文章通過(guò)簡(jiǎn)要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下2021-09-09