WordPress
Zaragoza

Actualizaciones y novedades de WordPress,
plugins esenciales y temas premium.

Actualizaciones Advanced Custom Fields2025-01-10T15:07:35+01:00

Advanced Custom Fields

ACF es un plugin de WordPress que permite agregar y gestionar campos personalizados para enriquecer y personalizar contenido de forma avanzada.

Nueva versión de Advanced Custom Fields 6.3.1 disponible – Mejoras en WordPress

Advanced Custom Fields versión 6.3.1 ahora disponible

Por favor, encuentra a continuación las notas de la versión.

Lista de Cambios

  • Mejora – Las Páginas de Opciones registradas en la interfaz de usuario ahora pueden ser duplicadas
  • Corrección – La validación de bloques ACF ahora valida correctamente los campos Repetidor, Grupo y Contenido Flexible
  • Corrección – La validación de bloques ACF ahora valida correctamente cuando un campo está utilizando un tipo de retorno no predeterminado
  • Corrección – Los campos movidos entre grupos de campos ahora actualizan correctamente ambos archivos JSON
  • Corrección – Los campos de Selector de Iconos ahora se renderizan correctamente cuando se utilizan etiquetas alineadas a la izquierda
  • Corrección – Los campos de Selector de Iconos ya no renderizan pestañas si solo se selecciona una pestaña para mostrar
  • Corrección – Los campos de Selector de Iconos ya no bloquean el editor de publicaciones si no se seleccionan pestañas de selector de iconos para mostrar
  • Corrección – El campo Verdadero/Falso ahora maneja mejor etiquetas de Encendido/Apagado más largas
  • Corrección – Los resultados de Select2 cargados por AJAX para campos de Taxonomía de selección múltiple ya no codifican en exceso entidades HTML

La publicación ACF 6.3.1 apareció primero en ACF.

Consulta el artículo original para más información: https://www.advancedcustomfields.com/blog/acf-6-3-1/.

En Zonsai, te ayudamos a mantener tu web actualizada y segura.

4 de junio de 2024|ACF|

ACF 6.3 Lanzamiento – Validación de Bloques ACF y Almacenamiento de Metadatos de Publicaciones, Campo Selector de Iconos y Más

ACF 6.3: Novedades en Diseño WordPress y Mejoras en Rendimiento

La versión 6.3 de Advanced Custom Fields ya está disponible, presentando nuevas funcionalidades y mejoras para optimizar tu experiencia en Diseño WordPress.

Soporte de Validación para Bloques ACF

La validación es una característica potente de ACF. Ahora, los campos en ACF Blocks pueden tener reglas de validación aplicadas, como requeridos, valores mínimos y máximos, e incluso reglas personalizadas. Esta validación ahora está habilitada de forma predeterminada para todos los bloques, funcionando de la misma manera que para grupos de campos asignados a publicaciones, páginas u otros objetos de datos, admitiendo toda la lógica de validación personalizada y filtros existentes.

La validación se ejecutará automáticamente cuando se agregue un nuevo bloque ACF a la página, pero solo la primera vez que se deseleccione el bloque o se intente guardar la página, evitando interrumpir la edición del bloque. También es posible deshabilitar la validación por defecto para campos en bloques ACF si es necesario.

Almacenamiento de Valores de Campo ACF en Metadatos de Publicación

ACF 6.3 introduce la posibilidad de almacenar los datos de campo de un bloque en los metadatos de la publicación, lo que facilita su consulta y manipulación.

Esto se logra a través de un nuevo atributo en block.json: usePostMeta: true (predeterminado falso). Esta función permitiría la creación de un tipo de publicación personalizado con una plantilla de bloque fija, lo que replicaría una experiencia de editor clásico donde solo existe tu bloque para ingresar datos estructurados específicos.

Nuevo Selector de Iconos

El selector de iconos ha sido mejorado significativamente, brindando a los usuarios la capacidad de ver, buscar y seleccionar iconos del conjunto Dashicons de forma sencilla. Además, se ha añadido la opción de seleccionar una imagen de la biblioteca multimedia de WordPress o cargar una nueva según sea necesario.

Otras Mejoras

Además de las funcionalidades mencionadas, esta versión incluye mejoras significativas en la lógica condicional, la integración con la salud del sitio en WordPress, y la desactivación por defecto del shortcode de ACF en nuevas instalaciones.

Requisitos de Versión

Con ACF y ACF PRO 6.3, se han aumentado nuevamente las versiones mínimas requeridas de PHP y WordPress para garantizar un rendimiento óptimo. La versión mínima de PHP ahora es 7.4 y la de WordPress es 6.0. Esto garantiza que los usuarios mantengan actualizadas sus versiones de PHP y WordPress para disfrutar de todas las características de ACF 6.3.

Próximos Pasos

El equipo de ACF tiene una lista de nuevas características, mejoras y correcciones que implementar en los próximos meses. Para la versión ACF 6.4, se planea agregar una interfaz de usuario para registrar bloques ACF, facilitar la edición de contenido de texto en el editor de bloques para ACF y ofrecer soporte para WooCommerce HPOS.

Si tienes ideas o sugerencias para mejorar ACF, no dudes en compartir tus opiniones en nuestro tablero de feedback y votar por las propuestas que consideres importantes.

¡Gracias a todos en la comunidad de ACF que hicieron posible esta versión!

Accede al artículo original en https://www.advancedcustomfields.com/blog/acf-6-3-0-released/ para más información.

Con Zonsai, tu web siempre estará a la última.

