El Query Loop es un bloque de Gutenberg que consulta la base de datos de WordPress y muestra contenido dinámico sin necesidad de código PHP. Las plantillas reutilizables permiten crear una estructura visual única que aplicás automáticamente a múltiples páginas: blog, portafolio, búsquedas, categorías. Un cambio en la plantilla se refleja en todos lados. Funciona desde WordPress 5.8 en adelante, es visual, funciona en block themes, y se combina con Template Parts para modularidad total.

En 30 segundos

  • El Query Loop block es un elemento de Gutenberg que extrae contenido dinámico de la BD y lo muestra automáticamente sin PHP.
  • Una plantilla reutilizable centraliza el diseño de cards, listas y feeds — un cambio vale para todas las páginas que la usan.
  • Se crea desde Appearance (Apariencia) → Editor → Index o una template nueva, insértás Query Loop, añadís título/excerpt/imagen, y listo.
  • Template Parts permiten modularizar aún más: una card template se reutiliza en blog, búsqueda, homepage y categorías.
  • El Query Loop block reemplaza al loop PHP tradicional pero coexisten; el block es visual, el PHP es para devs.

Qué es el Query Loop y cómo funciona

El Query Loop block es un elemento de Gutenberg que consulta automáticamente la base de datos de WordPress y muestra posts o contenido personalizado. No escribís ni una línea de PHP: es visual, arrastrás bloques, configurás filtros, y listo. Funciona como un motor de consultas gráfico — si quisieras lo mismo en PHP tendrías que escribir have_posts() / the_post() / get_posts() / WP_Query completo.

La estructura es jerárquica: Query Loop (contenedor) contiene Post Template (qué se repite para cada post), que a su vez contiene bloques de contenido como título, excerpt, featured image, autor, fecha.

Ponele que en un blog de WordPress tradicional (no block theme) mostrar una lista de posts recientes requería tocar template-parts/post.php, entender the_loop(), configurar counters. Acá abrís el Editor visual, buscás Query Loop, lo insertás, elegís «posts recientes», y aparecen. El sistema hace todo automáticamente.

Ventajas de usar plantillas reutilizables con Query Loop

Las plantillas reutilizables son la diferencia entre tener una sola fuente de verdad y tener el mismo código duplicado en 10 archivos. Vos creás una plantilla Index, le das estructura (Card con imagen, título, excerpt, botón «Leer más»), y WordPress automáticamente aplica eso a todas las páginas que tengan Query Loop: blog homepage, categórías, búsquedas, archive de autores.

Cuando necesitás cambiar algo (agrandar la imagen, cambiar colores, añadir un badge de categoría) editás la plantilla una sola vez, y se actualiza en todas partes. Eso sí: esto es para block themes nada más. Si tu tema es PHP clásico, necesitás editar cada template-parts de manera independiente. Ya lo cubrimos antes en automatizar la creación de plantillas.

Template Parts llevan esto más lejos. Una Template Part es un fragmento reutilizable que exportás desde la librería. Creás una «post-card.html» que tiene título, excerpt e imagen, la registrás como Template Part, y la podés insertar en múltiples Query Loops diferentes. Los cambios a la Template Part se reflejan en todos lados automáticamente.

Cómo crear una plantilla de Query Loop desde cero

Entrá a WordPress Admin → Appearance (Apariencia) → Editor. En el sidebar verás «Templates» o «Template Parts» dependiendo de tu versión. Hace clic en «Browse all templates» si existe la opción, o directamente en «Create» si estás en versión más reciente (WordPress 6.1+).

Elegí una template existente para editar (como Index, la principal) o creaté una nueva. Una vez dentro, podés insertar un Query Loop block desde el menú de bloques (el botón «+»). La interfaz te va a ofrecer patrones predefinidos (Blog: latest posts, etc.) o podés armarlo en blanco.

Si lo hacés en blanco: Query Loop aparece como contenedor vacío. Dentro, insertás Post Template (vuelvo a decir: es lo que se repite por cada post). Adentro del Post Template metés bloques de contenido: Heading para post title, Paragraph para excerpt, Image para featured image, Buttons para «Leer más», etc.

Configurá los estilos visuales en el sidebar: colores, tipografía, espaciados, bordes. Cuando guardás, WordPress crea la plantilla en la base de datos y la aplicá automáticamente a todas las páginas que usan ese tipo de contenido (blog, categorías, búsquedas).

Configuración avanzada: filtros, ordenamiento y límites

