Как указать порядок сортировки изображений продуктов для продуктов WooCommerce с помощью REST API? - PullRequest
1 голос
/ 08 января 2020

Я просмотрел документацию для добавления изображений продуктов woocommerce по адресу https://woocommerce.github.io/woocommerce-rest-api-docs/?php#product -images-properties , но я не вижу свойства, определяющего порядок сортировки изображений в этом продукте. Это то, что я могу указать с помощью API?

Я обнаружил плагин на https://enviragallery.com/how-to-change-order-of-images-in-wordpress-gallery/, который позволяет вам делать это в административной области для одной страницы WordPress или поста, но я импортирую тысячи продуктов и имею порядок изображений определяется sku в Dropbox, который мне нужно сообщить WooCommerce во время импорта. Где эта информация хранится в базе данных? Существует ли порядок сортировки по умолчанию по дате изменения или имени каждого изображения?

Спасибо

1 Ответ

1 голос
/ 09 января 2020

Я провел некоторое тестирование с существующим продуктом, который имеет несколько изображений. Я заметил, что могу перетаскивать изображения для продукта, который фактически меняет порядок изображений на сайте. Когда я проверял вкладку сети во время обновления продукта, я заметил параметр с именем product_image_gallery, у которого был список чисел, разделенных запятыми, например 41975,41978,41976,41977 ,. Когда я изменил порядок изображений и обновил продукт, я увидел, что цифры для этого параметра перемещаются следующим образом: 41975,41976,41977,41978 ,.

В тот момент я подумал, что смогу изменить порядок изображений для продукта, просто изменив порядок, в котором они перечислены в массиве изображений, при передаче его конечной точке продуктов в woocommerce (подробнее на * 1003). *https://woocommerce.github.io/woocommerce-rest-api-docs/?shell#create -a продукт ). Я попробовал это, и это сработало отлично. Так, например, эти данные помещают изображение 1 в качестве «основного» изображения продукта, затем за изображением 2 следует изображение 3 в качестве дополнительных изображений:

"images": [
  {
    "src": "http://example.com/image1.jpg"
  },
  {
    "src": "http://example.com/image2.jpg"
  },
  {
    "src": "http://example.com/image3.jpg"
  }
]

Однако отправка изображений в следующем порядке приведет к тому, что image3.jpg будет основное изображение продукта, за которым следуют изображение 2, а затем 1 как дополнительные изображения:

"images": [
  {
    "src": "http://example.com/image3.jpg"
  },
  {
    "src": "http://example.com/image2.jpg"
  },
  {
    "src": "http://example.com/image1.jpg"
  }
]

Очевидно, что нет поля, которое отслеживает порядок изображений в продукте, если только вы не посчитаете индекс изображения на изображениях. массив, который вы отправляете в вызовы API создания продукта или обновления продукта.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...