WordPress Zaragoza: noticias, actualizaciones y recursos profesionales

noticias-wordpress-espanol Noticias y actualizaciones de WordPress en español

En WordPress Zaragoza recopilamos las principales noticias y actualizaciones del ecosistema WordPress: núcleo, plugins y temas relevantes.

El contenido se traduce y adapta al español con apoyo de inteligencia artificial, priorizando la claridad técnica y evitando errores habituales de feeds sin procesar o traducciones automáticas sin contexto.

wordpress-aragoza- profesionales WordPress Zaragoza: recursos para profesionales

WordPress Zaragoza es un proyecto orientado a profesionales, agencias y empresas que utilizan WordPress como base de sus proyectos web, especialmente en Zaragoza y el entorno nacional.

Además de noticias, se publican avisos de versiones, mejoras de seguridad y recursos técnicos útiles para mantener instalaciones WordPress actualizadas, estables y seguras.

Automatización inteligente aplicada a WordPress

WordPress Zaragoza es un proyecto desarrollado por Zonsai que aplica procesos de automatización e inteligencia artificial para detectar, traducir y organizar las actualizaciones oficiales de WordPress, plugins y temas.

Este sitio es también un ejemplo práctico de cómo la automatización puede aplicarse a proyectos WordPress reales para mejorar la eficiencia y el acceso a la información, sin sustituir el criterio técnico.

La automatización se apoya en herramientas propias desarrolladas por Zonsai, como AutoBlog AI, integradas dentro de un flujo diseñado para proyectos WordPress profesionales.

Actualizaciones Rank Math SEO2025-12-12T11:02:41+01:00

Rank Math SEO

Rank Math SEO es un plugin avanzado para WordPress que optimiza tu sitio web mediante configuraciones técnicas automatizadas, análisis en tiempo real y herramientas profesionales de posicionamiento, mejorando la visibilidad en buscadores y maximizando el rendimiento SEO con mayor precisión y control.

rank-math-seo-logo

Correcciones y actualizaciones en la versión 2.8.4

Se han solucionado varios problemas en la última versión de Gravity Forms:

Corrección de visualización de campos como el campo de firma en interfaces ocultas como pestañas o modales.
Corregido el desplegable de etiquetas de combinación en el campo de producto para que muestre las opciones correctas.
Solucionado el problema que provocaba que se mostrara una confirmación incorrecta al eliminar un campo «solo de visualización».
Se ha corregido la visualización del valor de la descripción del campo de consentimiento en la etiqueta de combinación {all_fields}.
Se ha mejorado la visualización del tooltip del campo de nombre en el editor de formularios en Safari.
Ahora se muestra el desplegable del selector de publicaciones para las confirmaciones de formularios que utilizan el tipo de confirmación de página.
Se ha actualizado la sección de archivos de registro del informe del sistema para listar los archivos antiguos que han sido rotados.
Se ha actualizado el campo de carga de archivos para que muestre los valores correctos en la página de revisión del formulario.

Estas mejoras en Gravity Forms buscan potenciar su funcionalidad, accesibilidad y rendimiento en tu sitio de Diseño WordPress.

Revisa los detalles de esta actualización en el changelog oficial: https://docs.gravityforms.com/gravityforms-change-log/.

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

21 de febrero de 2024|Gravity Forms|

Descarga WordPress 6.5 Beta 1 ¡Ya Disponible!

Descarga y Prueba WordPress 6.5 Beta 1

WordPress 6.5 Beta 1 ya está disponible para descarga y pruebas. Es importante recordar que esta versión está en desarrollo y no se debe utilizar en sitios en producción. Se recomienda probarla en un entorno de pruebas antes de su lanzamiento final previsto para el 26 de marzo de 2024.

Cómo Probar la Beta 1 de WordPress 6.5

Puedes probar la Beta 1 de WordPress 6.5 de cuatro maneras diferentes:

Mejoras y Características de WordPress 6.5

WordPress 6.5 Beta 1 ofrece 681 mejoras y 488 correcciones de errores para el editor, abordando alrededor de 229 tickets relacionados con el núcleo de WordPress 6.5.

Recompensa por Vulnerabilidad durante la Beta 1

La comunidad de WordPress ofrece una recompensa monetaria por informar sobre vulnerabilidades de seguridad durante el período de la Beta 1. Esta recompensa se duplica hasta la versión candidata (RC) final programada para el 19 de marzo.

Próximas Funcionalidades en WordPress 6.5

