POST и GET для WordPress

Поступила задача накидать простой сайтик на одну страничку, но аппетит наступает во время еды, как говорится.

Шаг за шагом и мы уперлись в то, что уже нужно подобие интернет магазина, но интернет-магазин на wordpress нам не нужен.

Заказчик хотел видеть на сайте несколько конфигураций компьютеров и кнопку «купить», по нажатии которой клиент переходит на страницу заказа, где автоматически будет вставлен номер конфигурации.

Т.е. самый простой способ взять данные из строки адреса по типу http://site.name/zakaz/?computer=order123.

Изначально для построения прайс таблиц в wordpress я использовал плагин Easy Pricing Tables by Fatcat Apps

Easy Pricing Tables by Fatcat Apps

Суть в том, что данные формы вставляются при помощи шорт кода, как и форма обратной связи в любую страницу.

При нажатии на кнопку «купить» нас перекидывает на нужный URL адрес типа http://site.name/zakaz/?computer=order123, где форма должна забрать значение переменной «computer», но т.к. форма связи встроена в страницу, то $_POST, $_GET данные не подтягиваются и форма остается пустой.

Оказалось, что есть готовое решение, это приложение к плагину — Contact Form 7 – Post Fields

Тут много интересных вещей:

Contact Form 7 is a fantastic plugin for form. The post-fields extension enables you to create image drop-down-menues, checkboxes and radio-buttons based on posts or other kinds of content (custom post types).

Features of post fields

  • beautiful drop-down-menues, checkboxes and radio buttons with post image, excerpt and meta data
  • selection of the post type (posts, pages, attachments, custom post types)
  • selection and limitation of categories (taxonomies)
  • customized/individual formatting of the label
  • configuring the value attribute
  • pretty post hyperlinks in the message body
  • customized sorting of the post type
  • Display a search box on drop-down-menues
  • limitation of the post type based on its particular status (published, draft etc.)
  • The default value of the field can easily be selected by using $_GET or $_POST variables (see FAQ).

Required Plugin

  • Contact Form 7 by Takayuki Miyoshi — Contact Form 7 can manage multiple contact forms, plus you can customize the form and the mail contents flexibly with simple markup.

Нас интересует: The default value of the field can easily be selected by using $_GET or $_POST variables (see FAQ).

В частности используя «default:get» мы можем получить значение переменной из строки адреса, например:

[text computer default:get]

Все, теперь задаем нужную строку адреса для кнопки «купить», при нажатии которой нас перебросить на страницу и заполнить нужные строки автоматически.