ACF Repeater – Ajustes y modo de empleo

Juan Antonio Munoz Castro - emoji con bus

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.

Una vez Configurado el campo repeater, nos dirigimos al post que queremos editar con él y procedemos a meter unos datos de prueba para el ejemplo del tutorial. En nuestro caso queda algo como lo que podéis ver en la siguiente foto:

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()

<?php
    // 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 " -&gt; v. ";
            the_sub_field('version');
            echo " -&gt; ";
            the_sub_field('estado');
            echo "&lt;hr&gt;";

        endwhile;
    else : 
        // No hay registros 
    endif;
?>

El resultado del código anterior en el ejemplo de este post sería el siguiene:

ACF Pro -> v. 1 -> Activo
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.

<?php
    // 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();

            // 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:

contacto@juanmcastro.es

Espero que te haya gustado y resultado de utilidad este primer post! 

Deja una respuesta

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

Ver más

  • Responsable: Juan Antonio Muñoz Castro.
  • Finalidad:  Moderar los comentarios.
  • Legitimación:  Por consentimiento del interesado.
  • Destinatarios y encargados de tratamiento:  No se ceden o comunican datos a terceros para prestar este servicio. El Titular ha contratado los servicios de alojamiento web a SERED que actúa como encargado de tratamiento.
  • Derechos: Acceder, rectificar y suprimir los datos.
  • Información Adicional: Puede consultar la información detallada en la Política de Privacidad.

Ir arriba
Esta web utiliza cookies propias y de terceros para su correcto funcionamiento y para fines analíticos y para mostrarte publicidad relacionada con sus preferencias en base a un perfil elaborado a partir de tus hábitos de navegación. Al hacer clic en el botón Aceptar, acepta el uso de estas tecnologías y el procesamiento de tus datos para estos propósitos. Ver Política de cookies
Privacidad