php - 如何将 meta_data 添加到 WooCommerce 客户
问题描述
我正在尝试更新需要向服务器发送 PUT 请求的客户。这是初始化 WooCommerce REST API 的代码:
var WooCommerceAPI = require('woocommerce-api');
var WooCommerce = new WooCommerceAPI({
url: 'http://example.com',
consumerKey: 'ck_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX',
consumerSecret: 'cs_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'
});
这是更新客户的代码:
var data = {
"meta_data":[
{
"key": "stores",
"value": "food"
}
],
"first_name": "name"
}
WooCommerce.put('customers/5', data, function(err, data, res) {
console.log(res);
});
上面的代码更新了客户的“first_name”,但没有向客户的“meta_data”部分添加任何内容。关于为什么的任何想法?
我猜 PHP 文件没有更新元数据或者我的 meta_data 输入格式有问题???如何更新客户的 meta_data?
我也尝试过使用旧版 woo 版本(例如,'wc/v2'、'wc/v1'),但这些版本甚至不会更新 first_name。
解决方案
如您所料, meta 的输入格式是错误的。由于某些原因,更新元数据需要双数组:
'meta_data' => array(
array(
'key' => $meta_key,
'value' => $meta_value
))
))
另请参阅:https ://github.com/woocommerce/woocommerce/issues/18810
您应该收到类似“输入参数无效”或类似的错误。请在您的代码中不仅要记录,res
还要记录。err
推荐阅读
- c - 将具有不同类型的结构中的值复制到 1 字节值数组
- netlogo - Netlogo,改变标签的位置
- python-3.x - odoo 安全限制公司开放通用设置
- python - Selenium Chromedriver 无法启动
- abap - SAP 文档关于配置 RFC 用户
- asp.net - 基于重复的聚合日期
- wordpress - 如何解决:网站被重定向到另一个域?
- php - 如何从codeigniter上的user()函数获取其他字段
- android - 未解决的参考:ActivityScenario
- security - 二进制授权 - 部署失败 - 被证明者拒绝。证明者无法证明 GKE 中的图像