Un campo repetidor es una plantilla de fila. Definimos qué subcampos contiene cada fila (por ejemplo: Nombre, Foto, Biografía), y los editores pueden añadir, eliminar y reordenar filas a su antojo. Un único campo repetidor puede contener desde cero hasta cientos de filas por publicación.
Un grupo de campos para una “página de equipo” contiene un Miembros del Equipo repetidor con tres subcampos:
En la pantalla de edición de la publicación, un editor hace clic en “Añadir Fila”, completa los tres subcampos y hace clic en “Añadir Fila” nuevamente para el siguiente miembro del equipo. Pueden arrastrar filas para reordenar, eliminar filas individuales y añadir tantas filas como necesiten.
Los subcampos repetidores pueden ser cualquiera de los 32 tipos de campo de Field Forge:
El único tipo de subcampo que no funciona dentro de un repetidor es Clone (que crearía una recursión infinita).
Los repetidores pueden contener otros repetidores. Ejemplo: un repetidor de “servicios” donde cada servicio tiene un repetidor de “características” anidado.
“ Repetidor de Servicios ├── Fila 1: Servicio A │ ├── Nombre del Servicio: "Consultoría" │ ├── Descripción: "..." │ └── Repetidor de Características │ ├── Fila 1: "Taller de descubrimiento" │ ├── Fila 2: "Documento de estrategia" │ └── Fila 3: "Soporte de implementación" └── Fila 2: Servicio B ├── Nombre del Servicio: "Desarrollo" ├── Descripción: "..." └── Repetidor de Características ├── Fila 1: "Código personalizado" └── Fila 2: "Pruebas de QA" “
El anidamiento funciona a cualquier profundidad, aunque para datos profundamente anidados puede que desees considerar reestructurar con tipos de publicaciones personalizadas y relaciones.
El repetidor de Field Forge utiliza las mismas funciones de plantilla que ACF y SCF. El código escrito para ACF funciona sin cambios:
“php
“
Este código funciona en:
Si migras de ACF o SCF a Field Forge, este código de plantilla permanece sin cambios.
Para repetidores anidados, haces un bucle dentro de otro bucle:
“`php
“`
El trío have_rows() / the_row() / get_sub_field() maneja el anidamiento arbitrario.
Al configurar un repetidor en el constructor visual de Field Forge:
get_field('name'))Aquí es donde el almacenamiento en tabla personalizado de Field Forge realmente da sus frutos. ACF y SCF almacenan datos de repetidores en wp_postmeta con una fila por subcampo por fila de repetidor. Un repetidor con 5 subcampos y 50 filas crea 250 entradas meta por publicación. Cargar una página con 20 de tales publicaciones crea más de 5,000 consultas meta.
La tabla personalizada de Field Forge utiliza columnas parent_id y row_index para almacenar datos de repetidores en una estructura relacional nativa. Una única consulta obtiene todos los datos de repetidores para una publicación. Las páginas de archivo se cargan de 10 a 50 veces más rápido en plantillas con muchos repetidores.
Cuando importas desde ACF o SCF, la herramienta de migración de Field Forge reconstruye correctamente las estructuras de repetidores anidados. Las relaciones padre-hijo entre filas se preservan. Los repetidores anidados se migran con toda la jerarquía intacta. Después de la migración, tus plantillas siguen funcionando (a través de la capa de compatibilidad de ACF) y las consultas se ejecutan más rápido (a través del almacenamiento en tabla personalizado).
Consulta la guía de migración completa →
Los datos de repetidores se exponen en la API REST de WordPress y en los endpoints personalizados de Field Forge:
“json { "team_members": [ { "name": "Alice Johnson", "photo": { "id": 123, "url": "https://example.com/alice.jpg", "alt": "Alice Johnson" }, "bio": "Alice es nuestra jefa de ingeniería..." }, { "name": "Bob Smith", "photo": { "id": 124, "url": "...", "alt": "Bob Smith" }, "bio": "Bob lidera el equipo de diseño..." } ] } “
Perfecto para frontends de WordPress sin cabeza. Combinado con la generación de TypeScript de Field Forge, los datos de repetidores se convierten en Array completamente tipados en el frontend.
Obtén Field Forge — desde $35/año →
Los campos repetidores están incluidos en cada plan de pago. La versión gratuita tiene soporte básico para repetidores; los planes de pago desbloquean repetidores anidados y características avanzadas.