Расширенное руководство по использованию «Вордпресса»
Этот раздел содержит расширенное руководство по работе с «Вордпрессом». В частности, рассмотрены вопросы фоновой отправки заказов и форм, модификации плагина, а также приведена спецификация на протокол электронной коммерции, используемый в плагине. Если вам необходима информация об основах работы с «Вордпрессом», читайте раздел Плагин для Вордпресса руководства пользователя.
Содержание
- Получение заказов в фоне с использованием REST API
- Отправка форм на почту
- Настройка форм электронной коммерции
- Спецификация на протокол электронной коммерции
Получение заказов в фоне с использованием REST API
В ряде случаев вы можете использовать свой собственный интерфейс для отправки заказов, вместо перенаправления покупателей на страницу заказа.
Допустим в качестве примера, что стоит задача сделать конфигуратор столов. В этом случае отправляемые данные могут иметь вид:
{
"user_name": "Иван Петров",
"user_email": "иван.петров@пример.рф",
"user_phone": "+123456789"
"items": [
{
"sku": "table_top_white",
"quantity": 1
},
{
"sku": "table_leg_brown",
"quantity": 4
},
]
}
Существует два способа создания заказов, основанных на приведённых данных:
- С помощью ПОСТ-запросов и данных в формате FormData (версия v1)
- С помощью ПОСТ-запросов и данных в формате JSON (версия v2)
Отправка форм с помощью FormData
Для отпавки, создайте HTML-форму с полями, указанными выше и отправьте эту форму с помощью пазла send data на следующий адрес:
https://ВП_ХОСТ/wp-json/verge3d/v1/place_order/
Где ВП_ХОСТ это имя хоста «Вордпресс»-сервера, например sandbox.soft8soft.com
С помощью пазлов, поля формы, требующие ввода данных пользователем (напр. "user_name", "user_email", "user_phone") могут быть созданы следующим образом:

Тогда как поля с артикулами товара (SKU) делаются с помощью скрытых полей формы:

Форма отправляется без перезагрузки страницы следующим образом:

Отправка форм с помощью JSON
Вы можете сформировать структуру данных в виде объекта «Ява Скрипта» и затем отправить её с помощью метода этого языка, называемого fetch(), однако с помощью словаря и пазла send data сделать это намного проще.
УРЛ-адрес для отправки в JSON-формате следующий:
https://ВП_ХОСТ/wp-json/verge3d/v2/place_order/
Где ВП_ХОСТ это имя хоста «Вордпресс»-сервера, например sandbox.soft8soft.com
В частности, пазлы для создания данного типа запросов могут иметь вид:

В примере используется пазл order item из вкладки E-Commerce, что позволяет существенно ускорить заполнение элементов заказа.
Отправка форм на почту
«Вердж3Д для Вордпресса» предоставляет возможность оправки любых HTML-форм на адрес, выбранный в интерфейсе администрирования плагина. Таким образом, в частности, вы можете получать вопросы от потенциальных клиентов, сообщения для службы поддержки, предзаказы, контакты пользователей и т.д.
УРЛ-адрес для отправки форм на почту имеет вид:
https://ВП_ХОСТ/wp-json/verge3d/v1/send_form/
Где ВП_ХОСТ это имя хоста «Вордпресс»-сервера, например sandbox.soft8soft.com
Сама форма может быть реализована с помощью HTML/CSS, пазлов или визуального редактора, на подобие «Вебфлоу». Смотрите как создавать HTML-интерфейсы в соответствующем разделе документации. Кроме того, форма может быть отправлена напрямую, с помощью кнопки «Отправить» или косвенно, с помощью пазлов или «Ява Скрипта» (чтобы не перезагружать страницу).
Если вы используете пазлы, вы можете воспользоваться следующей конструкцией для отправки формы без перезагрузки (создание самой формы не показано):

Библиотека пазлов Inquiry Form содержит готовый пример, который можно использовать в качестве основы собственного приложения.

Настройка форм электронной коммерции
Для изменения форм e-commerce скопируйте шаблоны форм, расположенные в каталоге templates плагина «Вердж3Д», в каталог вашей темы «Вордпресс», в подкаталог verge3d.
Например, если вам нужно изменить шаблон электронной почты заказа:
КОРЕНЬ/wp-content/plugins/verge3d/templates/order_email_body.php → ТЕМА/verge3d
Где КОРЕНЬ — это корневой каталог вашей установки «Вордпресса», а ТЕМА — каталог вашей текущей темы.
Вот список шаблонов, которые вы можете настроить:
Файл шаблона | Описание |
---|---|
order_email_body.php | Шаблон тела письма с заказом. Этот шаблон используется как для уведомлений о заказах, отправляемых вам, так и вашим клиентам. |
order_pdf.php | Шаблон с PDF-вложением к электронному письму с заказом. Этот шаблон используется для создания HTML-файлов, которые будут преобразованы в PDF и прикреплены к электронным письмам с заказами. |
order_form.php | Шаблон формы заказа. Эта форма отображается для ваших клиентов на страницах, где присутствует код [verge3d_order]. |
order_success.php | Сообщение, отображаемое при принятии заказа. |
order_failed.php | Сообщение, отображаемое при отклонении заказа. |
payment_paypal.php | Страница обработки заказа в платёжной системе «Пейпал». |
product_admin_form.php | Страница, отображающая заказы в интерфейсе администрирования «Вордпресса». |
send_form_email_body.php | Шаблон писем, сформированных для заказов, отправленных с помощью REST API. |
Меры безопасности
При использовании пользовательских форм в приложениях e-commerce не забудьте правильно экранировать выходные данные, отправляемые клиентами. Для получения дополнительной информации воспользуйтесь следующим руководством (англ.).
Спецификация на протокол электронной коммерции
Пазлы place order и place order + используют следующий протокол для обработки заказов. Заказы отправляются из браузера на сервер с помощью HTTP POST-запросов со следующими параметрами:
POST-параметр | Описание |
---|---|
v3d_items | Пункты заказа. Массив со структурами, закодированный в формате JSON |
v3d_attachments[] | Опциональные вложения заказа. Массив ссылок в формате Data URL. |
Пункт заказа имеет конфигурацию, зависящую от используемого пазла. Для place order она имеет вид:
Поле | Описание |
---|---|
title | Название пункта заказа. |
price | Цена пункта заказа. |
quantity | Количество товара в пункте: число, вес, длина, и т.д. |
Для пазла place order +:
Поле | Описание |
---|---|
sku | Артикул товара. Этот артикул используется как идентификатор чтобы получить информацию о продукте с сервера. |
quantity | Количество товара в пункте: число, вес, длина, и т.д. |
Более продвинутый протокол на основе JSON использует следующий набор параметров по умолчанию:
Поле JSON | Описание |
---|---|
user_name | Полное имя клиента (также используется как имя владельца карты). |
user_email | Электронная почта клиента. |
user_phone | Телефон клиента. |
user_comment | Комментарии к заказу. |
items | Массив с пунктами заказа. |
attachments | Вложения. Опциональный массив со ссылками Data URL, содержащими вложения заказа. |
user_address1 | Первая строка адреса владельца карты. Чтобы использовать это поле, активируйте опцию Billing address на вкладке General настроек плагина. |
user_address2 | Вторая строка адреса владельца карты. Чтобы использовать это поле, активируйте опцию Billing address на вкладке General настроек плагина. |
user_city | Город владельца карты. Чтобы использовать это поле, активируйте опцию Billing address на вкладке General настроек плагина. |
user_state | Регион владельца карты. Чтобы использовать это поле, активируйте опцию Billing address на вкладке General настроек плагина. |
user_country | Страна владельца карты. Чтобы использовать это поле, активируйте опцию Billing address на вкладке General настроек плагина. |
user_postcode | Почтовый индекс владельца карты. Чтобы использовать это поле, активируйте опцию Billing address на вкладке General настроек плагина. |
shipping_address1 | Первая строка адреса доставки. Чтобы использовать это поле, активируйте опцию Shipping address на вкладке General настроек плагина. |
shipping_address2 | Вторая строка адреса доставки. Чтобы использовать это поле, активируйте опцию Shipping address на вкладке General настроек плагина. |
shipping_city | Город доставки. Чтобы использовать это поле, активируйте опцию Shipping address на вкладке General настроек плагина. |
shipping_state | Регион доставки. Чтобы использовать это поле, активируйте опцию Shipping address на вкладке General настроек плагина. |
shipping_country | Страна доставки. Чтобы использовать это поле, активируйте опцию Shipping address на вкладке General настроек плагина. |
shipping_postcode | Индекс доставки. Чтобы использовать это поле, активируйте опцию Shipping address на вкладке General настроек плагина. |
Остались вопросы?
Задавайте их на нашем форуме!