Bucle de WordPress: qué es y qué necesitas saber sobre él

Publicado: 2023-10-25

Si eres un desarrollador de temas de WordPress, un programador o simplemente un entusiasta ansioso por aprender qué es un bucle de WordPress, ¡este artículo es para ti! Sin más preámbulos, comencemos con lo básico: ¿Qué es un bucle?

El bucle de WordPress es un código PHP que muestra publicaciones de WordPress o, en pocas palabras; se utiliza en varios temas para mostrar publicaciones en cualquier página web determinada. No sólo se ejecuta en la mayoría de las páginas que ves, sino que también te permite modificarlo y personalizarlo a tu gusto.

Estos bucles de sitios web se pueden utilizar para enumerar publicaciones por recuento de comentarios, mostrar publicaciones con imágenes, etc.

Cuando miras el bucle, puedes ver que algunas funciones se ejecutan de forma predeterminada para mostrar publicaciones. Los desarrolladores de temas pueden usar esas funciones y etiquetas de plantilla para personalizar cómo se muestra cada publicación en el bucle.

Esas etiquetas de plantilla funcionan sólo dentro del bucle predeterminado de WordPress y se utilizan para formatear, organizar y publicar datos de publicaciones.

El bucle de WordPress es sin duda la parte más crucial del código de WordPress y permítanos profundizar en cómo funciona el bucle de su sitio web.

Bucle de página de WordPress para principiantes

Como ya mencionamos, el bucle de publicación es un código que genera toda la información que WordPress tiene sobre una publicación o publicaciones. Se ejecuta en segundo plano a través de cada publicación y encuentra la base de datos una por una, lo que le permite proporcionar información sobre todas las publicaciones encontradas.

Aquí hay un ejemplo de cómo funciona el bucle de publicaciones de WordPress:

  1. inicias el ciclo,
  2. tomar medidas con cada publicación o página encontrada,
  3. cerrar el bucle.

Estos tres pasos representan la lógica básica detrás del ciclo. A partir de este punto, puede ser creativo y filtrar las publicaciones que encontró mediante la consulta. La consulta le dice al bucle lo que estamos buscando. En nuestro ejemplo, se vería así:

  1. definir lo que estamos buscando,
  2. iniciar el ciclo,
  3. tomar medidas con cada publicación o página encontrada,
  4. cerrar el bucle.

Si tiene experiencia con el código PHP, es posible que esté familiarizado con la función " while " que se utiliza en bucles para ejecutar la consulta de la base de datos y mostrar dinámicamente la información sin tener que ingresar manualmente cada fila de la base de datos.

El bucle while de WordPress funciona de la misma manera.

Ejemplo de un bucle estándar de WordPress

A continuación se muestra un ejemplo de un bucle estándar de WordPress que se puede utilizar en cualquier página.

<?php if ( have_posts() ) : ?>
<?php while ( have_posts() ) : the_post() ?>
// Post display here
<?php endwhile ?>
<?php else : ?>
// Content if there are no posts to show
<?php endif ?>

Eche un vistazo a las funciones have_posts() y the_post() . El primero determina si hay publicaciones para mostrar y el segundo configura datos y puntos internos que ayudan a la función have_posts() .

Si no hay nada que mostrar, entonces la función debería mostrar un mensaje informando a los usuarios.

Si existen las publicaciones que estamos buscando, el bucle las mostrará una por una.

Aquí, tenga un bloque de código que realmente mostrará las publicaciones, ¡depende de nosotros!

<?php if ( have_posts() ) : ?>
<?php while ( have_posts() ) : the_post() ?>
<div <?php post_class() ?>>
<h2><a href='<?php the_permalink() ?>'><?php the_title() ?></a></h2>
<div class='post-excerpt'>
<?php the_excerpt() ?>
</div>
<div class='post-meta'>
<time><?php the_time( 'Ymd' ) ?></time>
<?php if ( has_category() ) : ?>
<span class='post-categories'><?php the_category( ', ' ) ?></span>
<?php endif ?>
</div>
</div>
<?php endwhile ?>
<?php else : ?>
<h2>There are no posts here</h2>
<p>Do you want to go back to the <a href='<?php echo site_url() ?>'>home page?
<?php endif ?>

