Расширенное руководство по использованию «Вордпресса»

Этот раздел содержит расширенное руководство по работе с «Вордпрессом». В частности, рассмотрены вопросы фоновой отправки заказов и форм, модификации плагина, а также приведена спецификация на протокол электронной коммерции, используемый в плагине. Если вам необходима информация об основах работы с «Вордпрессом», читайте раздел Плагин для Вордпресса руководства пользователя.

Содержание

Получение заказов в фоне с использованием REST API

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

Допустим в качестве примера, что стоит задача сделать конфигуратор столов. В этом случае отправляемые данные могут иметь вид:

{ "user_name": "Иван Петров", "user_email": "иван.петров@пример.рф", "user_phone": "+123456789" "items": [ { "sku": "table_top_white", "quantity": 1 }, { "sku": "table_leg_brown", "quantity": 4 }, ] }

Существует два способа создания заказов, основанных на приведённых данных:

  1. С помощью ПОСТ-запросов и данных в формате FormData (версия v1)
  2. С помощью ПОСТ-запросов и данных в формате 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 настроек плагина.

Остались вопросы?

Задавайте их на нашем форуме!