22 de mayo de 2024|ACF|

Lanzamiento de seguridad ACF PRO 6.2.10 – ¡Actualización esencial para usuarios de ACF Blocks!

Advanced Custom Fields PRO versión 6.2.10 ya está disponible

Esta versión exclusiva de ACF PRO contiene una importante corrección de seguridad para los usuarios de ACF Blocks y recomendamos actualizar lo antes posible.

Corrección de Seguridad en ACF Blocks

Esta versión corrige una vulnerabilidad de seguridad en ACF Blocks, donde usuarios malintencionados autenticados con la capacidad de editar publicaciones podrían cambiar la plantilla de renderizado, el nombre de la función de callback de renderizado o establecer un nombre de función de callback de activo heredado personalizado para un Bloque de ACF.

Aunque la vulnerabilidad requiere un usuario autenticado, recomendamos aplicar el parche lo antes posible.

Registro de Cambios

  • Corrección de Seguridad: ACF Blocks ya no permiten que las plantillas de renderizado, las funciones de callback de renderizado o los activos se anulen en los atributos del bloque.

Tomamos la seguridad de ACF muy en serio y siempre estamos trabajando en proteger a nuestros usuarios. Si has descubierto una vulnerabilidad en el código o tienes un problema de seguridad, consulta nuestra página de Seguridad para obtener más información.

Para preguntas y ayuda sobre esta actualización, por favor contacta a nuestro equipo de soporte.

El artículo Liberación de Seguridad ACF PRO 6.2.10 fue publicado en ACF.

Más información disponible en el artículo original: https://www.advancedcustomfields.com/blog/acf-pro-6-2-10-security-release/.

Confía en Zonsai para mejorar tu presencia digital.

15 de mayo de 2024|ACF|

ACF PRO 6.3 Beta 1: Novedades para WordPress con ACF Blocks y Validación de Campos.

ACF PRO 6.3 Beta 1: Novedades y Mejoras

Estamos emocionados de lanzar la primera beta de ACF PRO 6.3.

En esta versión, hemos incluido las solicitudes de funciones más comunes de nuestros usuarios de ACF Blocks. Las principales novedades son el soporte de validación de campos y la capacidad de almacenar datos de campo de un bloque en la tabla postmeta, que son el enfoque de nuestra beta.

Para obtener información completa sobre ACF 6.3, por favor lee el post de blog del lanzamiento final.

Changelog de Beta 1

  • Nuevo: ACF ahora requiere WordPress versión 6.0 o posterior, y PHP 7.4 o posterior.
  • Nuevo: ACF Blocks ahora admiten reglas de validación para campos.
  • Nuevo: ACF Blocks ahora admiten almacenar datos de campo en la tabla postmeta en lugar de en el contenido del post.
  • Nuevo: Las reglas de lógica condicional para campos ahora admiten seleccionar valores específicos para objetos de post, enlaces de página, relaciones y usuarios en lugar de tener que ingresar el ID.
  • Nuevo: Selección de icono para el menú de un tipo de entrada personalizado.
  • Nuevo: Selección de icono para el menú de una página de opciones.
  • Nuevo: ACF ahora muestra información de depuración y estado en el área de Salud del sitio de WordPress.
  • Nuevo: El aviso de html escapado ahora se puede descartar permanentemente.
  • Mejora: El campo de pestaña ahora admite un atributo selected para especificar cuál debe seleccionarse por defecto, y admite atributos de clase.
  • Corrección: La precarga de bloques ahora funciona de manera confiable en WordPress 6.5 o posterior.
  • Corrección: Los tipos de entradas personalizadas registrados con ACF ahora tendrán habilitado el soporte de campos personalizados por defecto para mejorar el soporte de revisiones.
  • Corrección: La primera vista previa después de publicar un post en el editor clásico ahora muestra los campos de ACF correctamente.
  • Corrección: Los campos de ACF y los diseños de Contenido Flexible ahora se posicionan correctamente al arrastrar.
  • Corrección: Copiar el título de un campo dentro de un diseño de Contenido Flexible ya no agrega espacios en blanco al valor copiado.
  • Corrección: Los nombres de los diseños de Contenido Flexible ya no se convierten a minúsculas al editarlos.
  • Corrección: Los Bloques de ACF sin atributos predeterminados se registran correctamente.
  • Corrección: Los campos de usuario ya no generan un error 404 al cargar resultados si el nonce generado solo contiene números.
  • Corrección: Los campos de descripción para elementos de ACF ahora admiten caracteres exclusivamente numéricos.
  • Corrección: El encabezado del grupo de campos ya no aparece encima del menú de administración de WordPress en pantallas pequeñas.
  • Internacionalización: Todos los errores generados durante las verificaciones de licencia o actualización de ACF PRO ahora son traducibles.
  • Otros: El ACF Shortcode ahora está desactivado por defecto para nuevas instalaciones de ACF, como se discutió en las notas de lanzamiento de ACF 6.2.7.

El post ACF PRO 6.3 Beta 1 apareció primero en ACF.

Accede al artículo original en https://www.advancedcustomfields.com/blog/acf-pro-6-3-beta-1/ para más información.

Con Zonsai, tu web siempre estará a la última.

1 de mayo de 2024|ACF|

«¡Novedades en WordPress! ACF 6.2.9 disponible ahora»

Advanced Custom Fields versión 6.2.9 ya disponible

La versión 6.2.9 de Advanced Custom Fields ya está disponible, con las siguientes mejoras y funcionalidades:

