I found this code :
// Get total number of pages
global $wp_query;
$total = $wp_query->max_num_pages;
// Only paginate if we have more than one page
if ( $total > 1 ) {
// Get the current page
if ( !$current_page = get_query_var('paged') )
$current_page = 1;
// Structure of “format” depends on whether we’re using pretty permalinks
$permalinks = get_option('permalink_structure');
$format = empty( $permalinks ) ? '&page=%#%' : 'page/%#%/';
echo paginate_links(array(
'base' => get_pagenum_link(1) . '%_%',
'format' => $format,
'current' => $current_page,
'total' => $total,
'mid_size' => 2,
'type' => 'list'
));
}
It works ok but it generates pagination like “1, 2, 3 … LASTPAGENUMBER”, I’ve seen plugins that generate paginations like this “1, 2, 3… 19, 20, 30 … LASTPAGENUMBER”.
Can this be achieved using paginate_links() function?
I don’t want to add a plugin just for this small tweak.