Woocommerce REST API:自定义字段而不是产品名称
Posted
技术标签:
【中文标题】Woocommerce REST API:自定义字段而不是产品名称【英文标题】:Woocommerce REST API: Custom field instead of product name 【发布时间】:2021-12-31 23:54:12 【问题描述】:在使用 Woocommerce REST API 时,是否可以为产品名称使用自定义字段值? 我在 REST API 设置中为 DHL 添加了一个密钥。现在我想在每个产品上添加一个自定义字段(它将是短名称),以便在发送 DHL 的 API 请求时使用它,而不是原始产品名称。
【问题讨论】:
请提供足够的代码,以便其他人更好地理解或重现问题。 【参考方案1】:您可以使用产品的 SKU 字段。
WooCommerce API 允许您通过例如 SKU 字段获取产品 - 添加到您的 GET 产品(没有产品 ID)参数 &sku=DD1213 并且您将收到所述产品 - 我不记得 Woocommerce 是否允许 SKU 重复但如果是的话……总比不做! :)
这意味着您可以通过 SKU 查询示例 (php Curl) 获取产品:
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => 'https://www.yourwebsite.com/wp-json/wc/v3/products?consumer_key=somekind_of_key&consumer_secret=your_secret&sku=DD1213',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'GET',
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
这仅用于 GET 目的 - 用于更新和其他您需要使用产品 ID 端点。
【讨论】:
我不是那个意思。基本上,在 Woo / Settings/ Advanced / REST API - 我添加了一个用于 DHL 跟踪的密钥。它工作正常。我想要的是在用户购买产品时将其发送到 DHL 服务之前修改产品名称的事件/操作。 您的意思是,您只想更改发送给 DHL 的数据?就像在 DHL 跟踪器中添加或编辑产品短名称一样? 是的。在将数据发送到 DHL 之前,我想使用自定义字段作为短名称并发送它而不是原始产品名称。以上是关于Woocommerce REST API:自定义字段而不是产品名称的主要内容,如果未能解决你的问题,请参考以下文章
WooCommerce REST API - 按修改日期过滤订单