I am trying to get pagination working on a custom theme.
I have a post type with custom taxonomies and I have pagination for those custom taxonomies and that works fine.
However on another part of the site I have another custom post type; I am trying to paginate through the posts in this post type. Currently the posts are in a custom taxonomy also in this post type, the custom taxonomy behaves like a category.
The URL structure is http://www.domain.com/latest-news/, however when I go to http://www.domain.com/latest-news/2/ I get a 404 error, this is the problem.
Here is my code (sorry it’s so long):
<?php
$numCats = 0;
$paged = (get_query_var('page')) ? get_query_var('page') : 1;
$posts_per_page = 5;
$offset = ($posts_per_page * $paged - $posts_per_page);
$taxonomies = array(
'latest-cat'
);
$args = array(
'hide_empty' => false,
'parent' => 0,
'orderby' => 'id',
'order' => 'DESC',
'paged' => $paged
);
$terms = get_terms($taxonomies, $args);
foreach ($terms as $term) {
$args = array(
'post_type' => 'latest_news_item',
'oserby' => 'id',
'order' => 'ASC',
'posts_per_page' => -1,
'tax_query' => array(
array(
'taxonomy' => 'latest-cat',
'terms' => $term->term_id
)
)
);
$wp_query = new WP_Query($args);
while ($wp_query->have_posts() ) : $wp_query->the_post();
$numCats++;
endwhile;
$args = array(
'post_type' => 'latest_news_item',
'parent' => 115,
'orderby' => 'id',
'order' => 'ASC',
'posts_per_page' => $posts_per_page,
'offset' => 0,
'paged' => $paged
);
$wp_query = new WP_Query($args);
while ($wp_query->have_posts() ) : $wp_query->the_post();
?>
<div class="news-events-item">
<h3><?php echo get_the_title(); ?></h3>
<?php $content = get_the_content(); ?>
<p class="summary"><?php echo wp_trim_words($content, '30', '...'); ?><a href="<?php echo get_the_permalink(); ?>" class="read-more">More</a></p>
</div>
<?php
endwhile;
} ?>
The $numCats variable is just to count the number of posts so that I can set up the pagination links, and that part works.
Thank you
I have fixed this for myself in this way:
On an archive page of the custom post type “blog”.
this is the classic loop with added arguments for post type “blog” and added “Paged” attribute.
And obviously these points:
At the end, outside of the loop is the pagination output from functions.php
In functions.php is the permalink modification and also modification of the “posts_per_page” set to ONE post, so you can test the pagination.
}
I hope it helps, it works for me.
(sorry for formating, stack overflow editor is totall bull…)