I'm trying to add pagination to my WordPress query using pagination_links() however I am getting no links returned for my page 1 links and previous link? Other links are adding the paged query string to the URL which then redirect you to /page/3/ for example. Unsure whether I need to update the query below to add these URL's instead of the query string?
Can anyone see what is wrong with the below and how I can get the pagination links to be correct?
Any advice and help would be appreciated.
Query & Pagination:
$posts_per_page = get_option('posts_per_page');
$paged = ( get_query_var( 'paged' ) ) ? absint( get_query_var( 'paged' ) ) : 1;
$args = array(
'posts_per_page' => $posts_per_page,
'post_type' => 'post',
'paged' => $paged,
);
$articles = new WP_Query( $args );
$args = array(
'base' => '%_%',
'format' => '?paged=%#%',
'current' => max( 1, get_query_var('paged') ),
'total' => $wp_query->max_num_pages,
'show_all' => false,
'end_size' => 1,
'mid_size' => 1,
'prev_next' => true,
'prev_text' => '<span class="icon icon-arrow-left" aria-hidden="true"></span><span class="sr-only">Previous</span>',
'next_text' => '<span class="icon icon-arrow-right" aria-hidden="true"></span><span class="sr-only">Next</span>',
'type' => 'plain',
'add_args' => false,
'add_fragment' => '',
'before_page_number' => '',
'after_page_number' => ''
);
echo paginate_links( $args );
Returned HTML:
<div class="pagination">
<a class="prev page-numbers" href=""><span class="icon icon-arrow-left" aria-hidden="true"></span><span class="sr-only">Previous</span></a>
<a class="page-numbers" href="">1</a>
<span aria-current="page" class="page-numbers current">2</span>
<a class="page-numbers" href="?paged=3">3</a>
<a class="next page-numbers" href="?paged=3"><span class="icon icon-arrow-right" aria-hidden="true"></span><span class="sr-only">Next</span></a>
</div>