
Soy fanático de los campos personalizados avanzados (ACF) durante mucho tiempo. Se usa en casi todos los sitios que he construido o trabajado en los últimos años. Para aquellos que no saben, ACF es un complemento que le brinda más control sobre su contenido. Utiliza publicaciones meta personalizadas para enriquecer su contenido con datos estructurados. También le permite construir y configurar los campos de datos en meta cuadros al actualizar publicaciones, páginas, tipos de publicaciones personalizadas y más. En el pasado, utilicé el complemento como parte de un proyecto en el sitio web delicioso cerebro. Sin embargo, esta publicación de blog me mostró cuán vital es la tercera solución para el desarrollo de WordPress. Dejame explicar …
Cómo Works ACF me llevó algún tiempo entender lo que está haciendo ACF, así que aquí hay un ejemplo rápido. Lo usé en un sitio de caridad para salvar perros, donde los usuarios agregan nuevos perros para la reubicación como una publicación personalizada. Sin embargo, junto con el nombre del perro, la descripción, el título de la publicación y el contenido, también quieren almacenar la raza y el género del perro, un enlace a un video y algunas fotos. Para hacer esto, hemos creado un grupo de campos para estos datos del menú de campo personalizado> Grupos de campo> Nuevo ADD:

Puede agregar campos de diferentes tipos. Aquí utilicé selecciones, cuadros de texto, un cuadro de selección booleano simple y un campo de la galería. Este último es una opción ACF Pro y discutiré más al respecto más tarde.
Así es como configuraría una casilla de verificación con opciones para el usuario:

Luego, dije que este grupo solo debería aparecer en las pantallas de edición para el tipo de publicación personalizada para perros. Hay todo tipo de lógica que puede usar aquí, como tipos de publicaciones, plantillas, categorías y roles de usuario: sin embargo, el poder real de ACF es al agregar datos. Agregar datos a los campos ACF La pantalla de edición se ve diferente cuando se trabaja en una publicación de perro. Muestra una caja de metal completamente personalizada con campos definidos:

Esto facilita la adición de todos los datos adicionales para editores de contenido. También le permite especificar exactamente dónde desea reproducir los datos en el tema, utilizando el código de función get_field:

! ? Perro en taxonomías personalizadas. Es posible que incluso tenga que usar la galería nativa incorporada en el contenido de la publicación. Harina.
ACF aumenta WordPress ACF es exactamente lo que WordPress como sistema de gestión de contenido (CMS) faltaba cuando se trata de tener más control sobre su contenido. Con más de un millón de instalaciones activas, ha contribuido al aumento de la plataforma WordPress y puede haber contribuido a su crecimiento. Además, los desarrolladores y agencias lo usaron para proporcionar a los clientes control sobre su contenido, sin la necesidad de códigos cortos, creadores de páginas o incluso post_content. Los desarrolladores tienen un control completo sobre el lugar donde los datos aparecen en el front-end del sitio, evitando las inevitables ediciones del cliente que destruyen las imágenes. De hecho, ACF es tan popular entre nuestros clientes que tuvimos que agregar una integración con Medios de descarga de WP. Ahora, las imágenes y recortes funcionan con el contenido de los medios descargados en Amazon S3, DigitalOcean Spaces o Google Cloud Storage. Agregar opciones de campo adicionales a ACF La versión gratuita del complemento tiene muchas características. Sin embargo, la versión premium es esencial para tener acceso a campos como repeticiones, modelos flexibles y galerías. Por ejemplo, usamos el campo repetido para permitir a los usuarios mostrar testimonios seleccionados en una diapositiva en las páginas de los productos. El repetidor contiene un campo de objeto de publicación vestido:
Luego aparece al editar la página para que podamos controlar qué testimonios se mostrarán:
Con acciones y filtros salpicados alrededor de la base del código, ACF siempre ha sido una herramienta extremadamente fácil de desarrollar y extensible. También da prioridad a las mejoras que son importantes para sus usuarios. Sin embargo, utilizando la función JSON local, uno de los pocos problemas que encontramos en el pasado fue el almacenamiento de configuraciones de campo en la base de datos, especialmente tipos de publicaciones personalizadas para campos y campos. Esto significaba que si cambia la definición del campo en un sitio de desarrollo, no puede presionar su base de datos utilizando una solución como WP Migra DB Pro de vuelta a la vida. Descubrirá que la tabla de publicaciones cambiará y perderá los nuevos datos. Este es el problema de combinación de base de datos anterior (no me haga comenzar …). Solíamos resolver esto haciendo cambios de campo primero en el sitio en vivo. Luego dibujaría la base de datos en mi sitio local para continuar el desarrollo. No es ideal. Afortunadamente, ACF presentó la función JSON local. ¿Qué es para permitir la configuración del campo como archivos JSON, que se pueden sincronizar con la base de datos? Esta maravillosa característica resuelve el problema de combinar la base de datos para datos ACF. También significa que puede mantener los archivos JSON bajo el control de la versión y puede hacer una parte de su proceso de implementación de archivos típico en la configuración. Mientras trabajamos con el complemento en nuestro sitio, agregamos algunos cambios para integrarlo aún más con la configuración GIT y Multi-Mediu:

Definimos al director de JSON en nuestro director de la aplicación/fecha fuera del tema (porque podría cambiar).

