是否可以查询一年前的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