分页(第/2页/)在归档页面上显示404

时间:2018-03-23 作者:Jordan Carter

我在存档中有一个自定义WP\\U查询。我知道这并不理想,但当我尝试将其切换为pre\\u get\\u posts选项时,我的页面只会进入一个无限循环,因此我宁愿使用WP查询。问题是分页将我发送到/page/2上的404错误。

我的查询(后面还添加了一些分类法和元查询)

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

  $query_args = array(
   \'post_type\' => \'product\',
   \'posts_per_page\' => 2,
   \'paged\' => $paged,
  );
这是我的分页功能

function pagination($query){ ?>
  <ul class="pagination">
    <?php
        $pages = paginate_links( array(
            \'base\'         => str_replace( 999999999, \'%#%\', esc_url( get_pagenum_link( 999999999 ) ) ),
            \'total\'        => $query->max_num_pages,
            \'current\'      => max( 1, get_query_var( \'paged\' ) ),
            \'format\'       => \'?paged=%#%\',
            \'show_all\'     => false,
            \'type\'         => \'array\',
            \'end_size\'     => 2,
            \'mid_size\'     => 1,
            \'prev_next\'    => true,
            \'prev_text\'    => \'<span class ="fa fa-caret-left" aria-hidden="true"></span><span class="prev-text">Prev</span>\',
            \'next_text\'    => \'<span class="next-text">Next</span> <span class ="fa fa-caret-right" aria-hidden="true"></span>\',
            \'add_args\'     => false,
            \'add_fragment\' => \'\',
        ) );

      if (is_array($pages)):
        foreach ($pages as $p): ?>
          <li class="pagination-item js-ajax-link-wrap">
            <?php echo $p; ?>
          </li>
        <?php endforeach;
      endif; ?>
  </ul>
<?php
}
分页显示正确。。。问题是,当我转到“/页/2”时,它会抛出404错误。

2 个回复
最合适的回答,由SO网友:Jordan Carter 整理而成

找到答案!!!

将其放入函数中。php(或必需的文件)。当然,可以根据您的需要进行更改。我需要一些只适用于产品类别归档的东西。

function modify_product_cat_query( $query ) {
  if (!is_admin() && $query->is_tax("product_cat")){
       $query->set(\'posts_per_page\', 2);
  }
}
add_action( \'pre_get_posts\', \'modify_product_cat_query\' );
我还从WP\\u查询中取出了posts\\u per\\u page参数。

SO网友:Amin

在我禁用了的插件之后orbisius simple shortlink 问题解决了!它覆盖站点。com/page/123链接被重定向到页面ID。

结束

相关推荐

Pagination reset problem

我需要修复此网页。如果您想查看代码,请附上此页。当用户做出选择时,每个选项卡上的分页不会重置为1。这需要在他们单击选项卡时重置,如果要返回结果,分页显示为1。用户必须仍然能够通过url直接访问页面,即:http://thedemonsjumble.com/pcdev/archives/category/uncategorised/page/3/#latest有没有人对如何着手解决这个问题有什么想法。任何hep都将不胜感激。亲切的问候更改选项卡的链接:<div class=\"container\"&