/** * @param WP_Query|null $wp_query * @param bool $echo * * @return string * This accept a WP_Query instance to build pagination (for custom wp_query()), * or nothing to use the current global $wp_query (eg: taxonomy term page) */ function bootstrap_pagination( \WP_Query $wp_query = null, $echo = true) { if(null === $wp_query){ global $wp_query; } $pages = paginate_links( array( 'base' => str_replace( 999999999, '%#%', esc_url( get_pagenum_link( 999999999 ) ) ), 'format' => '?paged=%#%', 'current' => max( 1, get_query_var('paged') ), 'total' => $wp_query->max_num_pages, 'type' => 'array', 'show_all' => false, 'end_size' => 3, 'mid_size' => 1, 'prev_next' => true, 'prev_text' => __('« Prev'), 'next_text' => __('Next »'), 'add_args' => false, 'add_fragment' => '' ) ); if( is_array( $pages ) ) { $paged = ( get_query_var('paged') == 0 ) ? 1 : get_query_var('paged'); $pagination = ''; if ( $echo ) { echo $pagination; } else { return $pagination; } } }