Woocommerce REST API 显示属性 meta_data 作为 slug
Woocommerce REST API display attributes meta_data as slugs
我依赖 Woocommerce REST API 用于几个不同的目的——一个是通过运输平台 ShippingEasy,另一个是将订单信息放入 google 电子表格的自定义解决方案。检索订单信息时,我注意到变量产品属性以 slug 的形式出现,而不是区分大小写的名称。
为了确保没有错误或插件冲突,我执行了全新安装,添加了几个测试产品,然后使用邮递员通过 API 提取了订单。果然 Woocommerce 将 slug 作为值而不是名称。这是 GET
返回的一小部分示例
"line_items": [
{
"id": 3,
"name": "Test Product - Black, Small",
"product_id": 26,
"variation_id": 29,
"quantity": 1,
"tax_class": "",
"subtotal": "6.00",
"subtotal_tax": "0.00",
"total": "6.00",
"total_tax": "0.00",
"taxes": [],
"meta_data": [
{
"id": 29,
"key": "pa_color",
"value": "color-black"
},
{
"id": 30,
"key": "pa_size",
"value": "size-small"
},
{
"id": 31,
"key": "Clip (.00)",
"value": "Upgrade"
}
],
"sku": "TEST",
"price": 6
}
],
如您所见,在“meta_data”下,“key”(属性名称)显示了 slug,“value”(选定的属性术语)也显示了 slug。您可能会注意到“id”29 和 30 都是全局属性,因此它也将 pa_ 值附加到“key”。有趣的是,如果您在本地(在产品列表中)创建属性,GET 会将“meta_data”“key”显示为 slug,但“value”将显示为区分大小写的名称。您可能会注意到“id”31 显示的是区分大小写的名称“value”和“key”——这些来自附加组件插件。
看来meta_data“键”和“值”应该可以显示为区分大小写的名称。是否可以使用 functions.php 中的函数解决此问题?
现在看起来 API 在 meta_data
中提供 display_key
和 display_value
,returns name
而不是slug
每个。奇怪的是,这还没有出现在 API 文档中,并且必须是最近添加的,这是我在测试随机 GET 请求时偶然发现的。
我依赖 Woocommerce REST API 用于几个不同的目的——一个是通过运输平台 ShippingEasy,另一个是将订单信息放入 google 电子表格的自定义解决方案。检索订单信息时,我注意到变量产品属性以 slug 的形式出现,而不是区分大小写的名称。
为了确保没有错误或插件冲突,我执行了全新安装,添加了几个测试产品,然后使用邮递员通过 API 提取了订单。果然 Woocommerce 将 slug 作为值而不是名称。这是 GET
返回的一小部分示例"line_items": [
{
"id": 3,
"name": "Test Product - Black, Small",
"product_id": 26,
"variation_id": 29,
"quantity": 1,
"tax_class": "",
"subtotal": "6.00",
"subtotal_tax": "0.00",
"total": "6.00",
"total_tax": "0.00",
"taxes": [],
"meta_data": [
{
"id": 29,
"key": "pa_color",
"value": "color-black"
},
{
"id": 30,
"key": "pa_size",
"value": "size-small"
},
{
"id": 31,
"key": "Clip (.00)",
"value": "Upgrade"
}
],
"sku": "TEST",
"price": 6
}
],
如您所见,在“meta_data”下,“key”(属性名称)显示了 slug,“value”(选定的属性术语)也显示了 slug。您可能会注意到“id”29 和 30 都是全局属性,因此它也将 pa_ 值附加到“key”。有趣的是,如果您在本地(在产品列表中)创建属性,GET 会将“meta_data”“key”显示为 slug,但“value”将显示为区分大小写的名称。您可能会注意到“id”31 显示的是区分大小写的名称“value”和“key”——这些来自附加组件插件。
看来meta_data“键”和“值”应该可以显示为区分大小写的名称。是否可以使用 functions.php 中的函数解决此问题?
现在看起来 API 在 meta_data
中提供 display_key
和 display_value
,returns name
而不是slug
每个。奇怪的是,这还没有出现在 API 文档中,并且必须是最近添加的,这是我在测试随机 GET 请求时偶然发现的。