Hi, I have a page called page-media-list.php (Media List). It queries all the posts that are format gallery or video (a list of media posts). My pagination works on archives and taxonomy queries, just not here for some reason.
But pagination is not working. Here is my page-media-list.php code:
<?php
$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
$medialist = new WP_Query(
array(
'post_type' => array('post', 'advertorials'),
'posts_per_page' => 15,
'tax_query' => array(
array(
'taxonomy' => 'post_format',
'field' => 'slug',
'terms' => array( 'post-format-gallery', 'post-format-video' ),
)
),
'paged' => $paged
)
);
?>
<?php if ($medialist->have_posts()): while ($medialist->have_posts()) : $medialist->the_post(); ?>
<?php get_template_part('templates/content-medialist', get_post_type() != 'post' ? get_post_type() : get_post_format()); ?>
<?php endwhile; ?>
<?php get_template_part('templates/page-navi'); ?>
<?php endif; ?>
<?php wp_reset_query(); ?>
And the pagination is a separate file, templates/page-nav, which is this:
<div class="article-navigation">
<?php Roots\Sage\Extras\sage_page_navi(); ?>
</div>
and calls this function in sage extras.php
function sage_page_navi() {
global $wp_query;
$big = 999999999; // need an unlikely integer
$pages = paginate_links( array(
'base' => str_replace( $big, '%#%', esc_url( get_pagenum_link( $big ) ) ),
'format' => '?paged=%#%',
'current' => max( 1, get_query_var('paged') ),
'total' => $wp_query->max_num_pages,
'prev_next' => false,
'type' => 'array',
'prev_next' => TRUE,
'prev_text' => '←',
'next_text' => '→',
) );
if( is_array( $pages ) ) {
$paged = ( get_query_var('paged') == 0 ) ? 1 : get_query_var('paged');
echo '<ul class="pagination pagination-lg">';
foreach ( $pages as $page ) {
echo "<li>$page</li>";
}
echo '</ul>';
}
}/* end page navi */
add_filter('sage_page_navi', __NAMESPACE__ . '\\sage_page_navi');