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 无效的 JSON

WooCommerce REST API - 按修改日期过滤订单

woocommerce通过rest api验证用户名和密码

为啥自定义字体会移动文本(更改垂直对齐方式)? [复制]

php facetwp woocommerce rest api check

登录时 WooCommerce REST API 身份验证失败