提问者:小点点

如何使用RESTAPI为WooCommerce产品指定产品图像排序顺序?


我已经在查看了添加woocommerce产品图像的文档https://woocommerce.github.io/woocommerce-rest-api-docs/?php#product-图像属性,但我没有看到定义该产品中图像排序顺序的属性。这是我可以使用API指定的吗?

我在https://enviragallery.com/how-to-change-order-of-images-in-wordpress-gallery/找到了一个插件,可以让你在管理区域为一个wordpress页面或帖子做这件事,但是我正在导入成千上万的产品,并在dropbox中定义了sku的图像顺序,我需要在导入。这些信息存储在数据库的哪里?是否有一个默认的排序顺序由修改的日期或名称的每个图像?

非常感谢。


共1个答案

匿名用户

我用一个有多个图像的现有产品做了一些测试。我注意到我可以拖放产品的图片,这实际上改变了网站上图片的顺序。当我在更新产品的过程中检查网络选项卡时,我注意到一个名为product_image_gallery的参数,它有一个逗号分隔的数字列表,如41975419784197641977,。当我更改图像顺序并更新产品时,我看到该参数的数字如下所示:41975419764197741978,。

在这一点上,我想我可能能够改变一个产品的图像的顺序,只需改变他们在图像数组中列出的顺序,当它传递到产品endpoint在WooCommerce(详见https://woocommerce.github.io/woocommerce-rest-api-docs/?shell#create-a-product)。我试了这个,它工作得很好。例如,这个数据将图像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调用的图像数组中图像的索引。