Ajustes básicos del campo Repeater en ACF Pro
En el ejemplo que nos ocupa vamos a generar con el campo repeater de ACF Pro una tabla con un pequeño listado de plugins, su correspondiente versión y vamos a indicar si actualmente se encuentra activado o desactivado.
Sub Campos
En esta sección habrá que definir los sub campos que apraceran a modo de celdas en la table del repetidor a la hora de editar el contenido.
Número mínimo y máximo de filas
Como su propio nombre indica aquí hay que indicar el número mínimo y máximo de filas que queremos que tenga nuestro campo repetidor.
Layout
En el campo layout cabe destacar las opciones Tabla y fila. Con la opción “Tabla” el campo se mostrará como una tabla en la que el encabezado serán los campos introducidos en la sección Sub Campos. Cuando tenemos un número elevado de Sub campos la tabla puede no aparecer correctamente en pantalla por falta de espacio, en estas ocasiones es aconsejable usar el layout “Fila” para que cada Sub campo aparezca debajo del otro separados por filas.
Etiqueta del botón
Pues si! imaginas bien!! jejejeje esto es el texto del botón que nos permite añadir filas al campo repetidor.
Plantillas de uso para recorrer el campo repeater
Como hemos indicado antes el campo repeater nos sirve para envolver un listado de subcampos, para ello es necesario recorrer las filas de datos y sacar los datos de cada subcampo. A continuación te mostramos algunas posibilidades:
Ejemplo básico para mostrar el contenido
Con este pequeño código mostramos el contenido del campo repeater en pantalla usando las funciones “have_rows“, “the_row” y “the_sub_field()“
// Verificamos si hay filas con registros dentro del campo repeater
if( have_rows('plugins') ):
// Loop con las filas del campo repeater
while ( have_rows('plugins') ) : the_row();
// Mostramos los valores
the_sub_field('nombre_plugin');
echo " -> v. ";
the_sub_field('version');
echo " -> ";
the_sub_field('estado');
echo "<hr>";
endwhile;
else :
// No hay registros
endif;
El resultado del código anterior en el ejemplo de este post sería el siguiene:
Yoas Seo -> v. 2 -> Activo
Jetpack -> v. 3 -> Desactivado
Un pasito mas allá que el ejemplo anterior
En este ejemplo en lugar de usar “the_sub_field()” para mostrar los valores usamos la función “get_sub_field()” para almacenar las variables dentro del loop.
// Loop con las filas del campo repeater
while ( have_rows('plugins') ) : the_row();
// Sacamos los valores de cada registro y los almacenamos en variables
$nombre = get_sub_field('nombre_plugin');
$version = get_sub_field('version');
$estado = get_sub_field('estado');
//Ahora tratamos las variables como mejor nos convenga, por ejemplo mostrarlo en pantalla
echo "<ul>";
echo "<li><strong>Nombre del Plugin: </strong>".$nombre."</li>";
echo "<li><strong>Versión del Plugin: </strong>".$version."</li>";
echo "<li><strong>Estado del Plugin: </strong>".$estado."</li>";
echo "</ul>";
endwhile;
else :
// no rows found
endif;
El código anterior en el ejemplo que estamos mostrando en este post arrojaría el siguiente resultado:
- Nombre del Plugin: ACF Pro
- Versión del Plugin: 1
- Estado del Plugin: Activo
- Nombre del Plugin: Yoas Seo
- Versión del Plugin: 2
- Estado del Plugin: Activo
- Nombre del Plugin: Jetpack
- Versión del Plugin: 3
- Estado del Plugin: Desactivado
¿Tienes alguna duda? Para cualquier consulta puedes contactarme en el siguiente correo:
Espero que te haya gustado y resultado de utilidad este primer post!