El contenido que se muestra aquí está determinado por la consulta de la que ya hablamos, y la forma en que se muestra ese contenido depende del bucle. Esta cantidad de personalización es asombrosa y es lo que hace que WordPress se destaque.

¡Gran trabajo! ¡Ahora ya sabes qué es un post loop!

Usando código para cambiar la consulta principal

Antes de comenzar, debemos advertirte que cambiar la consulta principal puede tener consecuencias no deseadas si no sabes lo que estás haciendo. ¡Tenga cuidado al experimentar!

Tenemos que mirar los ganchos si queremos modificar la funcionalidad principal. Los ganchos nos permiten cambiar la longitud del texto, cambiar la pantalla de inicio de sesión, reformular mensajes de error, cambiar tipos de publicaciones personalizadas y mucho más.

add_action( 'pre_get_posts', 'my_exclude_category' );
function my_exclude_category( $query ) {
if ( $query->is_home() && $query->is_main_query() ) {
$query->set( 'cat', '-92' );
}
}

Tenga en cuenta que utilizamos el gancho pre_get_post para modificar el parámetro de la consulta principal antes de que se ejecute. El código anterior hace lo mismo que el anterior, pero esta vez excluye la categoría 92 de nuestra página de inicio. Por lo tanto, se modifica la consulta principal.

Eche un vistazo a las funciones is_home() e is_main_query() . Están aquí para asegurarse de que la consulta solo se modifique en la página de inicio y si es la consulta principal.

Aquí hay otro código que puede ser útil en un bucle de blog de WordPress.

Digamos que un autor en su sitio web ha plagiado parte (o todo) de su contenido y desea eliminar todas sus publicaciones de forma permanente o hasta que se resuelva el problema.

Eso se puede hacer agregando un código como este:

add_action( 'pre_get_posts', 'my_exclude_author' );
function my_exclude_author( $query ) {
$query->set( 'author', '-23' );
}

Con esta función condicional, eliminas la publicación del autor tanto de tu sitio web como de tu backend. Puede encontrar todas las etiquetas condicionales en el Codex de WordPress. Así es como debería verse el último código al final:

add_action( 'pre_get_posts', 'my_exclude_author' );
function my_exclude_author( $query ) {
if( !is_admin() ) {
$query->set( 'author', '-23' );
}
}

Preguntas frecuentes sobre el bucle de WordPress

¿Qué es el bucle de WordPress?

¡Oh hombre, esto me hace retroceder! Entonces, en esencia, el bucle de WordPress es el motor de WP que muestra el contenido de la base de datos de su sitio.

Es el corazón de muchas plantillas de WP y le dice al sistema qué publicaciones o páginas mostrar y en qué orden. Piense en ello como el DJ de su fiesta de WordPress, eligiendo las melodías (o publicaciones) adecuadas para sus invitados.

¿Por qué el bucle es tan esencial en el desarrollo de temas?

Ah, desarrollo del tema , ¡un rompecabezas divertido siempre! El bucle es como la columna vertebral de un tema de WordPress. Sin él, tu tema sería una película muda sin argumento.

Obtiene el contenido según los parámetros de WP_Query y, a través de etiquetas de plantilla , puede personalizar qué y cómo se muestra el contenido. ¿Has oído hablar alguna vez de temas con estilos especiales para determinadas publicaciones? Sí, esa es la magia del bucle en acción.

¿Cómo se relaciona WP_Query con el bucle?

Muy bien, sumérgete conmigo aquí. WP_Query es la clase que define y recupera el contenido. Luego, el bucle recorre los resultados que devuelve WP_Query.

Piensa en WP_Query como el chef que prepara los platos, mientras el loop los sirve a tus invitados. ¡Y con taxonomías y tipos de publicaciones personalizados , este chef puede preparar una impresionante variedad de platos!

¿Cuál es la diferencia entre have_posts() y the_post()?

¡Pregunta clásica! have_posts() comprueba si quedan publicaciones en la consulta para recorrer. Es como preguntar: "Oye, ¿hay más canciones en esa lista de reproducción?".

