Enero 2018
Índice
Una vez sabemos conocemos el funcionamiento básico del plugin Advanced Custom Fields, llega el momento de explicar algo un poco más complejo: Como hacer un bucle de datos con acf.
Debemos incorporar esta funcionalidad al plugin ACF ya que este no la trae por defecto.
¿Cómo hacemos esto? ¡No te desesperes! Es igual de sencillo.
Existen multidud de plugins con la funcionalidad Repeater, sin embargo, el que más nos gusta en Lowweb es un plugin llamado acf-repeater.
Por desgracia, en muchas ocasiones, cuesta mucho de encontrar por lo que os dejamos el enlace para la descarga: Plugin ACF-Repeater
La mejor forma de instalar el archivo ZIP descargado es ir a la ruta donde se almacenan los plugins y descomprimirlo.
La ruta la encontrarás en: Proyecto/wp-content/plugins
Una vez descomprimido, solo se tiene que acceder al panel de administrador y activar el plugin.
Volvemos al panel del administrador de WordPress y accedemos al menú Custom Fields.
Para este ejemplo, vamos a crear un bucle de datos con acf para permitir a un usuario final la capacidad de introducir el mismo los platos de un restaurante.
El siguiente paso es el de crear los subcampos del bucle. En este caso, queremos queremos que sean nombre y precio.
Para finalizar, queremos que este bucle esté vinculado a la página home de nuestro proyecto.
El siguiente paso es el de rellenar nuestro bucle con los datos que queramos.
Para este ejemplo vamos a usar los siguientes ejemplos:
¡Ya estamos terminando! Aprender algo nuevo siempre es algo engorroso pero ya estamos terminando.
Para mostrar nuestro buble de datos en el front end, debemos seguir los siguientes pasos:
1 2 3 4 5 6 |
<?php $restaurante = get_field('platos_restaurante', 2); if($restaurante){ //Acciones } ?> |
1 2 3 |
foreach($restaurante as $platos){ } |
1 2 3 4 5 6 7 8 9 10 11 12 |
<?php $restaurante = get_field('platos_restaurante', 2); if($restaurante){ foreach($restaurante as $plato){ ?> <table> <tr> <td>Plato: <?php echo $plato['nombre'];?></td> <td>Precio: <?php echo $plato['precio'];?></td> </tr> </table> <?php } ?> <?php } ?> |