Insertar paginación en tu plantilla de WordPress

Ayer tuvimos que lidiar con una plantilla de WordPress que no paginaba. Aquí fue cómo lo arreglamos.

La página que más te puede ayudar es esta, aunque hay otras maneras de hacerlo como esta, o con un plugin. A nosotros nos gusta controlar más las cosas.

Vete al editor y edita la página personalizada que has creado. Ahí tendrás una parte superior con un header (optativo):   <?php get_header(); ?>.
Justo después el título de la página.
Después un código que busca las entradas. Esto hay dos maneras, con wp_query() y query_posts(), os aconsejo el segundo. Si no has puesto un filtro estará en blanco, os pongo el nuestro.

<?php
$args = array(
‘posts_per_page’ => 5,
‘category_name’ => ‘blog’,
‘paged’ => $paged,
);
query_posts($args); ?>

Esto lo que hace es “muestra 5 posts por página, de la categoría blog y los paginas. Esta última opción es importante. Después le dices que haga una búsqueda con esos argumentos (args). Evidentemente todo eso es modificable.

A continuación viene el LOOP que se llama en WordPress, es decir mostrar los artículos. Esto se puede hacer con varias modificaciones, ved el nuestro como ejemplo al final.
Justo detrás del Loop ponemos los enlaces de paginación:

<?php previous_posts_link(); ?>
<?php next_posts_link(); ?>

Cuidado que esto puede ser así de simple (página anterior y página siguiente) o con números (algo más complicado)

Y por último el sidebar y el footer.

Aquí está el código de ejemplo:

<?php /* Template Name: Blog */;?>
<?php get_header(); ?>
<!– Begin #colleft –>
<div id=”colLeft”>
<h1><?php the_title(); ?></h1>

<?php
$args = array(
‘posts_per_page’ => 5,
‘category_name’ => ‘blog’,
‘paged’ => $paged,
);
query_posts($args); ?>
<?php if (have_posts()): while (have_posts()) : the_post(); ?>

<h1><a href=”<?php the_permalink(); ?>”><?php the_title(); ?></a></h1>
<?php global $more; $more = false; ?>
<?php the_content(‘Continue Reading’); ?>
<?php $more = true; ?>

<?php endwhile; else: ?>

<p><?php _e(‘Sorry, no posts matched your criteria.’); ?></p>
<?php endif; ?>
<!– pagination –>
<?php previous_posts_link(); ?> &nbsp; &nbsp;
<?php next_posts_link(); ?>
<?php comments_template(); ?>
</div>
<!– End #colLeft –>

<?php get_sidebar(); ?>
<?php get_footer(); ?>

1 comentario en “Insertar paginación en tu plantilla de WordPress”

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Resumen de nuestra Política de Privacidad

  • Responsable: SmythSys IT Consulting SLNE.
  • Finalidad: Gestionar y moderar los comentarios.
  • Legitimación: Necesitas dar tu consentimiento para publicar un comentario.
  • Destinatarios: Tus datos se alojan en los servidores de OVH.
  • Derechos: Tienes derecho a acceder, rectificar, limitar y suprimir los datos en la dirección del responsable (en nuestra política de privacidad).

Scroll al inicio