查询一年前最新的Wordpress帖子

时间:2017-02-14 19:08:17

标签: php wordpress

是否可以查询一年前的Wordpress帖子,或截至该日期的最近的帖子。

我希望有一个“回顾”功能,允许用户查看我们之前一年所谈论的内容。

我尝试过查看手抄本,但尚未找到任何灵感。有什么想法吗?

2 个答案:

答案 0 :(得分:1)

您可以使用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; ?>

答案 1 :(得分:0)

以下内容应该有效(未经测试):

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 Query to show nearest date? https://www.w3schools.com/sql/func_datediff.asp https://codex.wordpress.org/Class_Reference/wpdb