Php 使用带有分页的查询文章时,Wordpress返回404

Php 使用带有分页的查询文章时,Wordpress返回404,php,wordpress,pagination,Php,Wordpress,Pagination,我在我的分类模板上使用了一个简单的循环,带有一个用于分页的自定义函数。第一页工作得很好,但是当我想用next按钮进入下一页(/page/2)时,我得到了一个404错误 在my category.php中: <?php $paged = (get_query_var('paged')) ? get_query_var('paged') : 1; $args = array ( 'category' => ID, 'posts_per_page' => 6, 'paged' =&g

我在我的分类模板上使用了一个简单的循环,带有一个用于分页的自定义函数。第一页工作得很好,但是当我想用next按钮进入下一页(/page/2)时,我得到了一个404错误

在my category.php中:

<?php
$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
$args = array ( 'category' => ID, 'posts_per_page' => 6, 'paged' => $paged);
$myposts = query_posts( $args );
if(have_posts()) :
      foreach( $myposts as $post ) :    setup_postdata($post);
      ?>    
      <article>
      ...
      </article>
      <?php
      endforeach;
else :
      echo '<p class="intro-contact">' . _e( 'No news available', 'cja_theme' ) . '</p>';
endif;
cja_numeric_posts_nav();
?>

这就是为什么您永远不应该使用query_posts,也就是为什么您永远不应该使用自定义查询来替换任何类型的归档页面上的主查询

要解决问题,请按原样返回默认循环

if(have_posts()) {
   while(have_posts()) {
     the_post();

       //YOUR LOOP ELEMENTS

    }
}
然后,在functions.php中,使用相应地修改主查询

function ppp_category( $query ) {
    if ( !is_admin && $query->is_category() && $query->is_main_query() ) {
        $query->set( 'posts_per_page', '6' );
    }
}
add_action( 'pre_get_posts', 'ppp_category' );

这正是您永远不应该使用
query\u posts
的原因,也是您永远不应该使用自定义查询替换任何类型的存档页面上的主查询的原因
if(have_posts()) {
   while(have_posts()) {
     the_post();

       //YOUR LOOP ELEMENTS

    }
}
function ppp_category( $query ) {
    if ( !is_admin && $query->is_category() && $query->is_main_query() ) {
        $query->set( 'posts_per_page', '6' );
    }
}
add_action( 'pre_get_posts', 'ppp_category' );