简体   繁体   中英

WordPress Category Pagination not working

I have two custom post types from the archive.php One is archive-slug.php and the other is category-slug.php. The pagination works on the archive-slug.php but the same code on the category-slug.php won't even show. I'm somewhat new to Wordpress and php so i'm sure i'm missing something here, I just don't know what?

<?php 
// Custom Post Type
    $paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
    $args = array(
        'post_type' => 'available_dogs',
        'category_name' => 'adopted-dogs',
        'posts_per_page'=> 9,
        'paged'=> $paged
    );
    $the_query = new WP_Query( $args ); ?>
        <?php if ( $the_query->have_posts() ) : ?>
            <?php while ( $the_query->have_posts() ) : $the_query->the_post();     ?>   
            <div class="dog-info-box col-lg-4 col-sm-6 col-xs-12">...</div>  
            <?php endwhile; ?>
            <!-- end of the loop -->
            <?php wp_reset_postdata(); ?>
        <?php else : ?>
            <p><?php _e( 'Sorry, no posts matched your criteria.' ); ?></p>
        <?php endif; ?>
    </div>
<?php 
// Get the pagination
fusion_pagination( $pages = '', $range = 2 );
?> 
<?php if( $sidebar_exists == true ): ?>
<?php wp_reset_query(); ?>


As I want to inform you that when you create a file "

category-slug.php  : it's an default template.No need to add the query posts.
It will display the posts of the category whose slug is added in file like category-slug.php.
Here is the modifying code.
  if (have_posts() ) :while ( have_posts() ) : the_post(); the_content();//content is going on. endwhile; 
//pagination function
fusion_pagination( $pages = '', $range = 2 );
else : _e( 'Sorry, no posts matched your criteria.' );
endif;
\n if (have_posts() ) :while ( have_posts() ) : the_post(); the_content();//content is going on. endwhile;
//pagination function
fusion_pagination( $pages = '', $range = 2 );
else : _e( 'Sorry, no posts matched your criteria.' );
endif;

Precaution :1:Pagination code should be placed just before of the while loop.
2:In your code pagination code have been place after the endif that's why it is not working.
Thanking you.

I used this code and got it working. It's not pretty but it will do for now. For what ever reason when I try to use it after the loop it doesn't work. When I use it after the endif it works.

    <?php if ($the_query->max_num_pages > 1) { // check if the max number of    pages is greater than 1  ?>
      <nav class="prev-next-posts">
         <div class="prev-posts-link">
            <?php echo get_next_posts_link( 'Older Entries', $the_query->max_num_pages ); // display older posts link ?>
         </div>
         <div class="next-posts-link">
            <?php echo get_previous_posts_link( 'Newer Entries' ); // display newer posts link ?>
         </div>
      </nav>
    <?php } ?>

Please follow this steps. 1: Please make sure, your category have the posts.
2: If your category slug is "test" then your file name should be " category-test.php . if any confusion then please let me know.

3: See the code and write in file.

if(have_posts()) :
while(have_posts()): the_post();
the_title();
the_content();
endwhile;
//pagination of wp previous_posts_link( '« Newer Entries' ); next_posts_link( 'Older Entries »', 0 );
endif;

Note:
1:Please place this code in file and run if it will running successfully, then we will add the designing part.
2: If you can share the website URL then I can also give suitable solution because then I can seen the category slug etc .
Please let me know if still needs problem.
Thanking.

I finally fixed a variation of this same issue.

This issue was occurring with category archive pagination.

Initially thought it was within the Loop - turns out the theme I was working on had these filters in a file, custom.php, which manually rewrote the permalink structure.

add_filter('category_link', 'themename_change_archive_link', 100, 2);
add_action('init', 'themename_archive_rewrite', 50);

Pagination didn't like that due to what looks like a conflict with a recent WooCommerce update , so I removed these filters, used the Custom Permalink plugin to rewrite the category permalinks, and it worked! Now I have a custom permalink structure AND functioning category pagination.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM