我正在使用自定义查询仅检索过去 30 天内发布的自定义帖子类型的帖子。
我安装了 wp-paginate 并使用它进行分页。该页面本身运行良好,但 wp-paginate 似乎为所有帖子显示了足够的页面,无论它们是否被返回,但自定义查询。
例如,有 35 个发布的帖子,但在过去 30 天内只有 12 个。WP-Paginate 应该只显示过去 30 天内所有 12 个帖子的 2 页,但它显示 4 页,第 3 页和第 4 页为空白。
我的查询代码是:
<?php
$current_page = (get_query_var('paged')) ? get_query_var('paged') : 1;
function filter_where($where = '') {
$where .= " AND post_date > '" . date('Y-m-d', strtotime('-30 days')) . "'";
return $where;
}
$jobPosts = null;
add_filter('posts_where', 'filter_where');
$jobPosts = new WP_Query('post_type=job_boards&paged=' . $current_page);
remove_filter('posts_where', 'filter_where');
while ($jobPosts -> have_posts()) : $jobPosts -> the_post();
// Display stuff
endwhile; wp_reset_postdata();
if (function_exists('wp_paginate')) wp_paginate();
?>