情况
我试图在Wordpress 4.1中对一些记录进行分页。我有一个自定义的帖子类型(事件)和一个名为'training'的类别。我创建了一个自定义类别模板(category-training.php),用于创建query_posts()。
我在category-training.php
中有以下内容$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
$args = array(
'post_type' => 'events',
'cat' => "20", //(The training category id)
'paged' => $paged,
);
query_posts($args);
if ( have_posts() ) :
while ( have_posts() ) : the_post();
?> the_title();<?php
endwhile;
$big = 999999999; // need an unlikely integer
global $wp_query;
echo paginate_links( array(
'base' => str_replace( $big, '%#%', esc_url( get_pagenum_link( $big ) ) ),
'format' => '?paged=%#%',
'current' => max( 1, get_query_var('paged') ),
'total' => $wp_query->max_num_pages
)
);
endif;
问题
当我访问我的网站www.site.com/category/training/
时我看到了我期待的前12个记录。分页链接位于下方,表示正确的页数。但是当我点击进入另一个页面(或手动输入网址)时,我将被带到404页面。
更多信息
问题的关键似乎是我将帖子类型设置为事件。如果我把它拿出来并在培训类别中放置大量的常规帖子,那么分页工作正常。我还注意到如果我然后恢复指定post_type我有时可以进入第一页或第二页 - 我认为发生的是页面是根据预期的类别帖子设置的,但不包括其他post_types =所以如果有的话该类别中的36个普通帖子 - 我可以访问第3页(每页12个) - 基本上忽略了custom_post类型?