El Query Loop block tiene un panel de configuración donde controlás qué posts aparecen. Hacé clic en el Query Loop, mirá el sidebar derecho, y encontrás estos controles: En empaquetar templates como plugins reutilizables profundizamos sobre esto.

  • Post Type: Qué tipo de contenido mostrar (Posts, Pages, custom post types como Products si usás WooCommerce).
  • Order By: Ordenamiento: fecha descendente (newest first), ascendente (oldest), alfabético por título, por ID, por metadata personalizada.
  • Sticky Posts: Qué hacer con los posts fijados. Opción a mostrarlos primero o excluirlos.
  • Categories / Tags: Filtrar solo posts de cierta categoría o tag. Se pueden excluir también.
  • Authors: Mostrar solo posts de autores específicos.
  • Search: Filtrar por keywords (si la plantilla lo permite, depende del contexto).
  • Items Per Page: Cuántos posts por página (por defecto 10, ajustable).

Ejemplo práctico: creás una plantilla para la página de «Seguridad WordPress» que muestre solo posts de la categoría «WordPress Security» de los últimos 30 días, ordenados por más recientes primero, 6 posts por página con paginación. Configurás Category = «WordPress Security», Order = «Newest», Items = 6, y listo. El Query Loop automáticamente va a traer solo eso de la BD.

Uso de Template Parts para modularizar plantillas

Template Parts son fragmentos de código HTML que funcionan como bloques reutilizables. Creás una, la registrás en tu theme, y después podés insertarla en múltiples Query Loops o páginas sin duplicar código.

Pasos: en el Editor, creá una Template Part nueva (Appearance → Template Parts → Create). Diseñá la estructura de una card individual (imagen, título, excerpt, fecha, «Read more»). Guardar. Después, cuando insertés un Query Loop, adentro del Post Template metés un bloque «Template Part» y seleccionás la que creaste. El Query Loop automáticamente va a repetir esa Template Part para cada post.

La ventaja es nuclear: una Template Part se usa en blog, homepage, búsqueda, categórías, todo. Editás la Template Part una sola vez, cambian todos los sitios que la usan.

Query Loop block vs Loop tradicional de PHP

CaracterísticaQuery Loop (Gutenberg)Loop PHP clásico
InterfazVisual, drag-drop, no códigoEditar código template-parts PHP
ConfiguraciónPaneles en el sidebar (categorías, ordenamiento, límite)Modificar argumentos WP_Query en PHP
Requiere conocimientoNinguno, cualquiera puede usarloPHP, WordPress hooks, loops
ReutilizaciónTemplate Parts + plantillas automáticasDuplicar archivos o crear includes
PerformanceIdéntico (ambos usan same queries)Idéntico
CompatibilidadSolo block themes (WordPress 5.8+)Todos los temas
Documentación oficialWordPress.org documentation (reciente)Muy documentado, 15+ años
plantilla query loop wordpress diagrama explicativo

La decisión es simple: si tu tema es block-based y el cliente no toca código, Query Loop. Si el tema es PHP clásico o necesitás filtros super complejos (metaquery, relaciones customizadas), goes PHP.

Errores comunes y cómo evitarlos

1. Olvidar la paginación. Insertás un Query Loop, ves los primeros 10 posts, pero no hay botones de «Siguiente página». Solución: agregá el bloque «Pagination» después del Query Loop. El block se encarga del resto automáticamente. Para más detalles técnicos, mirá testear templates en cada ambiente.

2. Configurar mal el Post Type. Creás una template para productos (WooCommerce) pero dejás Post Type = «Posts» por defecto. Resultado: no aparecen tus productos. Verificá siempre que Post Type coincida con el contenido que querés mostrar.

3. Cambiar colores dentro del Post Template y que no se actualicen en todas partes. En WordPress 6.2+, los estilos globales funcionan diferente. Los colores que definas dentro del Post Template no heredan del tema global automáticamente. Usá clases CSS del theme o definí estilos globales en theme.json, no propiedades inline.

4. No resetear la query entre Query Loops. Si tenés dos Query Loops en la misma página y uno modifica la global query, el segundo se ve afectado. Evitá Query Loops anidados, y si necesitás dos en la misma página, asegurate que cada uno tenga sus propias configuraciones de Post Type y filtros.

Casos de uso reales: blog, portafolio y e-commerce

Blog con posts relacionados. Creás una plantilla Index que muestra últimos 10 posts en grid. Cada card tiene imagen, título, categoría, excerpt, botón «Leer más». Configurás Query Loop para posts recientes, ordenados por date descendente, 10 por página. La misma Template Part se usa en homepage, blog, search results.

Portafolio con filtros. Tenés custom post type «projects» con categorías (branding, web, marketing). Plantilla muestra todos los proyectos, pero debajo colocás un Query Loop con filtros de categoría. Cuando el usuario hace clic en «Branding», el Query Loop automáticamente muestra solo esos proyectos. Esto requiere JavaScript adicional (WordPress blocks soporta esto nativamente en WordPress 6.3+) o un plugin como «Advanced Query Filters».