Mientras tanto, the_post() configura la publicación actual, por lo que estás listo para mostrar sus detalles. Es similar a darle al play en la siguiente pista. Ambos son súper cruciales en el baile del loop.

¿Cómo puedo personalizar qué publicaciones aparecen en el bucle?

¡Ah, el poder de la personalización! Para cambiar las publicaciones que aparecen, modifica los parámetros de WP_Query o usa el filtro pre_get_posts .

Ya sea un bucle de categorías , un bucle de etiquetas o cualquier otra consulta personalizada , hay muchas cosas que puede hacer. ¿Quieres mostrar publicaciones de una determinada categoría? ¿O tal vez ordenarlos por un campo personalizado ? ¡El mundo es tu ostra!

¿Puedo tener varios bucles en una página?

¡Puedes apostar! Existen múltiples bucles, especialmente cuando quieres diferentes secciones, como una lista de artículos principales seguida de una barra lateral con publicaciones recientes.

Solo necesita restablecer el bucle con wp_reset_postdata() después de cada WP_Query personalizado. Y con las partes de la plantilla , está aún más organizado. Sólo recuerda no exagerar: ¡a nadie le gusta una fiesta desordenada!

¿Qué son las etiquetas condicionales en el contexto del bucle?

Entonces, las etiquetas condicionales son los guardianes del bucle. Te permiten controlar dónde y cuándo se muestra cierto contenido.

Puede usarlos para mostrar una parte del contenido solo en publicaciones individuales, o quizás solo en una taxonomía determinada. Son como los porteros de tu club de WP y deciden quién ingresa según la lista de invitados.

¿Cómo agrego paginación al bucle?

¡Ah, paginación, el arte de no abrumar a tus visitantes! Al utilizar funciones de paginación , puede dividir sus publicaciones en varias páginas.

En lugar de mostrar una lista interminable de publicaciones, dé un respiro a sus usuarios. Funciones como paginate_links() o los clásicos enlaces "siguiente y anterior" ayudan aquí. Porque, seamos realistas, nadie quiere desplazarse para siempre.

¿Por qué necesitaría modificar la consulta principal?

¡Buena! A veces, la configuración predeterminada simplemente no es suficiente. Tal vez desee que su página de inicio muestre solo un tipo de publicación personalizada específica o excluya ciertas categorías.

Al utilizar la acción pre_get_posts , puede modificar la consulta principal sin escribir una nueva. Es como ajustar la configuración principal de su estéreo para obtener el sonido perfecto.

¿Qué sucede si hay un problema con mi bucle?

¡Uf, estuve allí! Si hay un problema con el bucle, es posible que su sitio no muestre contenido o, peor aún, arroje errores. Siempre haga una copia de seguridad antes de realizar modificaciones. Verifique sus parámetros de WP_Query y la jerarquía de plantillas .

Y si todo lo demás falla, el Codex de WordPress y los foros de la comunidad son minas de oro para solucionar problemas. Recuerde, todo desarrollador se enfrenta a un bucle con fallos al menos una vez. ¡Lo tienes!

Poner fin a los pensamientos sobre el bucle de WordPress

Usar el bucle de WordPress es una excelente manera de personalizar sus publicaciones, páginas o, simplemente, su sitio web. El bucle requiere que tengas un conocimiento básico de cómo funciona WordPress y de la lógica del código.

A menos que desee realizar una prueba rápida, no recomendamos utilizar la función query_posts(). Puede utilizar varios enlaces en caso de que necesite modificar la consulta original. Tenga siempre cuidado al cambiar el código de bucle de WordPress.

¡Esperamos que este artículo haya sido un buen primer paso hacia el dominio del bucle de WordPress!

Si te ha gustado este artículo sobre el bucle de WordPress, también deberías leer estos:

  • Error 504 en WordPress: cómo solucionarlo
  • 12 consejos para crear un complemento o tema premium de WordPress exitoso
  • ¿Cómo aprovechar el almacenamiento en caché del navegador en WordPress? Pasos a seguir