Передача параметра Get в форму Contact Form 7

Передача параметра Get в форму Contact Form 7

Для начала немного теории зачем это все нужно и как вообще можно использовать. Параметр Get, наверное, описывается в каждой книжке по PHP в одной из начальных глав. Суть его в том, что вы можете «отправлять» определенную информацию со страницы сайта на другую, где с помощью Get считывается значение тех или иных введенных данных. Самый простой пример — пользователь заполняет на сайте поле «ваше имя», а потом переходит на другую страницу, где видит персональное приветствие мол «добро пожаловать + его имя».

Если вам показалось, что это слишком теоретический пример — вот там реальная задача. когда-то давно делал сайт на typo3 для компании, предоставляющей услуги аренды авто. Пользователь выбирал одну из представленных на сайте машин и нажимал кнопку «Заказать» — после этого он перенаправлялся на форму заказа, где в одном из полей уже была введена соответствующая марка автомобиля. В общем, это пригодится для тех случаев, когда на wordpress нам нужно будет создавать не просто блоги, а и разного рода сайты.

Главная сложность данного подхода заключалась в том чтобы интегрировать использование Get в один из существующих в системе вордпресс плагинов. К счастью, такое решение уже существует — это GetParam. С помощью данного хака вы можете передать в форму Contact Form 7 любое значение и по желанию либо отобразить его, либо добавить как скрытое поле.

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

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

Установка и использование GetParam

Теперь, собственно, что касается самого хака. Вам нужно скачать архив отсюда, распаковать файл getparam.php и залить его в директорию /wp-content/plugins/contact-form-7/modules/. Конечно, плагин Contact Form 7 должен быть активирован до этого. С установкой все, теперь по настройке — разберем два варианта.

1. Добавление скрытого поля

При редактировании формы Contact Form 7 вам нужно добавить код getparam а также имя переменной $_GET, значение которой мы будем считывать. Например:

[getparam tovar]

То есть в админке это будет выглядеть так:

При этом параметр будет передаваться с другой страницы, имеющей ссылку по типу:

http://mysite.com/contact?tovar=12345

Дабы передать значение данной переменной в письме используете в качестве кода просто ее название — [tovar].

2. Отображение параметры $_GETв форме

Для этого автор использует тот же принцип, что и в предыдущем варианте, но шорткод вызова функции — showparam. То есть нужно указывать

[showparam tovar]

При этом передавать значение в почту не получится. Если честно, не совсем понимаю, зачем это нужно, может быть я упустил какую-то деталь, но с помощью первого варианта и getparam совершенно спокойно вывожу все введенные значния. Возможно, с момента последнего моего использования данный хак немного обновился (написано, что 18-го ноября был апдейт). Но в любом случае суть применения getparam не поменялась.

Итак, алгоритм использования данного хака:

  • Установить плагин Contact Form 7, если его еще нет.
  • Установить модуль Getparam, скопировав соответствующие файлы на ФТП.
  • Создать форму и добавить в нее код вызова хака.
  • Создать на сайте страницу, прописав нужные ссылки с использованием параметра Get (формат смотрите выше). По клике на эти ссылки вы будете передавать соответствующие значения на страницу с формой.

Денис Кручин