Registro de Cambios

  • Mejora: La función escapeMarkup de Select2 ahora puede ser anulada al inicializar un Select2 personalizado.
  • Corrección: Los ajustes de «Ocultar en pantalla» ahora se aplican correctamente al usar grupos de campos cargados condicionalmente.
  • Corrección: Los nombres de los campos ya no se convierten a minúsculas al editar el nombre.
  • Corrección: Los títulos de los grupos de campos ya no convierten entidades HTML en su forma codificada.

Para más información, visita el blog de ACF 6.2.9 en el sitio web de ACF.

Consulta el artículo original en https://www.advancedcustomfields.com/blog/acf-6-2-9/ para obtener más detalles.

En Zonsai, somos expertos en diseño WordPress y optimización.

8 de abril de 2024|ACF|

Novedades de ACF PRO versión 6.2.8 para WordPress 6.5

Advanced Custom Fields PRO versión 6.2.8 ahora disponible

Esta versión contiene soporte para las funciones de WordPress 6.5, algunas correcciones de errores y habilita nuestro nuevo comportamiento que requiere una licencia activada para usar las funciones PRO.

WordPress 6.5

WordPress 6.5 trae varias nuevas funciones que puedes utilizar con ACF. Desde Block Bindings hasta la Interactivity API, WordPress 6.5 ofrece nuevas oportunidades para usar datos de ACF en bloques principales de WordPress y nuevas experiencias de interactividad en bloques de ACF. Algunas de estas funciones requieren que ACF agregue compatibilidad, y esta versión comienza ese trabajo.

API de Block Bindings

La API de Block Bindings te permite conectar datos de ACF a atributos de bloques principales de WordPress. Inicialmente, ACF admitirá el uso de metadatos de ACF asignados a la página actual en los bloques admitidos y sus atributos.

Actualmente no hay una interfaz de usuario principal de WordPress para configurar un enlace de bloque. En su lugar, es necesario agregar manualmente el enlace en el editor de código dentro del editor de bloques.

Por ejemplo, el siguiente código reemplaza el valor de un bloque de Párrafo con el valor actual del campo de ACF llamado párrafo:

En futuras versiones, tenemos la intención de agregar soporte para acceder a campos de otros tipos de publicaciones u objetos como usuarios, términos y opciones. Por razones de seguridad, el acceso a los valores de los campos desde otras ubicaciones requerirá código adicional para marcar esos campos como disponibles para las vinculaciones de bloques.

Escapado HTML de Select2

En ACF 6.2.7, cambiamos cómo se puede renderizar HTML en los valores de select2, coincidiendo con el comportamiento predeterminado de select2 que garantiza que no se pueda inyectar HTML malicioso en un campo de selección, evitando posibles ataques XSS.

ACF 6.2.8 cambia esto aún más, agregando un nuevo filtro JS select2_escape_markup que se puede usar para anular este comportamiento si tienes campos que deben contener HTML. Puedes seguir anulando las propiedades templateSelection o escapeMarkup a través del filtro JS existente select2_args.

Puedes encontrar más información sobre cómo usar este filtro en la Documentación de la API de JS.

Registro de cambios

  • Nuevo – Soporte para la API de Block Bindings en WordPress 6.5 con una nueva fuente acf/field
  • Nuevo – Soporte para mejoras de rendimiento para traducciones en WordPress 6.5
  • Mejora – Un nuevo filtro JS, select2_escape_markup, ahora permite a los campos personalizar el comportamiento de escapado de HTML de select2
  • Corrección – Las páginas de opciones ya no pueden establecerse con un padre de sí mismas
  • Corrección – Las activaciones de licencia de ACF PRO en instalaciones de subsitios multisitio ahora utilizarán la URL del sitio correcta
  • Corrección – ACF PRO instalado como un plugin de uso obligatorio en instalaciones multisitio ya no intentará buscar actualizaciones que resulten en errores 404
  • Corrección – ACF JSON ya no produce advertencias en servidores Windows cuando no se encuentra una carpeta ACF JSON
  • Corrección – Los nombres de campo y diseño ahora pueden contener caracteres no ASCII válidos
  • Otro – ACF PRO ahora requiere una licencia válida para ser activada para poder usar las funciones PRO. Aprende más

La publicación ACF 6.2.8 apareció primero en ACF.

Visita el artículo original en https://www.advancedcustomfields.com/blog/acf-6-2-8/ para más detalles.

Mantén tu web en perfecto estado con los servicios de Zonsai.

2 de abril de 2024|ACF|

Nueva versión de Advanced Custom Fields 6.2.7 con importantes correcciones de seguridad.

Advanced Custom Fields versión 6.2.7 ya está disponible

Esta versión contiene importantes correcciones de seguridad y habilita el nuevo comportamiento de escape de the_field descrito en nuestra publicación de lanzamiento para 6.2.5.

Escape de the_field y the_sub_field

Esta versión habilita el escape automático de HTML potencialmente inseguro al utilizar the_field y the_sub_field para mostrar un valor de campo, siguiendo la adición de advertencias para esto en ACF 6.2.5.

Para obtener detalles completos, información sobre los filtros disponibles para modificar el comportamiento y cómo cambiar tu código si necesitas mostrar HTML potencialmente inseguro, consulta la publicación de lanzamiento para 6.2.5.

Correcciones de Seguridad Adicionales

