Woocommerce REST API 更新产品类别

Woocommerce REST API Update Product Categories

我正在使用 Wordpress 4.9.5 和 Woocommerce 3.3.5。当在单独的产品管理系统中更改产品时,我正在使用 WooCommerce REST API PHP Client Library 更新网站上的产品。该库正在使用 REST API.

的 v2

使用以下代码,我成功更新了基本产品数据(标题、描述、sku、价格等),但我无法从未分类中获取要更新的类别。如果网站上尚不存在产品,则在使用类似代码创建产品时也不会设置类别。

$client = new WC_API_Client( $domain, $consumerKey, $consumerSecret, $options );
$client->products->update( $id, array( 
'sku' => $product->sku,
'title' => $product->title, 
'type' => $product->type, 
'status' => $product->status,
'regular_price' => $product->regular_price, 
'description' => $product->description,
'categories' => array(
    array( 
        'id' => 343
    ),
    array(
        'id' => 347
    )
)
));

如我所说,其他字段按预期更新。我已经确认 ID 为 343 和 347 的类别确实存在,所以我认为我的语法一定有问题。随着其他字段的更新,身份验证肯定有效。

我已经阅读了官方 Woocommerce API 文档,并且我的代码基于 this 教程。基于这两者,我不确定我做错了什么。

感谢您的帮助或建议。

最后我解决了这个问题。这是我的疏忽。

我使用的客户端库连接到 Woocommerce 文档中所谓的 'Legacy v2' 版本,而不是 API 的 'v2' 版本。旧版本不支持类别、图片 alt 标签、元数据等。

我从使用库切换到使用 https://sitename/wp-json/wc/v2/endpoint 直接连接到 'v2' 版本,现在一切正常。