Выключение refill в Contact Form 7 (актуально на 2026 г.)

Столкнулся с необходимостью выключить wpcf7 refill, но все советы сводились к простой врезке инлайнового скрипта с wpcf7.cached=0, которые просто не работают — например, выводят ошибку «wpcf7 undefined», что логично, т.к. скрипту даже не указывалось правильное место для вывода, не говоря об обёртке в try{...}catch(){}.

Ниже проверенный на апрель 2026 года вариант для размещения в functions.php. Он учитывает расположение добавляемых самим CF7 инлайновых скриптов, что позволяет размещать требуемый код на корректной позиции, а также оборачивает вызов в отлов ошибок на всякий случай. Также, вывод цепляется к собственному хуку «wpcf7_enqueue_scripts» плагина Contact Form 7, который срабатывает после вывода его инлайновых настроек.

/**
 * Выключим CF7 refill
 */
add_action('wpcf7_enqueue_scripts', function () {
    $wp_scripts = wp_scripts();
    $handle = 'contact-form-7';

    $existing = $wp_scripts->get_data($handle, 'before');

    if ($existing) {
        $existing[] = '
        try {
            wpcf7.cached = 0;
        } catch(e){console.log(e);}
        ';
        $wp_scripts->add_data($handle, 'before', $existing);
    }
}, 100);

Оставьте комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Прокрутить вверх