Este proceso nos permite reducir la cantidad de post o artículos mostrados en una determinada sección de nuestra pagina web, esto nos permite añadir una numeración cuando los post lleguen a un determinado numero de muestras. y para ello emplearemos una simple paginación el el loop de WordPress.
Para comenzar WordPress habilita por defecto esta paginacion y existen dos formas de realizarlos.
1.- Utilizar plugin
2.- crear nuestra propia paginación
en este caso realizaremos la segunda y para ello nos dirigimos a nuestro functions.php y añadimos este código.
<?php function pagination($prev = '«', $next = '»') { global $wp_query, $wp_rewrite; $wp_query->query_vars['paged'] > 1 ? $current = $wp_query->query_vars['paged'] : $current = 1; $pagination = array( 'base' => @add_query_arg('paged','%#%'), 'format' => '', 'total' => $wp_query->max_num_pages, 'current' => $current, 'prev_text' => __($prev), 'next_text' => __($next), 'type' => 'plain' ); if( $wp_rewrite->using_permalinks() ) $pagination['base'] = user_trailingslashit( trailingslashit( remove_query_arg( 's', get_pagenum_link( 1 ) ) ) . 'page/%#%/', 'paged' ); if( !empty($wp_query->query_vars['s']) ) $pagination['add_args'] = array( 's' => get_query_var( 's' ) ); echo paginate_links( $pagination ); }; ?>
Ahora nos dirigimos a nuestra plantilla y el loop debe de quedar de la siguiente forma:
<?php if ( have_posts() ) : ?> <?php while ( have_posts() ) : the_post(); ?> // post goes here <?php endwhile; ?> <div class="pagination"><?php pagination('»', '«'); ?></div> <?php endif; ?>
Posterior para estilizar añadimos un poco de CSS.
.page-numbers { font-size: 15px; } .page-numbers.current { color: #222; } .page-numbers .dots { letter-spacing: 1px } a.page-numbers { font-size: 14px; color: #3888ff; }