2024国产成人精品免费视频|日本免费一区二区三区毛片|久久97超碰色中文字幕|亚洲天堂a中文字幕

WordPress按指定時間調(diào)用文章(如最近一周、一月、一年)的方法

2016-10-12 15:18 欄目:技術(shù)開發(fā) 查看(17161)

使用WordPress開發(fā)網(wǎng)站,不管是做企業(yè)網(wǎng)站,還是個人博客,還是具備下單支付功能的商城。往往少不了諸如”最多關(guān)注”、”最多評論”、”熱賣商品”等等,總而言之,實際上這就是推薦。當然WordPress默認只有一個評論數(shù)據(jù),而諸如銷量、瀏覽量等等是需要通過postmeta來擴充的,關(guān)于怎么按照自定義字段進行文章排序可以參考我前兩天發(fā)布的文章《WordPress按照文章自定義字段進行排序的內(nèi)部調(diào)用方法》。

大家可能都在思考一個這樣的問題?既然是按照某個指標進行排序,我們可能聽說過馬太效應,就拿最多瀏覽量文章排序來講,越是熱門的文章越會堅挺在最前面。換而言之,在你推薦的位置,很可能永遠都是那幾篇文章,比如5年后還是現(xiàn)在的某篇文章排在里面;而我們之所以弄一個排序就是供用戶參考的,如果時間太長這個參考幾乎沒有意義。那么我們能不能在加一個約束條件呢?比如一周熱門、一月熱門、本年度熱門等等。

當然,這僅僅是一個基礎(chǔ)查詢問題,是一定可以實現(xiàn)的。但是我們盡量能使用其自帶方法來完成操作,大家可能第一想到的就是query_posts這個方法,但網(wǎng)上寫這個方法的參考大多是一些基礎(chǔ)查詢,而針對這種較為“冷門”的并沒有太多關(guān)注。這我們可以參考官網(wǎng)文檔或者直接參考方法源代碼。

實際上,在query.php中,也就是query_posts對應的文件,其實就是一個WP_Query類,在里面有一個$date_query,而它是WP_Date_Query的一個實例。實際上WP_Date_Query類在官網(wǎng)文檔中就有,文檔地址:https://developer.wordpress.org/reference/classes/wp_date_query/。相關(guān)調(diào)用規(guī)則如下:

$date_query = new WP_Date_Query( array(
	'column' => '可選,日期查詢針對的數(shù)據(jù)列,默認為 post_date',
	'compare' => '可選,一些比較運算的符號,在 WP_Date_Query::get_compare()中 有定義(如 '=', '!=', '>', '>=', '<', '<=', 'IN', 'NOT IN', 'BETWEEN', 'NOT BETWEEN')',
	'relation' => '可選,OR 或者 AND,當下面緊接著設(shè)定的日期數(shù)組超過 2 組時,通過這個參數(shù)來決定其組合關(guān)系,默認為 AND',
	array(
		'column' => '要求同上',
		'compare' => '要求同上',
		'after' => '字符串或數(shù)組,參考 WP_Date_Query::build_mysql_datetime()',
		'before' => '字符串或數(shù)組,參考 WP_Date_Query::build_mysql_datetime()',
		'inclusive' => '布爾值,針對上面的 after/before,是否要精確匹配給定日期',
		'year' => '4 位整數(shù)',
		'month' => '整數(shù),1-12',
		'week' => '整數(shù),0-53',
		'day' => '整數(shù),1-31',
		'hour' => '整數(shù),0-23',
		'minute' => '整數(shù),0-60',
		'second' => '整數(shù),0-60',
	),
	array(
		...
	),
	...
) );

然后可以在WP_Query或者query_posts中調(diào)用,如調(diào)用一個月內(nèi)最多閱讀量的十篇文章。

//時間約束
$date_query=array(
 array(
 'column' => 'post_date',
 'before' => date('Y-m-d H:i',time()),
 'after' =>date('Y-m-d H:i',time()-3600*24*30)
 )
);
//查詢條件
$args=array(
 'meta_key' => 'views',
 'orderby' => 'meta_value_num',
 'posts_per_page'=>10,
 'date_query' => $date_query,
 'order' => 'DESC'
 );
//查詢
 query_posts($args);
與我們的項目經(jīng)理聯(lián)系
掃二維碼與項目經(jīng)理溝通

我們在微信上24小時期待你的聲音

解答本文疑問/技術(shù)咨詢/運營咨詢/技術(shù)建議/互聯(lián)網(wǎng)交流

轉(zhuǎn)載請注明出處:WordPress按指定時間調(diào)用文章(如最近一周、一月、一年)的方法 - 微構(gòu)網(wǎng)絡(luò)
分享:
贵溪市| 全南县| 汤阴县| 乐山市| 清水河县| 中西区| 筠连县| 嘉祥县| 北票市| 石景山区| 隆昌县| 苏州市| 吉木乃县| 信阳市| 高阳县| 祁门县| 壤塘县| 山阴县| 驻马店市| 临夏县| 隆尧县| 安远县| 大安市| 肥西县| 微山县| 方山县| 杨浦区| 中宁县| 若尔盖县| 汕尾市| 上犹县| 东乌珠穆沁旗| 镇远县| 凤山县| 东乌珠穆沁旗| 海南省| 布尔津县| 虹口区| 江西省| 深水埗区| 新巴尔虎左旗|