Añadir paginación por números en WordPress

La paginación por defecto de WordPress es un botón para cargar posts más antiguos y uno para cargar más recientes.

Si quieres añadir paginación por números al igual que la primera y ultima pagina disponible, podemos hacerlo metiendo este código en nuestro functions.php.

function paginacion_con_numeros() {
	global $wp_query;
		$grande = 999999999; // Necesitamos un numero que probablemente nunca salga
			echo paginate_links( array(
			'base' => str_replace( $grande, '%#%', esc_url( get_pagenum_link( $grande) ) ),
			'format' => '?paged=%#%',
			'current' => max( 1, get_query_var('paged') ),
			'total' => $wp_query->max_num_pages,
			'mid_size' => 1
		) );
}

Este código lo que hace es crear un array con todas las paginas disponibles en base a nuestra query (dependiendo de la pagina en la que lo usemos, será una u otra).

Para mostrar nuestra nueva paginación, en cualquier lado donde tengamos una query correspondiente (blog, archive, category, etc) podremos usarla de la siguiente manera.

<?php paginacion_con_numeros(); ?>

Artículos relacionados que podrían interesarte