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

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

Хотелось бы напомнить, что для настройки почти всех плагинов требуется знание английского языка. Если ваш уровень не позволяет спокойно читать документацию по настройке, рекомендуем вам пройти гдз по английскому и вы станете владеть языком на высоком уровне. Что несомненно вам поможет не только в работе с сайтами, но и в повседневной жизни.

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

Основная сложность этого подхода заключается в интеграции использования параметра Get в один из уже существующих, в wordpress системе, плагинов. Здорово, что такое решение уже придумали, называется оно GetParam. Это очень полезный хак, с его помощью Вы можете передавать в форму Contact Form 7 какое-либо значение, можете отображать его или добавлять как скрытое поле – по желанию.

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

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

Как установить и использовать GetParam

Остановимся подробно на самом хаке. Нужно начать со скачивания архива и активизации плагина Contact Form 7. Затем необходимо распаковать файл getparam.php и добавить его в директорию /wp-content/plugins/contact-form-7/modules/. Ну вот, собственно, с установкой все, разберемся  теперь в настройке – существует два варианта:

Вариант 1 — добавляется скрытое поле.

Когда Вы будете редактировать форму Contact Form 7, Вам необходимо дописать код getparam и имя переменной $_GET, именно ее значение мы и будем считывать. Допустим:

[getparam tovar]

В административной панели это будет иметь такой вид:

form2

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

[php]
http://mysite.com/contact?tovar =12345
[/php]

Чтобы корректно передать значение этой переменной можно использовать в качестве кода ее название, например – [tovar].

Вариант 2 — отображаются параметры $_GET в форме.

При отображении параметров $_GET в форме используется тот же принцип, что и в первом варианте, просто поменяется код, с getparam на showparam,  то есть мы производим следующую запись:

Но при этом не получается передавать сообщения в электронную почту. Честно говоря, я до конца так и не смог понять, зачем это нужно, возможно я упустил некую важную деталь. С помощью варианта №1 удается выводить все введенные значения. Вполне вероятно, что данный хак мог обновиться, но суть применения  getparam в любом случаи не поменяется.

Таким образом,  получается следующий алгоритм использования предложенного хака:

  1. Устанавливаем плагин Contact Form 7 (если нет такового);
  2. Устанавливаем модуль Getparam;
  3. Создаем форму и копируем в нее код вызова хака;
  4. Создаем новую страницу, прописываем необходимые ссылки с применением параметра Get.

Вот и все, теперь при обращении на эти ссылки Вы сможете передавать какое-либо значение на страницу с формой.

Все интересующие вопросы по данной теме можно задавать в комментариях.