カスタム クエリを使用して、カスタム投稿タイプの過去 30 日間に公開された投稿のみを取得しています。
wp-paginate をインストールして、ページネーションに使用しています。ページ自体は正常に動作していますが、wp-paginate は、返されたかどうかに関係なく、すべての投稿に対して十分なページを表示しているようですが、カスタム クエリです。
たとえば、公開された投稿は 35 件ありますが、過去 30 日間で 12 件しかありません。WP-Paginate では、過去 30 日間の 12 件の投稿すべてに対して 2 ページしか表示されないはずですが、3 ページと 4 ページが空白で 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();
?>