ACF 6.2.7 también incluye dos correcciones de seguridad adicionales y una serie de mejoras de seguridad. Específicamente, se han corregido dos posibles vulnerabilidades XSS, una que afecta la representación del campo select2 cuando un valor contiene HTML y otra que afecta los nombres de campos o nombres de diseño de campos de Contenido Flexible donde se podría guardar HTML no seguro.

Además, hemos revisado todo el HTML de salida propio de ACF para asegurarnos de escapar cualquier cadena traducida u otro contenido en las pantallas de administración de ACF para garantizar que esté escapado.

Seguridad y el Shortcode de ACF

El shortcode de ACF es una característica heredada diseñada para permitir que tus usuarios muestren datos de ACF almacenados en cualquier lugar de tu base de datos, en una entrada o una página.

En los últimos años, hemos avanzado significativamente en mejorar la seguridad del shortcode de ACF. En ACF 5.11.2, evitamos que el shortcode pudiera acceder a valores de metadatos de entradas que no son de ACF, y en ACF 6.0.3 introdujimos más cambios para asegurar que solo los usuarios que tienen el permiso publish_posts puedan previsualizar el shortcode de ACF, lo que significa que los contribuidores no pueden utilizar modos de previsualización para ver datos de ACF sin autorización, e incluso hemos informado sobre vulnerabilidades de shortcode en el núcleo de WordPress que han sido parcheadas.

Dicho esto, la premisa fundamental del shortcode de ACF es permitir que los usuarios accedan a esos datos, siempre que conozcan el nombre o clave del campo de ACF y dónde se almacenan los datos, ya sea en entradas (incluidas entradas privadas), usuarios, términos o páginas de opciones.

Por esta razón, desde ACF 6.0.3 hemos recomendado a los usuarios desactivar el shortcode si no lo están utilizando.

ACF 6.2.7 también contiene un nuevo filtro que te permite limitar los valores accesibles para el Shortcode de ACF.

Este filtro, acf/shortcode/prevent_access, te permite devolver true para prohibir el acceso a ese tipo de campo. Por ejemplo, podrías evitar el acceso a cualquier campo almacenado como opciones o cualquier valor de campo en un usuario, entrada o página con visibilidad privada.

Registro de cambios

  • Corrección de Seguridad – the_field ahora escapa HTML potencialmente inseguro como se notificó desde ACF 6.2.5. Para más información, por favor lee la publicación de blog de lanzamiento
  • Corrección de Seguridad – Los nombres de campo y diseño ahora están limitados a caracteres alfanuméricos, resolviendo un posible problema XSS
  • Corrección de Seguridad – La plantilla de renderizado predeterminada para campos select2 ya no permite que se renderice HTML, resolviendo un posible problema XSS
  • Mejora de Seguridad – Ahora está disponible un filtro acf/shortcode/prevent_access para limitar qué datos puede acceder el Shortcode de ACF
  • Mejora de Seguridad – Las cadenas traducidas de i18n ahora están escapadas en la salida
  • Mejora – ACF ahora utiliza universalmente funciones del sistema de archivos de WordPress en lugar de funciones nativas de PHP

Lee el artículo original en https://www.advancedcustomfields.com/blog/acf-6-2-7-security-release/ para conocer todos los detalles.

Haz que tu web sea más segura y eficiente con Zonsai.

27 de febrero de 2024|ACF|

ACF 6.2.6 – Novedades y mejoras de WordPress.

Actualización de Advanced Custom Fields versión 6.2.6

La versión 6.2.6 de Advanced Custom Fields ya está disponible e incluye varias correcciones de errores y mejoras significativas. Una de las novedades destacadas es una nueva forma de devolver un valor escapado desde get_field() y funciones relacionadas.

Más Fácil Escapar con get_field() y Funciones Relacionadas

Anteriormente, en ACF se recomendaba utilizar las funciones de escape del núcleo de WordPress para escapar los datos que se mostrarán en tu tema o plugin utilizando get_field() u otras funciones similares. Sin embargo, en ACF 6.2.6 y ACF PRO 6.2.6, se ha añadido un nuevo parámetro opcional $escape_html a get_field() y funciones similares para devolver el valor escapado por ACF de manera automática.

Este parámetro opcional permite que el escape específico del tipo de campo tenga lugar, lo que garantiza un escape adecuado para cada tipo de campo. Por ejemplo, el campo WYSIWYG realiza su propio escape antes de aplicar filtros como los shortcodes y otros filtros de the_content, evitando así la eliminación de elementos como iframes o etiquetas de script.

Además, se han añadido el parámetro $escape_html a las siguientes funciones:

Registro de Cambios de la Versión 6.2.6.1

  • Corrección: Se ha solucionado un error fatal de JS que ocurría al editar campos en el editor clásico cuando está instalado Yoast u otros plugins que cargan componentes del editor de bloques.
  • Corrección: Utilizar $escape_html en las funciones de obtención de campos que devuelven un array ya no produce un error de conversión de Array a cadena.

