在Wordpress 4.1中分类自定义帖子类型会产生404错误

时间:2015-01-15 14:51:30

标签: wordpress pagination wordpress-plugin wordpress-theming custom-post-type

情况

我试图在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类型?

0 个答案:

没有答案