WordPress 6.5 presenta nuevas funcionalidades, incluyendo la biblioteca de fuentes, actualizaciones en los patrones sincronizados, conexión de bloques con campos personalizados, integración de la API de interactividad en el núcleo, y más.

Mejoras en Accesibilidad y Rendimiento

La versión 6.5 de WordPress incluye más de 65 actualizaciones para mejorar la accesibilidad y más de 110 actualizaciones relacionadas con el rendimiento, con mejoras significativas en la velocidad y eficiencia del editor.

Actualizaciones del Editor de Sitios

Las últimas actualizaciones en el editor de sitios agilizan el flujo de trabajo, con mejoras en la interfaz, la creación de enlaces, arrastrar y soltar, vistas de datos

Más información disponible en el artículo original: https://es.wordpress.org/2024/02/14/wordpress-6-5-beta-1/.

Confía en Zonsai para mejorar tu presencia digital.

14 de febrero de 2024|WordPress|

Actualización de seguridad y mejoras: Versión 7.11.5 de SEO Expert – Todo lo que necesitas saber

### Seguridad
Se corrigió la vulnerabilidad de ejecución remota de código (RCE) al evitar la omisión de carga de archivos en la función de importación de Opciones de Página (válido solo para usuarios autenticados con rol de contribuyente o superior).

### Rendimiento
Se eliminaron los estilos condicionalmente cargados de bloques de WooCommerce de los estilos combinados de terceros.

### Mejoras
Se añadió la opción al elemento de Tarjeta de Publicación para excluir los productos sin stock de la consulta de productos relacionados.
Se incorporaron nuevas acciones y filtros para una mejor personalización.

### Actualizaciones
Se actualizó el nombre de Twitter a X.

### Correcciones
– No se mostraban los avisos de WooCommerce en todas las instalaciones al utilizar la función de añadir al carrito por Ajax en productos individuales.
– Las opciones de título del elemento Pestañas de WooCommerce no funcionaban para todos los títulos de pestañas y el color del texto de la meta de revisión era incorrecto.
– Los efectos de movimiento de Columna que no se desplazan no se estaban animando.
– El elemento de menú especial Fuera de Lienzo no funcionaba.
– El Fuera de Lienzo no siempre se cerraba correctamente en dispositivos móviles (parte 2).
– No todos los elementos de Testimonios se reproducían automáticamente cuando hay varios elementos en la misma página.
– Los carruseles no se inicializaban correctamente dentro de un elemento Modal.
– El diseño del carrusel del elemento de Portafolio mostraba un número incorrecto de elementos.
– Problema de saneamiento del tamaño de fuente en cálculos de tipo responsivo, cuando una tipografía global se eliminaba pero seguía siendo utilizada en un elemento.
– Aviso PHP en las pantallas de edición de pedidos de WooCommerce y otros tipos de publicaciones que no tienen una variable global $post.
– Las opciones de carga masiva no se mostraban en el editor del panel de administración.
– El fondo deslizante del contenedor en el Editor en Vivo hacía que los elementos secundarios desaparecieran al pasar el cursor sobre los iconos de edición en algunas instalaciones.
– Problema de saneamiento de espaciado de columnas inválido en el Editor en Vivo.
– Los iconos personalizados no se mostraban en el Editor en Vivo al cambiarlos para el botón de añadir al carrito en el elemento de Carrito de Tarjeta de Publicación.

Para más detalles sobre esta actualización, visita el artículo original en https://avada.com/documentation/avada-changelog/.

Descubre cómo optimizar tu sitio con Zonsai, especialistas en diseño WordPress.

12 de febrero de 2024|Avada|

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|

Mejoras y correcciones en la versión 3.15.9 de WP Rocket.

En esta actualización de WP Rocket se han realizado varias mejoras y correcciones para optimizar su rendimiento y accesibilidad:

Se corrigieron problemas de compatibilidad con la mejora de Contact Form 7 (#6384) y con las imágenes de CSS de carga lenta cuando el CSS proviene directamente de un archivo PHP (#6389).

Se mejoró la visualización de las credenciales de Cloudflare en la interfaz de usuario, mostrando solo los últimos 4 caracteres (#3376).

Se optimizó el filtro de límite de lotes para la función de Precarga (#6394) y se garantiza la eliminación de los transitorios de WP Rocket al desinstalar el plugin (#4943).

Además, ahora en los banners de renovación se muestra el porcentaje de descuento en lugar del precio (#6349).

Para mejorar la compatibilidad con plugins multilingües, se ha movido el botón «Todas las lenguas» al principio de la lista de limpieza de caché (#6174).

Estas actualizaciones buscan ofrecer una mejor experiencia de optimización de WordPress a través de WP Rocket.

Revisa todas las correcciones y mejoras en el changelog oficial: https://wp-rocket.me/changelog/.

Confía en Zonsai para un rendimiento excepcional en tu web WordPress.

1 de febrero de 2024|WP Rocket|

Actualización 2.8.3: Mejoras en telemetría y correcciones de errores.

Gravity Forms ha incorporado nuevos puntos de datos de telemetría para mejorar su rendimiento. Además, se ha solucionado un problema relacionado con el campo honeypot en formularios que utilizan el Campo de Stripe con métodos de pago adicionales habilitados. También se ha corregido un error que mostraba un mensaje de error «índice no definido ‘page_instance'» en ciertas condiciones al renderizar un formulario. Por último, se ha actualizado la API de configuración para evitar la pérdida de metadatos del formulario guardados en un campo de configuración.

Descubre todos los detalles sobre esta versión en el changelog oficial: https://docs.gravityforms.com/gravityforms-change-log/.

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

1 de febrero de 2024|Gravity Forms|

Actualización de seguridad y mantenimiento en WordPress 6.4.3

Mejoras de Seguridad y Mantenimiento en WordPress 6.4.3

Esta actualización de seguridad y mantenimiento de WordPress 6.4.3 trae consigo importantes mejoras que incluyen 5 correcciones de fallos en el núcleo, 16 correcciones de fallos en el editor de bloques, y 2 correcciones de seguridad.

Se recomienda encarecidamente actualizar tus sitios de WordPress de forma inmediata debido a esta actualización de seguridad. Además, se han lanzado versiones compatibles con WordPress 4.1 y versiones posteriores.

Puedes descargar WordPress 6.4.3 desde WordPress.org. Para actualizar, simplemente accede al escritorio de tu WordPress, haz clic en «Actualizaciones» y selecciona «Actualizar ahora». Si tienes activadas las actualizaciones automáticas, el proceso comenzará automáticamente en segundo plano.

La próxima versión mayor de WordPress después de esta será la 6.5, programada para el 26 de marzo de 2024. Puedes obtener más información sobre las actualizaciones de mantenimiento de esta versión visitando el anuncio de la versión candidata a definitiva. Para detalles adicionales sobre esta versión, visita el centro de ayuda.

Actualizaciones de Seguridad Destacadas en esta Versión

El equipo de seguridad desea reconocer las contribuciones de los siguientes individuos que informaron de vulnerabilidades de forma responsable, permitiendo así corregir los problemas en esta versión:

  • m4tuto por descubrir un atajo de subida de archivos por PHP desde el instalador de plugins (que requería privilegios de administrador).
  • @_s_n_t de @pentestltd que colabora con la iniciativa Trend Micro Zero Day por encontrar una vulnerabilidad de cadenas RCE POP.

Cómo Contribuir al Desarrollo de WordPress

Si deseas involucrarte en el desarrollo del núcleo de WordPress, te animamos a visitar el Trac, seleccionar un tique y unirte a la conversación en los canales #core y #6-5-release-leads. Si necesitas orientación, consulta el manual de contribuidor al núcleo.

Por último, recordamos que el equipo de seguridad de WordPress nunca solicitará la instalación de plugins o temas mediante correo electrónico, ni te pedirá tus credenciales de administrador. Te recomendamos mantener la vigilancia frente a posibles ataques de phishing. Más información en este enlace.

Lee el artículo original en https://es.wordpress.org/2024/01/31/wordpress-6-4-3-actualizacion-de-mantenimiento-y-seguridad/ para conocer todos los detalles.

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

31 de enero de 2024|WordPress|

Actualización Avada 7.11.4: Nuevas funciones y mejoras para WooCommerce y elementos de diseño

**Novedades en la Versión de Avada:**

**Nuevas funcionalidades:**

– Se añadieron opciones de deslizador de imagen de fondo a los elementos Contenedor y Columna.
– Se incorporaron efectos de desplazamiento de color de fondo al pasar el ratón al elemento Botón.
– Se incluyó una opción en el elemento Tarjetas de Publicación para consultar productos de WooCommerce basados en su estado de «venta».
– Se agregaron campos de destinatario CC y BCC a las notificaciones del Formulario de Avada.

**Mejoras:**

– Se añadieron las recomendaciones de cross-sells del carrito de WooCommerce a la lógica de renderizado.
– Se eliminó la plantilla variable.php de WooCommerce para una mejor compatibilidad.
– Se aseguró de que los elementos de Woo siempre carguen solo las plantillas predeterminadas de WooCommerce, para una mejor compatibilidad.
– Se añadió animación al botón de añadir al carrito en el elemento Carrito de Tarjetas de Publicación, al utilizar la función de añadir al carrito con AJAX.
– Se actualizaron varias descripciones de opciones, dependencias y diálogos para una mejor usabilidad.
– Se redujo el mínimo de filas a 2 para el elemento Área de Texto de Formularios de Avada.
– Se hizo que la lógica de renderizado de dispositivos del elemento Columna funcione con la vista previa responsiva en el Editor en Vivo.
– Se añadió el aviso estándar de WooCommerce al elemento Carrito de Tarjetas de Publicación cuando el usuario quiere añadir un producto al carrito sin seleccionar ninguna variación.

**Actualizaciones y correcciones:**

– Compatibilidad con WordPress 6.4.2.
– Compatibilidad con WooCommerce 8.5.2.
– Se realizaron ajustes en algunas cadenas en las plantillas y elementos de WooCommerce para reflejar los últimos cambios en WooCommerce.
– Se añadió compatibilidad para la nueva configuración de avisos de WooCommerce en WooCommerce 8.5+.
– Se corrigieron diversos problemas relacionados con WooCommerce, como errores de diseño, funcionalidades no actualizadas y problemas de traducción.

Estas actualizaciones y correcciones garantizan un rendimiento óptimo y una mejor experiencia de usuario en la versión de Avada para tu sitio web de WordPress.

Visita el artículo original en https://avada.com/documentation/avada-changelog/ para más detalles.

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

30 de enero de 2024|Avada|

Actualización de script JS para corrección de errores (#6401) – Versión 3.15.8.1

WP Rocket ha lanzado una actualización que soluciona un problema específico al actualizar el script delay JS a la última versión. Este bugfix aborda la situación en la que terceros utilizan addEventListener sin especificar el elemento DOM correspondiente. Con esta mejora, se garantiza un mejor rendimiento y accesibilidad en la versión actualizada de WP Rocket.

Consulta todas las novedades de esta actualización en el changelog oficial: https://wp-rocket.me/changelog/.

En Zonsai, te ayudamos a sacar el máximo provecho de tu sitio WordPress.

23 de enero de 2024|WP Rocket|

Gravity Forms 2.8.2: Mejoras de seguridad y correcciones de errores.

Se han añadido mejoras de seguridad.
Se corrigió un problema en el que el selector de fechas no funcionaba en el campo repetidor.
Se corrigió un problema que a veces provocaba la adición de espaciadores adicionales a los formularios.
Se corrigió un problema en el que las reglas de lógica condicional basadas en cualquier cosa excepto la primera opción de un campo de radio o casilla de verificación no funcionan en formularios creados en Gravity Forms 2.8.1. Los usuarios deberán eliminar y volver a crear las reglas de lógica condicional para solucionar el problema.
Se corrigió un problema en el que el atributo de solo lectura no se agregaba a los campos de configuración.

Conoce más sobre esta actualización en el changelog oficial: https://docs.gravityforms.com/gravityforms-change-log/.

En Zonsai, te ofrecemos soluciones para que tu sitio siempre esté actualizado.

18 de enero de 2024|Gravity Forms|

Actualización de JavaScript Delay Script a la Versión más Reciente (3.15.8)

En esta actualización de WP Rocket se han realizado mejoras significativas para optimizar su funcionalidad, accesibilidad y rendimiento:

– **Actualización de Delay JavaScript script**: Se ha actualizado el script a la última versión (#6310) para garantizar el respeto del orden correcto de los eventos onload, evitando problemas de doble clic en ciertos casos y mejorando la compatibilidad con algunos terceros en Firefox.

– **Mejora en la retención del atributo lazy**: Ahora, WP Rocket no elimina el atributo lazy de las páginas con cadenas de consulta no caché (#4531), lo que contribuye a una mejor experiencia de usuario.

– **Compatibilidad con terceros**: Se ha corregido un error fatal que ocurría al usar WP Rocket junto con el plugin WebToffee Cookie Consent (#6343), asegurando un funcionamiento óptimo en estas situaciones.

Estas actualizaciones refuerzan la optimización de WordPress que ofrece WP Rocket, mejorando la estabilidad y el rendimiento de tu sitio web. ¡Aprovecha al máximo estas nuevas funcionalidades!

Revisa todas las correcciones y mejoras en el changelog oficial: https://wp-rocket.me/changelog/.

Confía en Zonsai para un rendimiento excepcional en tu web WordPress.

17 de enero de 2024|WP Rocket|

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|
Go to Top