Registro de Cambios de la Versión 6.2.6

  • Mejora: Las funciones get_field() y otras funciones get_ ahora admiten un parámetro escape_html que devuelve un valor de campo seguro para HTML.
  • Mejora: El campo de URL ahora será escapado con esc_url en lugar de wp_kses_post al devolver un valor seguro para HTML.
  • Corrección: Los campos de ACF ahora se guardarán correctamente en la revisión creada por WordPress, resolviendo problemas con las vistas previas de borradores en WordPress 6.4 o posterior.
  • Corrección: Los subsitios de Multisitio ahora se activarán correctamente en el sitio principal donde la licencia de ACF PRO lo permita, ocultando la página de actualizaciones en esos subsitios.
  • Corrección: Los tipos de campo en los que la propiedad required no tenía efecto (como la pestaña o el acordeón) ya no mostrarán la opción.
  • Corrección: Duplicar un grupo de campos ahora mantendrá la página actual de grupos de campos que se muestran.
  • Corrección: Los campos en Bloques de ACF en modo de edición en temas híbridos ahora utilizarán el estilo de ACF en lugar de que algunos atributos sean anulados por el tema.
  • Corrección: El texto en algunos avisos de administrador ya no se superpondrá al botón de cerrar.
  • Corrección: La palabra link ahora está prohibida como nombre de CPT para evitar conflictos con el núcleo de WordPress.
  • Corrección: Los diseños de contenido flexible ya no se pueden duplicar más allá de su límite máximo.
  • Corrección: Todas las notificaciones de ACF mostradas fuera de las pantallas de administración de ACF ahora tienen un prefijo con el nombre del plugin.
  • Corrección: ACF ya no comprueba si se necesita un polyfill para
6 de febrero de 2024|ACF|

Actualización de Seguridad ACF 6.2.5 – WordPress Seguridad.

Advanced Custom Fields version 6.2.5 is now available.

This release is a security fix release containing an important change you need to be aware of before you update, and prepares for a change to the output of the_field coming soon to ACF.

From ACF 6.2.5, use of the ACF Shortcode to output an ACF field will be escaped by the WordPress HTML escaping function wp_kses.

This has potential to be a breaking change if you’re using the shortcode ([acf field=»field_name»]) to output potentially unsafe HTML such as scripts or iframes for textarea or WYSIWYG fields.

At ACF, we take security very seriously, but we also consider the impact that security fixes can have on your sites. To help site owners that are impacted by this release identify what fields are affected, the plugin will display a notice in WordPress admin screens, alerting you whenever some output has been escaped by this change.

From ACF 6.2.7, expected in February 2024, escaping unsafe HTML will also apply to other functions where ACF handles outputting the value of a field, namely the the_field() and the_sub_field() functions. To help get ahead of the impact of this future change, we’ve also added a notice in ACF 6.2.5 alerting you that your site is outputting HTML that will be altered by the escaping coming in 6.2.7.

This fix is necessary due to a vulnerability where users on your site with the role of contributor or higher, who do not have the unfiltered_html permission usually reserved for administrators, can manually set the value of a custom meta item outside of ACF to contain malicious HTML. Because of the vector, our usual sanitization on the save action will not apply. They could then use the ACF shortcode to output that HTML in an unsafe manner.

ACF 6.2.5 will detect when unsafe HTML has been removed from a field value output by the ACF Shortcode. An error message will be displayed in the WordPress admin, listing the fields which have been affected by this change, helping you diagnose where you may need to make fixes.

Example screenshots of ACF 6.2.5's admin messages warning about changes to field value escaping

We’d like to thank Francesco Carlucci and the Wordfence team for the responsible disclosure of this vulnerability specific to the ACF Shortcode.

Upcoming Changes to the_field()

When testing the above change to resolve the vulnerability, we realized there were further actions we could take to improve security when ACF handles the output of a field. Specifically, the functions the_field() and the_sub_field() should also be made HTML safe by default.

Whilst we’re aware many users store HTML in fields which they do want rendered to the front-end, as these functions do not allow users to apply any escaping themselves, we feel it’s our responsibility to ensure any output from these is safe.

From ACF 6.2.5, we begin detecting when the escaped value is different from the currently output value, indicating that something is being removed from a field’s value. A list of affected fields and how they’re being output is shown as a message in the WordPress admin. This message is visible to every user of your admin, but the details of the field names and functions are only visible to users with the ability to use ACF admin screens.

In ACF 6.2.7, currently expected to release in late February 2024, we will change this behavior to strip unsafe HTML by default when the_field() or the_sub_field(), showing an error in WordPress admin when this has happened.

To be clear, we are not deprecating or removing the_field() or the_sub_field(), we are just ensuring it can only output safe HTML by default.

Disallowed HTML tags

By default, most HTML is considered safe. Things like images or tables present no risk and so the WordPress kses system which powers this escaping allows it by default. Only HTML which could be used for malicious purposes, such as <script> tags, or <iframe> tags are removed, and this is additionally configurable.

The list of allowed HTML and attributes is visible in the WordPress source code and includes the majority of HTML elements, except for iframes and scripts which can cause the browser to run third-party code.

We also pass the acf context to wp_kses, so if you wish to expressly allow certain HTML tags only for ACF, you can define this as detailed in our HTML escaping documentation.

How to use ACF securely

As a developer with ACF, we’re aware you may have a use case of storing HTML which needs to be output in an unsafe manner, such as using a Text Area field to store the full <script> tags which should be output to allow your users to edit this.

In these cases—and if you’re confident you can trust every user registered on your site with contributor or higher access—we recommend you use echo get_field() to output this unsafe HTML to ensure it’s not filtered.

For all other fields, we’d also recommend using get_field to output the value, but making sure you apply the right escaping for the type of field you need. This is likely to be something like the wp_kses_post function, for example:

echo wp_kses_post( get_field(‘field_name’) );

Field type changes

As part of these changes, we’ve also introduced some changes across ACF to enable developers to allow HTML where they need to.

