Динамическая подстановка данных в форму

Иногда нужно внутри формы вставить некоторое динамическое значение или выполнить PHP-код. Напрямую плагин такую возможность не предоставляет. Но можно сделать простой трюк - вставляем в форму в любом месте произвольный уникальный текст, а затем заменяем его на нужное значение с помощью фильтра.

Простой пример - подставим в текстовое поле URL текущей страницы, чтобы знать откуда отправлена форма. Конечно это проще сделать с помощью специальных почтовых тегов, но для примера пойдет. Предположим в нашей форме есть текстовое поле вида:

 [text page_url "REPLACE_ME"] 

Тогда подставить в него URL страницы можно так:

Скопировано
add_filter( 'wpcf7_form_elements', function( $form ) {
$form = str_replace( 'REPLACE_ME', get_permalink(), $form );
return $form;
});
Показать код

Дальше можно стилями скрыть это поле, чтобы не мешало, отправить его значение в письме и т.д.