La base de WordPress: el bucle

El bucle o the loop es la base del funcionamiento de WordPress, es decir, es lo que le permite presentar la información de las entradas y páginas que creamos. Por eso es muy probable que cuando abras un archivo cualquiera de un tema que encuentres algo parecido a esto:

< ?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
< !– Acciones dentro del bucle –>
< ?php endif; ?>

Con esa línea de código de programación, WordPress obtiene los posts (entradas de blog, páginas o cualquier CPT – Custom Post Type) de la base de datos, y es dentro de este bucle de WordPress donde se realizan acciones que muestran el contenido de cada post.

¿Cómo funciona el bucle de WordPress?

Veamos por partes qué función realiza el código:

have_posts()

have_posts() comprueba si la consulta actual de WordPress a la base de datos obtiene algún resultado, es decir, si cuando WordPress busca en la base de datos encuentra o no posts que coincidan con lo que necesita. Por ejemplo, supongamos que abrimos una página que carga las entradas de la categoría “música” de nuestro blog. Si hay entradas en esa categoría, have_posts() devolverá “verdadero” y si, en cambio, no existen entradas en “música” devolverá “falso”.

the_post()

the_post() selecciona el post actual dentro de la iteración. En el ejemplo anterior, sería un post de la categoría “música”.

if ( have_posts() )

if ( have_posts() ) quiere decir que si existen los posts que buscamos, while ( have_posts() ) mientras siga habiendo posts, los leemos uno a uno con the_post(). Con endif; cerramos el bucle, y lo que venga después es ajeno al post.

Por tanto, siguiendo con nuestro ejemplo el código completo se traduciría en: si existen entradas sobre música, para cada uno de ellos, obtengo su información ejecutando the_post(). Tras esto realizamos otras < !– Acciones dentro del bucle –> y por último el bucle se cierra.

bucle de WordPress

Como vemos, el bucle de WordPress obtiene los posts de nuestro sitio pero no los muestra. Para ello tenemos que incluir código en < !– Acciones dentro del bucle –>. WordPress tiene muchas funciones que pueden utilizarse dentro del bucle para mostrar el contenido de la entrada actual:

the_ID(); // ID
the_author(); // Autor
the_excerpt(); // Extracto
the_title(); // Título
the_permalink(); // Enlace permanente
the_content(); // Contenido
the_time(‘j-F-Y’); // Fecha
the_tags(); // Etiquetas
the_category(); // Categorías
the_post_thumbnail(); // Imagen destacada

Y no sólo podemos mostrar los campos de los posts, WordPress también nos permite leerlos para operar con ellos antes de mostrarlos. Las funciones en este caso son muy parecidas a las anteriores, añadiendo “get_” delante: get_the_ID(), get_the_author(), get_the_excerpt(), etc.

Laura Fuentes

Laura Fuentes

Deja un comentario

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