We’re aware some field types are designed to output HTML. For ACF’s default field types, specifically the oEmbed field type is designed to output an <iframe>, and the WYSIWYG field is designed to automatically handle embedding videos which may also be iframes. In the case of the WYSIWYG field, you’d still want unsafe HTML to be removed, but then allow oEmbeds to work, for example.

To support this, we’ve added a way for field types to mark that they will handle the escaping of HTML when requested, via a new parameter $escape_html. The new parameter is available on get_field and get_field_object, and is passed all the way through to the fields format_value method. This means if the field type supports handling escaping itself, setting this to true will get that escaped value. Since ACF 6.2.6, this argument can be used by developers as it will always return an escaped value

In the case of the WYSIWYG field, this means the field will escape HTML before it runs the_content filters which handle embedding. For more information on the changes to field types which may affect third-party fields, please see our documentation for creating a field type.

Detection and notice information

Whenever we detect that escaping the field value has modified the output value, ACF will log data about the affected function call.

Any detected modification will trigger the log, but it may not necessarily be a breaking change. For example, & become &amp; when escaped. This would be detected as a modification, but is unlikely to be a problem as it will still be rendered normally in the browser. In these cases you do not need to make any code changes, instead you can leave the upcoming automatic escaping to work correctly.

This log is stored as an option in the wp_options table. Whenever this log contains entries, the notices in WordPress admin will be shown for all users with the “Editor” role and higher by default. Users with the ability to manage ACF will have the option to view the full details. Users without the ability to manage ACF will be asked to contact their site admin about the error.

Admin users have the ability to dismiss the message, which will also clear the log. Dismissing the notice after you’ve made fixes will allow you to verify you’ve fixed every instance, as the message will not return after the affected pages have been loaded.

If you want to disable the error messages entirely, this is also possible via the following filter:

add_filter( ‘acf/admin/prevent_escaped_html_notice’, ‘__return_true’ );

This filter will also disable the log being populated when set to true. You can hide the notice on admin pages while retaining the log system on the front-end by ensuring you only add the filter in an is_admin() check, and including the necessary logic to limit it to specific users or roles.

Additional debugging options

The logic between the shortcode vulnerability fix and the_field change is similar, and debugging instances where we will strip (from ACF 6.2.7) or are currently stripping in the case of the shortcode is the same.

ACF fires two new actions, acf/removed_unsafe_html and acf/will_remove_unsafe_html.

These actions provide 4 different parameters:

  • $function – This is the name of the function triggering the action, acf_shortcode, the_field or the_sub_field.

  • $selector – This is the selector that was passed to the function. This matches what is sent in by your theme (or the shortcode).

  • $field – This is the computed full field object for the request object. This will contain the field key, type and other information which can help you find the affected code in your theme.

  • $post_id – This will be the $post_id provided to the function. This may be false if it’s not provided when the current global post ID is used.

Attaching a function to this action in debugging would allow you to access functions like debug_print_backtrace or Xdebug’s xdebug_break functions on your development environments if you need to find more information on exactly where in your theme or custom code the unsafe HTML is removed during output. We’ve produced a demo WordPress plugin which adds additional debug logging to your PHP error log as an example of this.

Conditionally disabling the new behavior

If you trust your users with the role of contributor or higher, it is possible to use one of two new filters to disable this automatic escaping by returning true. You should limit the filter to specific field keys using the additional parameters available.

  • acf/shortcode/allow_unsafe_html will disable the escaping for the shortcode.
  • acf/the_field/allow_unsafe_html will disable the escaping when using the_field.

The filters provide different arguments should you wish to allow unsafe HTML for a specific field type, on a specific page, or for a specific field name or key.

The shortcode filter provides you the field type and the full attributes array passed into the shortcode, along with the full field object if available:

apply_filters( ‘acf/shortcode/allow_unsafe_html’, false, $attributes, $field_type, $field_object )

For example, if you’re using [acf field=»podcast_iframe»] to output an iframe, you could use the following code to allow that field to output potentially unsafe HTML (the iframe)

add_filter( ‘acf/shortcode/allow_unsafe_html’, function ( $allowed, $atts ) {
if ( $atts[‘field’] === ‘podcast_iframe’ ) {
return true;
}
return $allowed;
}, 10, 2 );

The filter for the_field() (and the_sub_field()) provides you with the field selector provided to the output function, the post ID (if provided), and the field type. It also provides you the field object which will contain the field key (but may be false if ACF wasn’t able to find the field reference).

apply_filters( ‘acf/the_field/allow_unsafe_html’, false, $selector, $post_id, $field_type, $field_object )

For example, If you’ve got a field called google_maps_iframe which contains an iframe of a google map, the follow code would allow it to still be output by the_field:

add_filter( ‘acf/the_field/allow_unsafe_html’, function( $allowed, $selector ) {
if ( $selector === «google_maps_iframe» ) {
return true;
}
return $allowed;
}, 10, 2);

Enable the new behavior early

If you’re not using ACF to store unsafe HTML, or you’re confident you’re already securely escaping your output where necessary, you can opt in to the new behavior now using the new acf/the_field/escape_html_optin filter:

add_filter( ‘acf/the_field/escape_html_optin’, ‘__return_true’ );

This will enable stripping unsafe HTML immediately, and report an error in the WordPress admin when this happens.

Wrapping Up

All versions of ACF before ACF 6.2.5 are vulnerable to the reported shortcode vulnerability, so we recommend you upgrade immediately.

Additionally, we recommend disabling the ACF Shortcode entirely if you do not use it.

