遇到 wordpress 问题,使用 WP_Query 将过去五天的最后三个帖子拉到一个页面上。
这是我的过滤器,也是我设置 wp_query 新实例的地方:
<?php
get_header();
function filter_where( $where = '' ) {
$where .= " AND post_date > '" . date('Y-m-d', strtotime('-5 days')) . "'";
return $where;
}
$args = array(
'post_type' => 'post',
'post_status' => 'publish',
'posts_per_page' => '3'
);
add_filter( 'posts_where', 'filter_where' );
$query = new WP_Query( $args );
?>
然后我有我的循环:
<?php while($query->have_posts()): $query->the_post();?>
<br/>
<i><?php echo get_the_date(); ?></i>
<br/>
<b><?php the_title(); ?></b>
<br/>
<?php the_excerpt(); ?>
<br/>
<?php endwhile; ?>
这一切都很好——三个帖子被拉进来,但一些额外的帖子也在查询之外。
我没有覆盖的页面是否还有其他功能?所有这些代码都驻留在页面模板文件中,我怀疑有一些神奇的代码会在我似乎找不到的页面上执行。
另外,我知道我正确地抓住了这些,因为我可以更改使用“posts_per_page”或任何其他属性显示的帖子数量,但早期的帖子不受影响。
感谢您的帮助,如果需要,我可以提供更多代码。