Novedades y cambios en la nueva actualización de Contact Form 7

Comparte este post

El plugin de formularios por excelencia en WordPress (casi podría llamarse un estándar), recibe una actualización mayor en su versión 5.4

Según el blog del desarrollador, Contact Form 7 recibe los siguientes cambios:

Integración nativa con Sendinblue

Este módulo agrega Sendinblue a la sección de Integración de Contact Form 7

  • Nuevo hook wpcf7_sendinblue_collect_parameters.
  • La función wpcf7_mask_password() se ha mejorado, permitiendo establecer longitudes de texto sin máscara para ambos lados.

Revisión del JavaScript frontal

En la nueva versión 5.4, se han realizado cambios drásticos en el JavaScript que se usa en la parte frontal (zona pública, no adminstrativa) dek sitio web, que durante mucho tiempo no ha cambiado los scripts basados ​​en jQuery. 

La nueva codificación de JavaScript se basa en los @wordpresspaquetes que se incluyen con WordPress y no usa jQuery, salvo pocas excepciones, como la que se usa para el respaldo del selector de fecha, que se basa en la interfaz de usuario de jQuery.

  • Se han eliminado algunas características que hoy en día están desactualizadas o son prescindibles. Estos incluyen el polyfill de marcador de posición y el polyfill de campo numérico.
  • Nuevo tipo de evento DOM: wpcf7reset (se activa al restablecer el formulario).
  • Anteriormente, el target event de los wpcf7* era el elemento div padre del elemento form. En la versión 5.4, ha cambiado al elementor form en sí. Sin embargo, dado que los eventos wpcf7* fluyen hacia la raíz del documento, este cambio no afecta los usos reales de esos eventos DOM, por lo que puede continuar apuntando al elemento div principal .
  • reCAPTCHA recupera un nuevo token antes de enviar un formulario. Esto debería solucionar el problema de caducidad del token.

Se mejora el proceso de carga de archivos

En versiones anteriores a la 5.4, la mayor parte del proceso para los archivos cargados se implementó en el módulo de archivos (modules / file.php). Este enfoque se vuelve problemático cuando intentas desarrollar un módulo de carga de archivos personalizado, ya que tienes que implementar de forma redundante todo el proceso en tu módulo. 

La version 5.4 mueve este proceso a un archivo independiente de los módulos (incluye / file.php) e introduce un nuevo enfoque que le permite procesar los archivos cargados de una forma más segura.

  • add_uploaded_file()remove_uploaded_files()de la clase WPCF7_Submission se convierten en métodos privados, lo que significa que no pueden ser llamados desde las funciones de tu módulo personalizado. En lugar de llamar a estos métodos, haz que tu etiqueta de formulario personalizada admita la función file-uploadingtal como lo hace el módulo de archivo incorporado .
  • Los archivos cargados se procesan después de la verificación antispam. El proceso consume una cantidad relativa de tiempo y recursos. Puedes y debes cancelarlo cuando sepas que el envío es spam.
  • Las restricciones de validación de entrada (campo obligatorio, tipo de archivo y la verificación del tamaño del archivo, etc.) ahora se realizan en una nueva función, wpcf7_unship_uploaded_file(). Esta función devuelve un objeto WP_Error cuando la entrada no es válida, o una matriz de rutas de archivo 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 es WP_Error, la función debe llamar a invalidate()para enviar el error al formulario.
  • wpcf7_unship_uploaded_file()está diseñado para poder manejar múltiples archivos cargados simultáneamente a través de un solo campo .
  • Hay un cambio en la salida de WPCF7_Submission::uploaded_files(). Anteriormente era una matriz de rutas de archivo pero, en la versión 5.4, la salida es una matriz de matrices de rutas de archivo.
  • El tercer parámetro pasado a las funciones de filtro wpcf7_upload_file_name ahora ha cambiado. Anteriormente, era un objeto WPCF7_FormTag. En la versión 5.4, es la matriz $args pasada a wpcf7_unship_uploaded_file(). Aunque aún puedes acceder al objeto WPCF7_FormTag a través de $args['tag'].

Nuevo icono de ruleta con CSS moderno

La versión 5.4 renueva el ícono de ruleta (también conocido como Ajax-loader) desde cero. Anteriormente, se utilizaba un GIF de animación para el icono. Sin embargo, el nuevo icono se ha implementado aprovechando varios trucos CSS que están disponibles en todos los navegadores modernos.

Por lo que:

  • assets / ajax-loader.gif ha sido eliminado.
  • Contact Form 7, en versiones anteriores, establecía la clase is-active en el elemento span de los iconos giratorios para controlar la visibilidad del icono. En la versión 5.4 se elimina el uso de la clase is-active. En cambio, la clase submitting del elemento form se usa para este propósito.

Transcripción del artículo original: Contact Form 7 5.4 Beta.

2 Comments

  • Contact form empezó a fallar desde su última actualizacion.
    El loader queda siempre en pantalla..
    Esto afecta decenas de sitios …

    • A

      Hola, desconozco el problema ya que no me ha ocurrido en ninguno de los sitios donde lo tengo. Puede que intefiera con algún otro plugin que haga uso de ajax, ya que comentas que se queda en “loading” permanente y no termina de procesar el envío.

      Comprueba en el inspector del navegador, en la pestaña Network o Red, en qué proceso se está atascando, por si te da alguna pista.

      Saludos.

Deja tu comentario