We’re aware you may have questions on these changes and are ready to support you. This Friday’s ACF Chat Fridays (Friday 19th January, 3pm UTC), and the following one (Friday 2nd February, 3pm UTC) will be dedicated to answering any questions you may have on this.

As a result of this security bug fix release, the previously announced changes to requiring an active license to use ACF PRO features have been delayed.

👨‍💻 Please find the release notes below. For the latest ACF news, follow us on Twitter @wp_acf.

Affected Versions

ACF Free and PRO: <6.2.5

Security Response Timeline

  • 2023-12-12 19:31 GMT – Initial contact from Wordfence via our support form asking us to confirm our support system was an acceptable method of disclosure.
  • 2023-12-12 19:33 GMT – Confirmation sent from our development team that they could disclose this way.
  • 2023-12-15 17:09 GMT – Disclosure received.
  • 2023-12-15 19:00 GMT – Patch built and tested, however due to the holiday season we decided to hold the release until developers were back at their desks in the new year rather than the release disclosing this vulnerability.
  • 2024-01-02 15:00 GMT – Decision taken to prepare the_field() changes as part of this security release, using the notification system from the shortcode, further delaying this release by an additional week.
  • 2024-01-16 15:00 GMT – Release of ACF 6.2.5.

Changelog

  • Security Fix – The ACF shortcode will now run all output through wp_kses, escaping unsafe HTML. This may be a breaking change to your site but is required for security, a message will be shown in WordPress admin if you are affected. Thanks to Francesco Carlucci via Wordfence for the responsible disclosure.
  • Security – ACF now warns via an admin message, when upcoming changes to the_field and the_sub_field may require theme changes to your site to avoid stripping unsafe HTML.
  • Security – Users may opt in to automatically escaping unsafe HTML via a new filter acf/the_field/escape_html_optin when using the_field and the_sub_field before this becomes default in an upcoming ACF release.

For support with the changes introduced in ACF 6.2.5, please contact our support team rather than the comments below.

For questions and help about this release, please contact our support team.

The post ACF 6.2.5 Security Release appeared first on ACF.

16 de enero de 2024|ACF|

Actualización de Advanced Custom Fields 6.2.4 disponible ahora – Correcciones de errores y mejoras (WordPress)

Advanced Custom Fields versión 6.2.4 ya está disponible

Esta versión incluye una serie de correcciones de errores y mejoras, junto con soluciones para la activación de licencias al usar ACF como plugin imprescindible.

Instalaciones de Plugins Imprescindibles

Tras el lanzamiento de ACF 6.2.3, recibimos informes de usuarios que indicaban que ACF no se activaba a pesar de tener una clave de licencia definida en el código, y la página de actualizaciones no era visible. Esto es un problema para los usuarios que utilizan el framework Bedrock u otros métodos para cargar ACF como un plugin imprescindible.

ACF 6.2.4 soluciona dos problemas para este tipo de instalación. En primer lugar, la página de actualizaciones ahora es visible de forma predeterminada para este tipo de instalaciones. En segundo lugar, si defines tu clave de licencia en el código, ACF activará correctamente tu licencia para el sitio.

Registro de Cambios

  • Corrección: las etiquetas de Tipos de Entradas Personalizadas ahora coinciden con el comportamiento de WordPress 6.4 para las etiquetas «Añadir nuevo»
  • Corrección: al exportar tanto tipos de entradas como taxonomías como PHP, las taxonomías ahora aparecerán antes que los tipos de entradas, coincidiendo con el orden en que ACF las registra. Esto resuelve problemas donde los slugs de las taxonomías no funcionarán en los enlaces permanentes de los tipos de entradas
  • Corrección: la Configuración Avanzada para Taxonomías, Tipos de Entradas o Páginas de Opciones ahora se muestra con el relleno superior correcto al activarse
  • Corrección: cuando una página de opciones principal está configurada para «Redirigir a la Página Hija», la página hija ahora mostrará correctamente la configuración de su página principal
  • Corrección: al activarse como plugin imprescindible, la página de «Actualizaciones» de ACF PRO ahora es visible. Usa el ajuste existente show_updates para ocultar
  • Corrección: al activarse como plugin imprescindible, las licencias de ACF PRO definidas en el código ahora activarán correctamente los sitios
  • Corrección: cuando show_updates está establecido o filtrado como falso, ACF PRO activará automáticamente las licencias definidas
  • i18n: los mensajes de mantenimiento y mensajes internos del servidor de activación de ACF PRO ahora son traducibles

La publicación ACF 6.2.4 apareció primero en ACF.

Accede al artículo original en https://www.advancedcustomfields.com/blog/acf-6-2-4/ para más información.

Con Zonsai, tu web siempre estará a la última.

28 de noviembre de 2023|ACF|

«Actualización ACF 6.2.3 para WordPress: Mejoras y correcciones»

Advanced Custom Fields version 6.2.3 is now available.

This release includes a number of bug fixes and improvements, along with ACF PRO activation improvements and a JSON schema for ACF Blocks.

👨‍💻 Please find the release notes below. For the latest ACF news, follow us on Twitter @wp_acf.

ACF Blocks JSON Schema

Users have long requested we provide a JSON schema for ACF Blocks so you can configure your IDE or code editor to automatically validate your ACF Blocks configuration JSON files. We’ve now published one over on GitHub.

By adding the $schema property to your block.json set to our URL, editors like VS Code or PHPStorm will automatically validate your values for WordPress Core and ACF specific keys in block.json.

Instructions for using the schema can be found here. If you spot anything missing or incomplete, please feel free to open a PR on that repo with suggested changes.