WooCommerce con filtros de stock. Un theme que venda productos tiene un Query Loop que muestra products. Configurás Post Type = «Product», metés un bloque de «Product Image», «Product Price», «Product Rating», «Add to Cart». El Query Loop automáticamente filtra solo productos que están en stock si lo configurás así. Cada cambio de precio en un producto se refleja en el Query Loop de forma automática. Cubrimos ese tema en detalle en enriquecer tus query loops con IA.

Preguntas Frecuentes

¿Se puede usar el mismo Query Loop block en varias páginas diferentes?

No el bloque exacto (cada página tiene su propia instancia de Query Loop), pero sí la plantilla. Creás una plantilla reutilizable, la aplicás a múltiples templates del sistema (Index, Category, Search), y todas heredan la misma estructura visual. Los cambios a la plantilla se reflejan en todas partes automáticamente.

¿Cómo evito que un Query Loop rompa la paginación en WordPress?

Agregá el bloque «Pagination» después del Query Loop en la plantilla. WordPress maneja automáticamente los botones de página siguiente/anterior. No requiere configuración adicional.

¿Qué diferencia hay entre query_posts() y Query Loop block?

query_posts() es una función PHP vieja (deprecada en muchos contextos) que modifica la global query. Query Loop es un bloque visual moderno que crea su propia query sin tocar la global. Query Loop es más seguro, más intuitivo, y recomendado para block themes.

¿Se puede mostrar contenido específico en un Query Loop según cada página?

Parcialmente. El Query Loop detecta el contexto (si estás en categoría «seguridad», mostrá solo eso). Pero si necesitás lógica custom ultra específica (mostrar esto si user logueado Y tiene role «member»), vas a necesitar código PHP o un plugin que extienda Query Loop (hay algunos en wp.org).

¿Cómo crear una plantilla de Query Loop reutilizable en WordPress?

Entrá a Appearance → Editor. Browsea todas las templates o creaté una nueva. Insertá un Query Loop block, agregá Post Template adentro, y después agregá bloques de contenido (título, excerpt, imagen). Diseñá visualmente. Guardar. WordPress automáticamente aplicá la plantilla a las páginas que correspondan (blog, categorías, búsquedas).

Conclusión

El Query Loop block cambió la forma en que los no-developers diseñan contenido dinámico en WordPress. Antes, necesitabas PHP. Ahora arrastrás bloques, configurás filtros en un panel, y listo. Las plantillas reutilizables centralizan el diseño — un cambio afecta a todas las páginas que las usan. Template Parts modulariza aún más, permitiendo reutilizar fragmentos pequeños (cards, headers, footers) en múltiples contextos.

La recomendación es: si usás un block theme moderno (WordPress 5.8+), Query Loop es el camino. Si estás en un theme PHP clásico o necesitás lógica super compleja, el loop tradicional sigue siendo válido. Pero para la mayoría de los casos (blogs, portfolios, catálogos), Query Loop es más simple, mantenible y al alcance de cualquiera.

¿Qué es el loop en WordPress?

El loop es el mecanismo que extrae y muestra posts de la BD. Históricamente se hacía con PHP (have_posts/the_post), pero WordPress 5.8+ permite hacerlo visualmente con Query Loop, un bloque que no requiere código.

¿Query Loop funciona en todos los temas?

No, Query Loop solo funciona en block themes (temas basados en bloques) desde WordPress 5.8 en adelante. Los temas PHP clásicos necesitan usar el loop tradicional con PHP.

¿Dónde encuentro Query Loop en WordPress?

Lo encontrás en Appearance (Apariencia) → Editor. Abre una plantilla (Index, Single, Archive) o crea una nueva, insertá Query Loop desde el panel de bloques, y configurá los filtros que necesites.

¿Query Loop funciona en temas de WordPress clásicos (PHP)?

No, Query Loop está limitado a block themes (WordPress 5.8+). Si tu tema es PHP clásico, necesitás usar el loop tradicional con have_posts() y the_post(). La migración a block themes es opcional pero recomendada para aprovechar estas funcionalidades.

¿Query Loop automáticamente pagina los resultados?

No automáticamente. Necesitás agregar el bloque Pagination después del Query Loop. Una vez que lo insertés, WordPress maneja la paginación automáticamente según el número de items por página que configures.

¿Query Loop requiere conocimiento de PHP para usarlo?

No, Query Loop es completamente visual. Arrastrás bloques, configurás filtros desde paneles de la interfaz, y listo. Es ideal para usuarios sin experiencia en código que quieren crear plantillas dinámicas.

Fuentes

Categorizado en: