This page is also available in English.
La próxima actualización principal, la versión 5.4 de Contact Form 7, está prevista para el 24 de febrero. Dado que la versión 5.4 trae cambios inusualmente grandes, hemos decidido tener un período de pruebas beta de unas pocas semanas antes del lanzamiento en vivo.
Puedes descargar una copia del paquete de la versión beta del plugin desde el repositorio de GitHub. Si encuentras algún error, infórmanos creando una incidencia (issue) en GitHub.
Si encuentras que un plugin que usas no funciona correctamente con la versión 5.4 de Contact Form 7, por favor, informa del problema al desarrollador de ese plugin, no a nosotros. No podemos asumir ninguna responsabilidad con respecto a productos de terceros.
Los principales cambios de la 5.4 se dividen en los cuatro grupos siguientes:
- Introducción del módulo de integración de Sendinblue
- Revisión del código JavaScript de la vista pública
- Mejora del proceso de subida de archivos
- Nuevo icono de carga con CSS moderno
Puedes consultar la lista completa de cambios en GitHub.
Introducción del módulo de integración de Sendinblue
Como anunciamos el pasado mes de diciembre, hemos estado preparando la introducción del módulo de integración para Sendinblue, la plataforma de CRM y marketing por correo electrónico líder en Europa.
Este módulo añade Sendinblue a la página del menú Integración con otros servicios (Contacto > Integración). Consulta la integración de Sendinblue para conocer los detalles y el uso.
- Nuevo gancho de filtro:
wpcf7_sendinblue_collect_parameters
- La función
wpcf7_mask_password()
usada en la página del menú de integración ha sido mejorada y ahora se puede establecer la longitud del texto no enmascarado tanto para el lado derecho como para el izquierdo.
Revisión del código JavaScript de la vista pública
En la versión 5.4, realizamos cambios drásticos en el JavaScript utilizado en la vista pública (área no administrativa) de un sitio web, que durante mucho tiempo no ha cambiado los scripts basados en jQuery. El nuevo código JavaScript se basa en los paquetes de @wordpress que se incluyen con WordPress, y no utiliza jQuery, con solo unas pocas excepciones como la utilizada para el selector de fecha, que se basa en jQuery UI.
- Se han eliminado algunas características que hoy en día son obsoletas e innecesarias. Entre ellas se encuentran el polyfill del marcador de posición y el polyfill del campo numérico.
- Nuevo tipo de evento del DOM:
wpcf7reset
(se dispara al reiniciar el formulario) - Anteriormente, el objetivo de los eventos
wpcf7*
era el elemento div padre del elemento formulario. En 5.4, esto ha cambiado al propio elementoform
. Sin embargo, dado que los eventoswpcf7*
se desplazan hacia la raíz del documento, este cambio no afecta a los usos reales de esos eventos DOM, por lo que puedes seguir apuntando al elementodiv
padre. - reCAPTCHA recupera un nuevo token antes del envío de un formulario. Esto debería solucionar el problema de la caducidad del token.
Mejora del proceso de subida de archivos
En las versiones anteriores de 5.4, la mayor parte del proceso de subida de archivos se implementaba en el módulo de archivos (modules/file.php). Este enfoque se vuelve problemático cuando intentas desarrollar un módulo de subida de archivos personalizado, ya que tienes que implementar redundantemente todo el proceso en tu módulo. La versión 5.4 traslada este proceso a un archivo separado e independiente de los módulos (includes/file.php), e introduce un nuevo enfoque que permite procesar los archivos subidos de forma más segura.
- Los métodos
add_uploaded_file()
yremove_uploaded_files()
de la claseWPCF7_Submission
se han convertido en métodos privados, lo que significa que no puedes llamarlos desde las funciones de tu módulo personalizado. En lugar de llamar a estos métodos, haz que tu etiqueta de formulario personalizada sea compatible con la característica de subida de archivos, tal y como lo hace el módulo de archivos incorporado. - Los archivos subidos se procesan después de la verificación antispam. El proceso consume una cantidad relativa de tiempo y recursos. Puedes y debes abortarlo cuando sepas que el envío es un spam.
- La validación de las restricciones de entrada (campo obligatorio, comprobación del tipo y tamaño de archivo, etc.) se realizan en una función recién introducida,
wpcf7_unship_uploaded_file()
. Esta función devuelve un objetoWP_Error
cuando la entrada no es válida, o una matriz de rutas de archivos cuando es válida. - La salida de
wpcf7_unship_uploaded_file()
se pasa a una función de filtro de validación a través de su tercer parámetro. Cuando la salida esWP_Error
, la función debe llamar ainvalidate()
para enviar el error al formulario. wpcf7_unship_uploaded_file()
está diseñada para poder manejar múltiples archivos subidos simultáneamente a través de un solo campo.- Hay un cambio en la salida de
WPCF7_Submission::uploaded_files()
. Antes era una matriz de rutas de archivos, pero en 5.4 la salida es una matriz de matrices de las rutas de archivos. - El tercer parámetro que se pasa a las funciones del filtro
wpcf7_upload_file_name
ha cambiado. Antes era un objetoWPCF7_FormTag
. En 5.4, es la matriz$args
que se pasa awpcf7_unship_uploaded_file()
. Todavía puedes acceder al objetoWPCF7_FormTag
a través de$args['tag']
.
Nuevo icono de carga con CSS moderno
La versión 5.4 renueva el icono del carga o spinner (también conocido como cargador Ajax) desde cero. Anteriormente, se utilizaba un GIF animado para el icono. Sin embargo, el nuevo icono se ha implementado aprovechando varios trucos de CSS que están disponibles en todos los navegadores modernos.
- Se ha eliminado assets/ajax-loader.gif
- Contact Form 7, en versiones anteriores, establecía la clase
is-active
en el elemento span de los iconos de carga para controlar la visibilidad del icono. En la versión 5.4, se elimina el uso de la claseis-active
. En su lugar, se utiliza la clasesubmitting
del elemento form para este propósito.