Добавление URL-адреса страницы отправки формы в письмо администратора Contact Form 7

Комментариев: 8

В формах, которые отправляет плагин Contact Form 7 не хватает очень важной информации - страницы с которой эта форма была отправлена. Есть какие-то плагины, которые решают эту проблему, а есть решение довольно простое и компактное, которое использую я:

  1. Добавляем поле в нужную форму: [text url-adress class:url-adress]
  2. Скрываем это поле с помощью стилей: .url-adress {display: none}
  3. Добавляем в файл functions.php своей темы следующий код:
function getUrlPage( $form_tag )
{
if ( $form_tag['name'] == 'url-adress' ) {
$form_tag['values'][] = htmlspecialchars('http://'.$_SERVER['HTTP_HOST'].''.$_SERVER['REQUEST_URI'].'');
}
return $form_tag;
}
if ( !is_admin() ) {
add_filter( 'wpcf7_form_tag', 'getUrlPage' );
}

4. В шаблон письма администратору добавляем шорткод [url-adress]

Уведомлять о новых комментариях
Уведомлять
guest
8 комментариев
Inline Feedbacks
View all comments
Антон
3 лет назад

Может перед тем как велосипедить стоило почитать документацию 😉 ?
 
https://contactform7.com/special-mail-tags/

Влад
Влад
2 лет назад

Роман, спасибо!
Это именно тот вариант, который я искал.
Моя проблема была в том, что mail-tag [_url] не передаётся через вебхук, а этот вариант с полем то что нужно.

Алекс
Алекс
1 год назад

В документациях не нашел ничего, связанного с произвольными таксономиями, чтобы при этом код формы размещался в подвале, а не в теле контента.
А данный способ работает, спасибо тебе большое, автор )

Сергей
Сергей
1 год назад
[_remote_ip] IP-адрес отправителя.
[_user_agent] User Agent отправителя.
[_url] URL-адрес контактной формы.
[_date] Дата отправления.
[_time] Время отправления.
[_post_id] ID поста (записи) контактной формы.
[_post_name] Имя поста (в схеме протокола HTTP ).
[_post_title] Заголовок записи с контактной формой.
[_post_url] Ссылка на страницу отправки.
[_post_author] Имя автора публикации.
[_post_author_email] Адрес почты автора публикации.
Саня
Саня
1 год назад
Reply to  Сергей

Эти тэги не работают, в отличии от решения автора

Денис
Денис
1 месяц назад
Reply to  Саня

Работают но в случае если эти теги были размещены в рамках поста или страницы

Денис
1 год назад

Не подскажете, как отправлять артикул товара woocomerce таким образом?

Леонид
3 месяцев назад

Автор красавчик просто)) большое человеческое спасибо ему)) действительно его метод 100% рабочий (я к нему пришел перебрал такую кучу всяких разных способов и хаков и всё оказывалось в итоге мертвым). Так что автор большой молодец жирный плюс в карму тебе и за труды СПАСИБО