El elemento del menú “campos personalizados” solo se mostrará en entornos de desarrollo. JSON Son -in -Derecho con una configuración obsoleta de la base de datos en Admin_init se sincronizará automáticamente.
A pesar de que ahora tenemos WordPress Block Editor (anteriormente conocido como Gutenberg), diría que ACF todavía es vital para crear una excelente experiencia de edición. El uso del editor de bloques junto con ACF el editor de bloques ofrece una dirección diferente para editar el contenido que ACF. Cree contenido usando bloques en lugar de almacenarlo como una publicación de metadato, lo que le brinda cierta flexibilidad de diseño.
Al principio, el editor de bloques no aceptó las meta cajas. Incluso fueron eliminados de la pantalla de “editar publicación”, causando mucha indignación. Ahora, se ha agregado soporte a las meta cajas. Aparecen debajo del editor de bloques con una interfaz de usuario (UI) mínima y menos refinada.
Utilizando bloques en lugar de campos para datos personalizados, el nuevo editor tiene el potencial de tener un gran impacto en el futuro ACF. Además, es mucho menos probable que los nuevos sitios instalaran una herramienta de terceros, ahora hay una solución nativa. Sin embargo, no es la primera vez que los cambios básicos propuestos amenazan el futuro ACF. Hace unos años, se creó un nuevo equipo para después de Meta. Al principio, esto sonaba como destruir las diferentes soluciones de campo personalizadas de tercera parte:
Ha habido muchas bibliotecas/marcos/complementos (CMB, SCB, WPalchemy, ACF, POPS), que han desempeñado este papel por el momento. Los veremos como los prechizos espirituales de un nuevo complemento básico. En ese momento, escribí sobre cómo esta decisión de introducir nuevas funciones competidoras podría hacer algunos complementos redundantes. Finalmente, el post meta proyecto no ha funcionado en ninguna parte, el nuevo editor llegó y ACF se resistió a la tormenta. ACF no solo regresó, sino que se adaptó. El resultado fue algo que combinaba el poder de ACF y la flexibilidad de los bloques personalizados. Hablemos de esto. Cómo construir bloques utilizando obviamente ACF, los bloques personalizados pueden ser beneficiosos. Sin embargo, el proceso técnico de crearlos es complejo. Los bloques ACF llenan el vacío. Los bloques ACF se integran con los campos personalizados actuales, son dinámicos y personalizables y le permiten hacer dos cosas: puede introducir los campos personalizados actuales en el ecosistema del editor de bloques.
Puede crear soluciones personalizadas en línea.
Se reproducen utilizando un archivo de plantilla PHP o una función de devolución de llamada, por lo que es como desarrollar un tema. También conserva la compatibilidad básica con WordPress, por lo que incluso podría crear bloques reutilizables a través del marco.

Aunque los bloques de ACF no son una muleta, diría que si sus habilidades reactas aún están incompletas, ciertamente querrá investigarlos. Le permitirán aprovechar la potencia del editor de energía, mientras se mantenga en el archivo de Function.php familiar. Construyendo un bloque ACF para mostrarle cómo construir un bloque ACF. La versión Pro del instrumento ha incluido esta funcionalidad de ACF 5.8, por lo que ha sido durante aproximadamente dos años. Aquí hay un ejemplo súper soluble del código de registro de bloque: add_action (‘acf/init’, ‘my_acf_init’); Función my_acf_init () {// verificar la función existe if (function_exist (‘acf_register,’ descripción ‘=> __ (‘ un bloque testimonial personalizado. ‘),’ Render_template ‘=> plant-parts/blocks/testimonial/testimonial.php’ ‘ , ‘render_callback =>’ my_bf_render_callback ‘,’ category => ‘forming’, ‘icon’ => ‘admin-communs’, ‘palabras clave’ => array (‘testimonial’, ‘cita’),); }} Desde aquí, querrás crear un grupo de campos y jugar el bloque. Por el primero, lo hará desde la pantalla de campo personalizada> Grupos de campo de WordPress: aquí, agregue su grupo de campo y llénelo como de costumbre. Sin embargo, en el cuadro de meta “ubicación”, querrá usar la regla de “bloquear” para seleccionar (en este caso) el bloque de testimonio.
Finalmente, tendrás que jugar el bloque.Esto sigue el mismo proceso al que ya podría estar acostumbrado con los campos personalizados: cree un archivo de plantilla para su tema basado en el parámetro dado en la configuración render_template al registro inicial del bloque.
Elija el método correcto para reproducir el bloque.
Pon tus estilos y guiones en tu cola.
Tenga en cuenta que la función acf_register_block_type () proporciona enqueue_style, enqueSe_script y enqueu_assets.

En general, los bloques no deben reemplazar cada metabox de campo personalizado donde se necesitan, pero le permitirá aprovechar el contenido en el editor. Soporte de “bloques internos”. El editor de bloques también tiene funcionalidades que lo ayudan a trabajar con bloques ACF. InnerBlocks le permite ingresar cualquier bloque nuevo en su bloque ACF. Estos pueden ser bloques personalizados o básicos y puede usar los campos actuales “Título”, “Contenido” y “botón” en sus propios bloques ACF. Aquí hay un tutorial rápido para comenzar y trabajar. Para comenzar a usar los bloques de automóviles, incluya ‘jsx’ => verdadero en la matriz de soporte: acf_register plantplate-parts/blocks/testimonial/testimonial.php ‘,’ mode ‘=> preview’, ‘admite’ => [‘align’ => Falso, ‘ancla’ => true, ‘CustomClassName’ => true, ‘jsx’ => true,]); Luego tendrá que repetir la etiqueta HTML Echo Block Template: echo ‘
; echo ”;



Campos personalizados avanzados: una guía para campos personalizados y bloques ACF
Tags Campos personalizados avanzados: una guía para campos personalizados y bloques ACF
homefinance blog