Як зробити

Вимкнути перевірку налаштувань форм у Contact Form 7

Pinterest LinkedIn Tumblr

На одному з проектів виникло таке питання – в останніх версіях Contact Form 7 з’явились додаткові перевірки налаштувань створених вами форм.

Одна з таких перевірок буде сигналізувати вам про помилку “Unsafe email config is used without sufficient protection” , якщо форма має відправляти лист на email, який вказує користувач при заповнені форми на сайті.

В чому проблема з точки зору цього “валідатора”? А в тому, що за таких умов хтось може заспамити різноманітні скриньки, використавши вашу форму, тож “валідатор” наполягає на тому, щоб ви підключили додатковий захист, а саме reCaptcha чи щось подібне.

До чого вся ця історія, якщо достатньо підключити “капчу”? Тут є два моменти:

Перший – якщо ви підключите якусь сторонню капчу/перевірку, мені особисто подобається Cloudflare Turnstile, то “валідатор” все одно вказуватиме на помилку, бо його задовольняють лише вбудовані в плагін варіанти захисту.

Другий – з будь-яких інших причин вам може знадобитися вимкнути ці перевірки та повідомлення про проблеми, як на скріншоті:

Простий і не найкращий метод, якщо треба вимкнути якусь одну “перевірку”, бо цей спосіб вимикаю повністю функцію перевірки налаштувань форм.

Додайте у wp-config.php :

define( 'WPCF7_VALIDATE_CONFIGURATION', false );
Code language: PHP (php)

Або до вашого functions.php :

add_filter( 'wpcf7_validate_configuration', '__return_false' );
Code language: PHP (php)

Складніший – можна вимкнути конкретну перевірку, в нашому випадку ту, про яку описано на початку статті:

add_filter(
    'wpcf7_config_validator_available_error_codes',
    function ( $error_codes, $contact_form ) {
 
        // List error codes to disable here.
        $error_codes_to_disable = array(
            'unsafe_email_without_protection',
        );
 
        $error_codes = array_diff( $error_codes, $error_codes_to_disable );
 
        return $error_codes;
    },
    10, 2
);
Code language: PHP (php)

Додаткова інформація від автора плагіна тут

Дмитро Кондрюк в веб-індустрії з 2003 року. В 2009р. заснував проект Український WordPress (що у подальшому став офіційним сайтом команди локалізації WordPress в Україні). З 2010 року засновник і технічний директор проекту Український хостинг для WordPress (WPHost.me) - повноцінного хостинг-сервісу, максимально оптимізованого на використання CMS WordPress.

Коментувати