我试图通过WooCommerce REST API添加带有图像的产品,但出现以下错误:
致命错误:Uncaught Automatic\\WooCommerce\\HttpClient\\HttpClientException:错误:#0是无效的映像ID。
尽管有许多其他类似的线程,但似乎没有人真正知道为什么会发生这种情况,尽管文档示例中的代码相同。我尝试使用的图像不在媒体库中。
代码:
$woocommerce = new Client(
\'https://www.example.co.uk\',
\'123456789\',
\'123456789\',
[
\'wp_api\' => true,
\'version\' => \'wc/v3\',
\'sslverify\' => false,
]
);
$data = array();
foreach ( $records->getRecords() as $record ) {
$data = [
\'name\' => $record[\'TITLE\'],
\'description\' => $record[\'DESCRIPTION\'],
\'regular_price\' => $record[\'PRICE\'],
\'quantity\' => $record[\'QUANTITY\'],
\'images\' => [
\'src\' => \'https://via.placeholder.com/350x150.png\',
],
];
$woocommerce->post( \'products\', $data );
}
我看没什么错。其设置方式也与示例相同:
https://woocommerce.github.io/woocommerce-rest-api-docs/?php#create-a-product
SO网友:wharfdale
好吧,我错了,你可以看到我的图像数组不太正确:
这是正确的:
\'images\' => [
[
\'src\' => \'http://demo.woothemes.com/woocommerce/wp-content/uploads/sites/56/2013/06/T_2_front.jpg\'
],
[
\'src\' => \'http://demo.woothemes.com/woocommerce/wp-content/uploads/sites/56/2013/06/T_2_back.jpg\'
]
],
这是我的:
\'images\' => [
\'src\' => \'http://demo.woothemes.com/woocommerce/wp-content/uploads/sites/56/2013/06/T_2_back.jpg\',
],
我认为最好留下这个问题/答案,因为多年来,网上有很多关于这个问题的问题,都有相同的错误。