WordPress 高级指南
本指南包含有关如何在 WordPress 中使用 Verge3D 的更多深入主题。介绍了如何在后台发送订单和表单以及如何自定义插件。您还可以在此处找到正式的电子商务协议规范。有关基础主题,请参阅用户手册中的 WordPress 插件 章节。
目录
通过 REST API 在后台接收订单
在某些情况下,您可能希望创建自定义的下单体验,而不是将用户重定向到订单页面。
假设您想创建一个基本的桌子定制器。您的数据可能如下所示:
{
"user_name": "张三",
"user_email": "zhangsan@example.com",
"user_phone": "+8613800138000"
"items": [
{
"sku": "table_top_white",
"quantity": 1
},
{
"sku": "table_leg_brown",
"quantity": 4
},
]
}
您可以通过以下两种方式基于这些数据下单:
- 使用带有常规表单数据的 POST 请求(版本 v1)
- 使用带有 JSON 的 POST 请求(版本 v2)
使用表单数据提交订单
为此,您可以编写一个包含上述字段的 HTML 表单,然后直接提交或通过 发送数据 拼图提交到以下地址:
https://WP_HOST/wp-json/verge3d/v1/place_order/
其中 WP_HOST 是您的 WordPress 服务器主机名,例如 sandbox.soft8soft.com
使用拼图时,需要用户输入的表单字段(即 "user_name"、"user_email"、"user_phone")可以按如下方式创建:
而带有产品 SKU 的订单项可以通过隐藏表单输入来组成:
可以在不重新加载整个页面的情况下提交表单,如下所示:
使用 JSON 提交订单
您可以通过创建 JavaScript 对象来组合此结构,然后通过 JavaScript fetch() 调用将其发送到服务器,但使用 字典 配合 发送数据 拼图可能更方便。
以 JSON 格式提交订单的 URL 地址为:
https://WP_HOST/wp-json/verge3d/v2/place_order/
其中 WP_HOST 是您的 WordPress 服务器主机名,例如 sandbox.soft8soft.com
例如,使用以下拼图来组合上面指定的订单:
电子商务选项卡中的 订单项 拼图可以在组合订单项时为您节省一些时间。
将表单发送到电子邮件
Verge3D for WordPress 提供了一项功能,允许您将自定义 HTML 表单获取的数据发送到管理设置中指定的电子邮件地址。例如,您可以使用此功能接收产品或服务的咨询或支持问题、实现预订、获取客户联系信息等。
提交自定义表单的 URL 地址为:
https://WP_HOST/wp-json/verge3d/v1/send_form/
其中 WP_HOST 是您的 WordPress 服务器主机名,例如 sandbox.soft8soft.com。
表单本身可以使用 HTML/CSS、拼图或网站构建器(如 Webflow)来实现。有关创建基于 HTML 的用户界面的更多信息,请参见此处。表单提交可以直接通过点击"提交"按钮进行,也可以通过 JavaScript/拼图间接进行(以避免页面重新加载)。
例如,使用拼图,您可以像这样在不重新加载页面的情况下发送表单(实际表单构建未显示):
咨询表单库可以大大简化操作。以它作为您自己表单解决方案的基础。
自定义电子商务表单
要修改电子商务表单,请将 Verge3D 插件 templates 目录中的表单模板复制到您 WordPress 主题目录下的 verge3d 子目录中。
例如,如果您需要修改订单电子邮件模板:
WORDPRESS/wp-content/plugins/verge3d/templates/order_email_body.php → THEME/verge3d
其中 WORDPRESS 是您 WordPress 安装的根目录,THEME 是您当前主题的目录。
以下是您可以自定义的模板列表:
| 模板文件 | 描述 |
|---|---|
| order_email_body.php | 订单电子邮件正文模板。此模板用于发送给您和您的客户的订单通知。 |
| order_pdf.php | 订单电子邮件 PDF 附件模板。此模板用于生成将转换为 PDF 并附加到订单电子邮件中的 HTML 文件(例如报价单和发票)。 |
| order_form.php | 订单表单模板。此表单显示在包含 [verge3d_order] 简码的页面上。 |
| order_success.php | 订单被接受时显示的消息。 |
| order_failed.php | 订单被拒绝时显示的消息。 |
| payment_paypal.php | PayPal 支付处理页面。 |
| send_form_email_body.php | 通过 REST API 生成的表单的电子邮件模板。 |
安全措施
在为电子商务应用使用自定义表单时,请确保正确转义客户发送的输出数据。请参阅以下指南获取更多信息。
电子商务协议规范
下订单和下订单 + 拼图使用以下协议来处理订单。订单从浏览器使用 HTTP POST 请求发送到服务器,包含以下参数:
| POST 参数 | 描述 |
|---|---|
| v3d_items | 订单项。一个 JSON 编码的订单项数组。 |
| v3d_attachments[] | 订单附件。此可选值必须是表示订单附件的 Data URL 数组。 |
订单项具有以下格式之一,具体取决于您使用的拼图。对于下订单:
| 字段 | 描述 |
|---|---|
| title | 订单项标题。 |
| price | 订单项价格。 |
| quantity | 订单项数量:单位数、重量、长度等。 |
对于下订单 +:
| 字段 | 描述 |
|---|---|
| sku | 订单项 SKU(库存量单位)。此 SKU 用作 ID 从服务器检索产品信息。 |
| quantity | 订单项数量:单位数、重量、长度等。 |
基于 REST API 的更高级协议使用以下参数集:
| JSON 字段 | 描述 |
|---|---|
| user_name | 客户全名(也用作账单姓名)。 |
| user_email | 客户电子邮件地址。 |
| user_phone | 客户电话号码。 |
| user_comment | 可选的订单备注。 |
| items | 订单项。一个包含订单项的数组。 |
| attachments | 订单附件。此可选值必须是表示订单附件的 Data URL 数组。 |
| user_address1 | 账单地址 — 第 1 行。要使用此字段,请在 常规 选项卡上激活 账单地址 选项。 |
| user_address2 | 账单地址 — 第 2 行。要使用此字段,请在 常规 选项卡上激活 账单地址 选项。 |
| user_city | 账单地址 — 城市。要使用此字段,请在 常规 选项卡上激活 账单地址 选项。 |
| user_state | 账单地址 — 州、县或省。要使用此字段,请在 常规 选项卡上激活 账单地址 选项。 |
| user_country | 账单地址 — 国家。要使用此字段,请在 常规 选项卡上激活 账单地址 选项。 |
| user_postcode | 账单地址 — 邮政编码。要使用此字段,请在 常规 选项卡上激活 账单地址 选项。 |
| shipping_address1 | 配送地址 — 第 1 行。要使用此字段,请在 常规 选项卡上激活 配送地址 选项。 |
| shipping_address2 | 配送地址 — 第 2 行。要使用此字段,请在 常规 选项卡上激活 配送地址 选项。 |
| shipping_city | 配送地址 — 城市。要使用此字段,请在 常规 选项卡上激活 配送地址 选项。 |
| shipping_state | 配送地址 — 州、县或省。要使用此字段,请在 常规 选项卡上激活 配送地址 选项。 |
| shipping_country | 配送地址 — 国家。要使用此字段,请在 常规 选项卡上激活 配送地址 选项。 |
| shipping_postcode | 配送地址 — 邮政编码。要使用此字段,请在 常规 选项卡上激活 配送地址 选项。 |
有问题?
欢迎在论坛上提问!