Woocommerce REST API Обновление категорий продуктов - PullRequest
0 голосов
/ 11 мая 2018

Я использую Wordpress 4.9.5 с Woocommerce 3.3.5. Я использую клиентскую библиотеку PHP *1001* WooCommerce REST API для обновления продуктов на веб-сайте, когда они изменяются в отдельной системе управления продуктами. Эта библиотека использует v2 API REST.

Используя следующий код, я успешно обновляю основные данные о товаре (название, описание, артикулы, цена и т. Д.), Но не могу получить категории для обновления из категории Без рубрики. Категории также не устанавливаются при использовании аналогичного кода для создания продукта, если он еще не существует на сайте.

$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
    )
)
));

Как я уже сказал, остальные поля обновляются, как и ожидалось. Я подтвердил, что категории с идентификаторами 343 и 347 определенно существуют, поэтому я предполагаю, что у меня должна быть проблема с синтаксисом. По мере обновления других полей аутентификация определенно работает.

Я прочитал официальную документацию по API Woocommerce и основал свой код на этом учебном пособии. Основываясь на том и другом, я не уверен, что сделал неправильно.

Спасибо за любую помощь или совет.

1 Ответ

0 голосов
/ 21 мая 2018

Я решил это в конце.С моей стороны это был надзор.

Используемая мной клиентская библиотека соединялась с тем, что в документации Woocommerce называется версией Legacy v2, а не версией API v2.Категории, теги alt изображения, метаданные и т. Д. Не поддерживаются в устаревших версиях.

Я переключился с библиотеки использования на подключение напрямую к версии 'v2' с помощью https://sitename/wp-json/wc/v2/endpoint, и теперь все в порядке.

...