La paginación en diseño y programación web es cuando el final de una página tenemos botones o links para acceder a la página siguiente o anterior y ademas la numeración de páginas para poder llegar a una determinada, rápidamente, sin pasar por todas las demás a continuación un ejemplo de paginación.
En Wordpress, por defecto esto no está habilitado y hay dos formas de hacerlo, con uso de plugins y sin plugin, ésta última es la que vamos a ver ahora.
Este fragmento de código crea la navegación por paginación clásica como el que se ve en WP-PageNavi (un plugin que sirve para el mismo fin), que dan una mejor visión de conjunto para el usuario. Es fácil de implementar y permite un control total sobre la salida.
Para ponerlo en práctica, sólo tenés que añadir este código (el de arriba) en functions.php:
Ahora podés agregar la paginación usando la funcion pagination. Añadirla en algún lugar fuera del bucle, pero dentro del if (have_post ()).
WordPress también te da algunas clases CSS que podés utilizar para personalizar el aspecto de la nueva navegación.
Ejemplo de paginación, ¿se entiende no? |
Este fragmento de código crea la navegación por paginación clásica como el que se ve en WP-PageNavi (un plugin que sirve para el mismo fin), que dan una mejor visión de conjunto para el usuario. Es fácil de implementar y permite un control total sobre la salida.
- <?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 );
- };
- ?>
Para ponerlo en práctica, sólo tenés que añadir este código (el de arriba) en functions.php:
Ahora podés agregar la paginación usando la funcion pagination. Añadirla en algún lugar fuera del bucle, pero dentro del if (have_post ()).
- <?php if ( have_posts() ) : ?>
- <?php while ( have_posts() ) : the_post(); ?>
- // post goes here
- <?php endwhile; ?>
- <div class="pagination"><?php pagination('»', '«'); ?></div>
- <?php endif; ?>
WordPress también te da algunas clases CSS que podés utilizar para personalizar el aspecto de la nueva navegación.
- .page-numbers { font-size: 15px; }
- .page-numbers.current { color: #222; }
- .page-numbers .dots { letter-spacing: 1px }
- a.page-numbers { font-size: 14px; color: #3888ff; }
2 comentarios:
la paginación parece que se realiza correctamente
(1,2,3,4,5…30, etc.), salvo que el link con el número 1 (que debería
llevar al home del blog) queda así: miblog.com/page/1, y esto no lleva a
ningún lado, sólo queda como un link inexistente.
Me sirvio mucho lo he puesto tal cual y funciona bien, muchas gracias
Publicar un comentario