ACF PRO Activation Improvements

TL;DR: In a future version a valid ACF PRO license will be required to be activated on a site in order to create or edit PRO features in ACF’s admin screens. There is no impact on editing ACF field values on editor screens or rendering the values on the front end, and no changes to lifetime licenses.

Purchasing an ACF PRO license has always been required to receive plugin updates and access to PRO field types and features, but this wasn’t enforced in the plugin, leading to potential for piracy and abuse. The vast majority of customers won’t be affected by this change, as you’ve always needed a license to download ACF PRO. However, you will now need to make sure to enter your license key in the plugin to use all of the features enabled by your license.

As of ACF 6.2.3, sites without an active license will display a warning in the ACF screens, and will have the following restrictions in place in a future version.

Once these restrictions are live, unless a valid license key has been activated for the site, it won’t be possible to create new or edit existing PRO fields, or use the premium features such as Options Pages and ACF Blocks in ACF’s admin screens.

The use of ACF on a site is in 3 different areas, and to clarify how these changes affect those areas take a look at the following table:

ACF Admin
Editing Posts
Displaying Data

Where you create and edit field groups, fields, and Options Pages in the ACF admin screen using PRO field types
Where content editors enter field values and ACF Blocks when editing posts, pages & custom post types
How the field values are rendered on the front end of the site by the theme or a page builder

Valid license activated
🟢 No impact
🟢 No impact
🟢 No impact

Expired license activated
🟢 Can edit existing ACF PRO fields, ACF Blocks, and Options Pages🟠 Cannot create new ACF PRO fields, ACF Blocks, and Options Pages
🟢 No impact
🟢 No impact

No license activated
🟠 Cannot edit existing ACF PRO fields, ACF Blocks, and Options Pages🟠 Cannot create new ACF PRO fields, ACF Blocks, and Options Pages
🟢 No impact
🟢 No impact

There are no changes to legacy lifetime licenses. Any valid ACF PRO license key will be valid to activate and use PRO features on any site, subject to your license site limits.

If you previously activated a license and the subscription has expired, you will not be able to create new PRO fields, but you will be able to edit existing PRO field definitions.

The editor experience for ACF fields, blocks and options pages will not change, and your site editors will be able to use all features as they do now. It will not affect field values. The restrictions will only apply to ACF’s admin screens for editing field groups.

Improvements like this are important to the continued success and sustainability of the plugin. Learn more about the license activations restrictions.

Changelog

  • New – An ACF Blocks specific JSON schema for block.json is now available on GitHub
  • New – Flexible Content fields now show the layout name in the layout’s header bar and supports click-to-copy
  • New – Duplicating Flexible Content layouts now appends “Copy” to their name and label, matching the behavior of field group duplication
  • Enhancement – ACF PRO will now automatically attempt license reactivation when the site URL changes, e.g. after a site migration. This resolves issues where updates may fail
  • Enhancement – Presentation setting for ‘High’ placement of the Field Group made clear that it’s not supported in the block editor
  • Fix – acf_format_date now ensures the date parameter is valid to prevent fatal errors if other data types are passed in
  • Fix – CPTs with a custom icon URL now display the posts icon in the location column of the field groups screen
  • Fix – The ACF JSON import form will now disable on first submit resolving an issue where you could submit the form twice
  • Fix – The “Add Row” button in the Flexible Content field now displays correctly when using nested layouts
  • Fix – Warning and Error notices no longer flicker on ACF admin pages load
  • i18n – ACF PRO license activation success and error messages are now translatable

The post ACF 6.2.3 appeared first on ACF.

15 de noviembre de 2023|ACF|

Título optimizado para SEO: ‘¡Novedades de WordPress! ACF 6.2.2 ahora disponible’

Advanced Custom Fields Versión 6.2.2 Disponible

La versión 6.2.2 de Advanced Custom Fields ya está disponible. A continuación, se encuentran las notas de lanzamiento.

Mejoras

  • Mejora: Los ACF Blocks que no han sido inicializados por el editor ahora se renderizarán correctamente.
  • Mejora: Se añadió un nuevo filtro acf/filesize para permitir a plugins de medios de terceros evitar que ACF llame a filesize() en los adjuntos con tamaños de archivo sin caché, lo que podría resultar en una descarga remota si está externalizado.
  • Mejora: El estado de la licencia y las fechas de vencimiento de la suscripción de ACF PRO ahora se muestran en la página de «Actualizaciones».

Correcciones

  • Corrección: Las páginas de productos para WooCommerce versión 8.2 o más reciente ahora admiten correctamente las reglas de ubicación de grupos de campos.
  • Corrección: Los elementos de relación ahora se pueden eliminar en dispositivos móviles.
  • Corrección: Los campos de selector de color ya no se autocompletan inmediatamente después de escribir 3 caracteres hexadecimales válidos.
  • Corrección: La configuración de campos ya no aparece desalineada cuando el viewport no es del 100%.
  • Corrección: Los campos de selección sin un atributo aria-label ya no muestran una advertencia.
  • Corrección: Los tipos de contenido personalizado y taxonomías con un dominio de texto personalizado ahora se exportan correctamente al usar la exportación en PHP.

La entrada ACF 6.2.2 fue publicada primero en ACF.

Consulta el artículo original en https://www.advancedcustomfields.com/blog/acf-6-2-2/ para obtener más detalles.

En Zonsai, somos expertos en diseño WordPress y optimización.

25 de octubre de 2023|ACF|
Go to Top