Cómo funciona el Loop de WordPress

El Loop de WordPress es uno de los conceptos más importantes y fundamentales que debes dominar si deseas entender cómo este CMS muestra los contenidos de tu sitio. Todo lo que ves en la interfaz de un sitio creado con WordPress, desde las entradas del blog hasta los resultados de búsqueda o las categorías, se genera a través del Loop.

Aunque pueda parecer un concepto técnico al principio, en realidad es sencillo de entender una vez te sumerges en su funcionamiento. En esta guía, te explicaré cómo funciona el Loop de WordPress, cómo WordPress determina qué mostrar y qué ajustes puedes hacer para personalizar lo que se muestra. Así que si alguna vez has preguntado «¿Cómo sabe WordPress qué contenido tiene que mostrar?», ¡este es el lugar para empezar!

¿Qué es el Loop de WordPress?

El Loop (o bucle) de WordPress es el código encargado de mostrar el contenido que ves en tu página web. Funciona de manera iterativa, es decir, revisa una a una las publicaciones o entradas y las muestra en la pantalla, en el orden que le especifiques y de acuerdo con las reglas que hayas definido en la configuración de tu sitio o a través de código personalizado.

Cada vez que cargas una página en WordPress, ya sea una página de inicio, una página de archivo, un artículo individual o una categoría, el Loop se ejecuta para decidir qué entradas debe cargar y cómo mostrarlas.

¿Cómo sabe WordPress qué contenido mostrar?

Antes de entrar en detalle sobre el funcionamiento del Loop, es importante entender cómo WordPress decide qué contenido mostrar en cada momento. Aunque la magia sucede detrás de escena, podemos visualizarlo fácilmente con un ejemplo.

Cuando visitas un sitio en WordPress, estás proporcionando a WordPress una serie de instrucciones de manera indirecta. Estas instrucciones suelen venir desde la URL que estás utilizando. Veamos un ejemplo real para entenderlo mejor:

Supongamos que entramos en la URL https://www.dariobf.com/temas/wordpress/. En este caso, estamos pidiendo a WordPress que nos muestre las publicaciones dentro de la categoría «WordPress». Dependiendo de la configuración de los permalinks (enlaces permanentes), la palabra «temas» puede estar sustituyendo a «categorías», lo que indica a WordPress qué tipo de contenido estamos solicitando.

Pero la URL no es el único factor. WordPress también usa las configuraciones del panel de administración para mostrar el contenido de acuerdo con nuestras preferencias. Por ejemplo, si vamos a Escritorio -> Ajustes -> Lectura, podemos definir cuántas publicaciones se mostrarán por página. Si tienes configurado para mostrar 10 publicaciones por página, WordPress mostrará las 10 entradas más recientes de la categoría «WordPress».

Desglosando el código del Loop

Para entender mejor el Loop, echemos un vistazo a su estructura básica. El Loop se compone principalmente de dos elementos clave:

  1. Comprobación de contenido disponible: Lo primero que hace el Loop es verificar si hay publicaciones para mostrar. Esto lo hace utilizando la función if( have_posts() ). Si hay contenido, entra en el segundo paso.
  2. Iteración o bucle de publicaciones: Una vez que sabe que hay contenido disponible, WordPress entra en el bucle utilizando while( have_posts() ). Dentro de este bucle, utiliza varias funciones para mostrar el contenido de cada publicación.

Aquí tienes un ejemplo básico del código del Loop en WordPress:

if ( have_posts() ) : 
    while ( have_posts() ) : the_post();
        // Código para mostrar el contenido de cada publicación
        the_title();
        the_content();
    endwhile;
else : 
    // Código para mostrar un mensaje si no hay publicaciones
    echo 'No hay publicaciones para mostrar.';
endif;
Lenguaje del código: PHP (php)

Detalle de cada parte del Loop

Personalizando el contenido dentro del Loop

Una de las grandes ventajas de WordPress es la flexibilidad para personalizar cómo se muestran las publicaciones dentro del Loop.

En su forma más básica, el Loop solo mostrará el título y el contenido, pero hay muchas más cosas que puedes hacer.

