Столкнулся с необходимостью выключить 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);
