是否可以查詢一年前的Wordpress帖子,或最近的帖子到該日期。查詢最新的WordPress的帖子從一年前
我想要一個'lookback'功能,允許用戶查看我們前一年在說什麼。
我已經試過尋找通過codex,但沒有找到任何靈感。有任何想法嗎?
是否可以查詢一年前的Wordpress帖子,或最近的帖子到該日期。查詢最新的WordPress的帖子從一年前
我想要一個'lookback'功能,允許用戶查看我們前一年在說什麼。
我已經試過尋找通過codex,但沒有找到任何靈感。有任何想法嗎?
您可以使用WP_Query
運行查詢,該查詢將爲您找到一組子帖子。因爲date_query
函數可以處理任何將被strtotime
識別的值,所以爲了方便起見,可以使用'-1年'。
<?php
$args = array(
'post_count' => 1,
'date_query' => array(array('before' => '-1 year')),
'posts_per_page' => 1
);
$lookback = new WP_Query($args);
while ($lookback->have_posts()) : ?>
<div>
<h1>One year ago you posted:</h1>
<?php $lookback->the_post(); ?>
</div>
<?php endwhile; ?>
以下應工作(未經測試):
global $wpdb;
$nearest_one_year_ago = $wpdb->get_var("SELECT id
FROM $wpdb->posts
ORDER BY ABS(DATEDIFF(post_date, ".date("Y-m-d",strtotime("-1 year", time())."))
LIMIT 1");
$post = get_post($nearest_one_year_ago);
// ... go on
說明:只需找到您複雜的查詢問題工作SQL查詢,然後使用WPDB $。不過通常使用WP_Query只要可以完成就可以使用WP_Query。
的更多信息: SQL Query to show nearest date? https://www.w3schools.com/sql/func_datediff.asp https://codex.wordpress.org/Class_Reference/wpdb
感謝 - 這並沒有完全爲我工作,但使我說沒有代碼工作 '的$ args =陣列( 'post_type'=>'播客」, 'date_query'=>數組( 陣列( '前'=> '-1年', ) ) 'posts_per_page'=> 1 ); $ lookback = new WP_Query($ args); while($ lookback-> have_posts()):$ lookback-> the_post(); ' –
謝謝,@KevinRobinson。如果你可以通過投票回答我的答案並將其標記爲正確的,那將是非常感謝。 – funwhilelost