是否可以查询一年前的Wordpress帖子,或截至该日期的最近的帖子。
我希望有一个“回顾”功能,允许用户查看我们之前一年所谈论的内容。
我尝试过查看手抄本,但尚未找到任何灵感。有什么想法吗?
答案 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