[英]Query latest Wordpress post from a year ago
是否可以查詢一年前的 Wordpress 帖子,或距該日期最近的帖子。
我想要一個“回顧”功能,允許用戶查看我們一年前談論的內容。
我試過翻閱法典,但還沒有找到任何靈感。 有任何想法嗎?
您可以使用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 會更好,只要它可以完成。
更多信息: SQL 查詢顯示最近的日期? https://www.w3schools.com/sql/func_datediff.asp https://codex.wordpress.org/Class_Reference/wpdb
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.