WordPress自定义帖子类型存档分页导致404错误

时间:2019-02-07 20:25:56

标签: php wordpress

每当我尝试使用存档的分页访问另一个页面时,都会出现404错误。显然,这是一个众所周知的问题,但到目前为止,在我的情况下,没有解决方案。我可能会一直把它应用错了。

以下是我在网上和法典中找到的建议,目前我已为自定义帖子类型设置了存档页面模板,如下所示:

$paged = ( get_query_var( 'paged' ) ) ? absint( get_query_var( 'paged' ) ) : 1;

$args = array(
    'post_type' => 'application',
    'posts_per_page' => 2,
    'paged' => $paged
);

$query = new WP_Query($args);

if ($query->have_posts()) { ?>

    <div class="posts">
        <!-- THE POSTS -->
    </div>

    <?php
    $big = 999999999; // unlikely integer

    echo paginate_links( array(
        'base' => str_replace( $big, '%#%', esc_url( get_pagenum_link( $big ) ) ),
        'format' => '?paged=%#%',
        'prev_next'    => true,
        'prev_text'    => sprintf( '<i></i> %1$s', __( 'Previous', 'textdomain' ) ),
        'next_text'    => sprintf( '%1$s <i></i>', __( 'Next', 'textdomain' ) ),
        'current' => max( 1, get_query_var('paged') ),
        'total' => $query->max_num_pages
    ) );

    wp_reset_postdata();

} ?>

,并将我的永久链接设置为/%category%/%postname%/。我知道这可能是问题的一部分。

这就是我有点迷路的地方。我究竟做错了什么?任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

我将第一行更改为:

$paged = (get_query_var('paged')) ? get_query_var('paged') : 1 ?>

也可以在第一行之后添加此行:

$number_of_posts = get_option('posts_per_page', 2);