无法为Category.php创建分页

时间:2019-10-06 作者:Emmanuel Richman

我正在尝试为我的类别分页。php。我的帖子是自定义帖子类型
当我尝试进入第二页时,出现404 not found错误。我意识到这只会发生在分类上。php,而不是其他页面/模板。

代码为:

<?php                        
                $paged = get_query_var(\'paged\');

                $args = array(
                \'post_type\' => \'products\',
                \'post_status\' => \'publish\',
                \'cat\' => $cat,
                \'posts_per_page\' => 20,
                \'paged\' => $paged
            );

            $query = new WP_Query( $args );

            if ( $query->have_posts() ) :              
                while ( $query->have_posts() ) : $query->the_post();?>
                    <a href="<?php the_permalink();?>">
                        <div class="product">
                            <div class="image-container">
                                <?php the_post_thumbnail();?>
                            </div> 
                            <p class="title"><?php the_title(); ?></p>
                        </div>    
                    </a>                   
                <?php 
                endwhile;?> 
                <div class="pagination-container">
                    <div class="pagination">
                        <?php 
                        echo paginate_links(array(
                            \'total\' => $query->max_num_pages
                        ));?>
                    </div>
                </div>

            <?php endif;?>

1 个回复
SO网友:Aness

检查wordpress templating hierarchy 图形从左到右读取。您有自定义的帖子类型products 因此,您可以重写此文件,并且您的代码应该在产品类别中。php,因为您限制了products posts. 类别php类似,但没有此限制。

   // Your category-products.php loop should be like this
   <!-- Prepare query -->
   $your_query = new WP_Query( array(
     \'post_type\' => \'products\',
     \'posts_per_page\' => 20,
   ));

   if ( $your_query ->have_posts() ) :

   while ( $your_query ->have_posts() ) : $your_query ->the_post();?>
   <!-- Show a card -->
   <a href="<?php the_permalink();?>">
   <div class="product">
   <div class="image-container">
   <?php the_post_thumbnail();?>
   </div> 
   <p class="title"><?php the_title(); ?></p>
   </div>    
   </a>   

   <!-- loop-end -->
   <?php endwhile;  ?>

   <!-- pagination -->
   <div class="col-md-8 post_paginations" style="text-align:center;">
   <?php the_posts_pagination( array(
   \'mid_size\'  => 2,
   \'screen_reader_text\' => __( \' \', \'theme_name\' ),
   \'prev_text\' => __( \'Previous\', \'theme_name\' ),
   \'next_text\' => __( \'Next\', \'theme_name\' ),
   ) ); ?>
   </div>

   <!-- Else -->
   <?php else : ?>
   <h1><?php esc_html_e( \'Sorry, no posts matched your criteria.\' ); ?></h1>
   <?php endif; ?>

相关推荐

Adding pagination to my theme

我想为我的wordpress主题添加一个分页。然而,对我来说,这并不容易,因为我的主题是从插件“AT Posts Column”构建的,该插件在主页上显示最新的帖子。我想将分页添加到此插件:)。我尝试插入分页插件,并将代码粘贴到下面的文件的末尾。确实出现了分页,但当我进入下一页时,只有www.website上的链接发生了变化。com/page/2。请帮助:)。我的网站是http://consolezone.pl插件文件“在Posts列中”:<?php /** * Custom co