Desactivar solo tipos de error específicos del validador de configuración

Los artículos de la categoría Manual del desarrollador abordan temas que requieren conocimiento técnico. Ten cuidado y utiliza las técnicas descritas a continuación bajo tu propia responsabilidad. Si no tienes experiencia en desarrollo, y necesitas ayuda, te recomendamos solicitar el apoyo de un profesional.

Aunque es posible desactivar el validador de configuración, es posible que detenerlo por completo te parezca excesivo. Otra técnica, que describo en esta receta, te permite aplicar un control más preciso sobre el validador de configuración, permitiéndote desactivar solo los tipos de error que especifiques.

Esta técnica usa el gancho de filtro wpcf7_config_validator_available_error_codes. Echa un vistazo al siguiente código de ejemplo que añade un filtro al gancho antes mencionado:

add_filter(
    'wpcf7_config_validator_available_error_codes',
    function ( $error_codes, $contact_form ) {

        // Añade aquí la lista de códigos de error a desactivar.
        $error_codes_to_disable = array(
            'unsafe_email_without_protection',
        );

        $error_codes = array_diff( $error_codes, $error_codes_to_disable );

        return $error_codes;
    },
    10, 2
);

La función de retorno toma un array de códigos de error como primer argumento ($error_codes). Un código de error es un valor de tipo cadena que representa el tipo de error. Al momento de escribir este artículo, hay 16 códigos de error definidos.

El valor de retorno representa los códigos de error disponibles, por lo que si tienes tipos de error que quieres desactivar, simplemente elimina los códigos del valor de retorno. El ejemplo anterior desactiva el tipo de error unsafe_email_ without_protection.

El segundo argumento ($contact_form) es el objeto del formulario de contacto, que es el objetivo actual de la validación de la configuración. Este atributo es útil cuando quieras aplicar este filtrado solo a formularios de contacto específicos.