Por ejemplo en mi blog, la primera publicación que aparece muestra tanto el título como un extracto del contenido, mientras que las siguientes publicaciones solo muestran el título y la fecha.

Esto se logra utilizando una pequeña variación de PHP dentro del Loop:

$i = 1;  // Inicializa un contador
if ( have_posts() ) :
    while ( have_posts() ) : the_post();
        if ( $i == 1 ) {
            the_title();
            the_content();
        } else {
            the_title();
            the_date();
        }
        $i++;  // Incrementa el contador
    endwhile;
endif;
Lenguaje del código: PHP (php)

Aquí he usado una variable $i para contar cuántas publicaciones han pasado por el Loop. La primera publicación mostrará tanto el título como el contenido completo, mientras que el resto solo mostrará el título y la fecha.

Funciones útiles dentro del Loop

Existen muchas funciones de WordPress que puedes usar dentro del Loop para personalizar lo que se muestra. Algunas de las más comunes son:

Estas son solo algunas de las muchas funciones que tienes a tu disposición. Cada una tiene su propia documentación en el Codex de WordPress, y si tienes alguna duda sobre su uso, basta con buscarla en Google o en la documentación oficial.

Uso avanzado del Loop con WP_Query

Aunque el Loop básico de WordPress cubre la mayoría de los casos de uso, en proyectos más avanzados, podrías necesitar modificar cómo WordPress recupera y muestra el contenido. Para hacer esto, puedes utilizar una clase llamada WP_Query.

WP_Query te permite modificar la consulta original que hace WordPress al cargar una página. Por ejemplo, podrías usar WP_Query para mostrar solo publicaciones de una determinada categoría, de un autor específico, o de una fecha en particular. Aunque no entraré en detalles aquí, te recomiendo leer mi tutorial completo sobre WP_Query si estás interesado en personalizar aún más tu Loop.

Resumiendo

El Loop es la base de cómo WordPress muestra los contenidos de tu sitio web. A través de él, WordPress comprueba si hay publicaciones para mostrar y las itera una por una, permitiéndote personalizar qué información deseas mostrar y cómo hacerlo. Si necesitas un control más avanzado, WP_Query es la herramienta que te permitirá modificar el comportamiento estándar del Loop.

Si tienes alguna duda o comentario, ¡no dudes en dejarlo abajo! Estoy aquí para ayudarte a entender mejor el mundo de WordPress y su versatilidad.

Si este artículo te ha sido útil, ¡compártelo con tus amigos para que también aprendan más sobre WordPress!

¡MANTENME INFORMADO!

¡Gracias por tu interés en estar informado del próximo lanzamiento de mis cursos! 😎

¡No hago spam! Lee la política de privacidad para tener más información.

Deja una respuesta

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

*

*

DARÍO BALBONTÍN FERNÁNDEZ es el Responsable del tratamiento de los datos personales del usuario y le informa que estos datos serán tratados de conformidad con lo dispuesto en el Reglamento (UE) 2016/679 de 27 de abril (GDPR) y la Ley Orgánica 3/2018 de 5 de diciembre (LOPDGDD), por lo que se le facilita la siguiente información del tratamiento: Fin del tratamiento: mantener una relación comercial y el envío de comunicaciones sobre nuestros productos y servicios. Criterios de conservación de los datos: se conservarán mientras exista un interés mutuo para mantener el fin del tratamiento y cuando ya no sea necesario para tal fin, se suprimirán con medidas de seguridad adecuadas para garantizar la seudonimización de los datos o la destrucción total de los mismos.Comunicación de los datos: No se comunicarán los datos a terceros, salvo obligación legal. Derechos que asisten al usuario: Derecho a retirar el consentimiento en cualquier momento. Derecho de acceso, rectificación, portabilidad y supresión de sus datos y a la limitación u oposición al su tratamiento. Derecho a presentar una reclamación ante la Autoridad de control (agpd.es) si considera que el tratamiento no se ajusta a la normativa vigente. Datos de contacto para ejercer sus derechos: contacto@dariobf.com.