MySQL 如何获取 Woocommerce 产品库图像 URL?

MySQL 如何获取 Woocommerce 产品库图像 URL?

如果你在使用 Woocommerce,那么获取产品库图像 URL 可能是一个常见的需求。本文将介绍如何在 MySQL 中获取 Woocommerce 产品库图像 URL。

阅读更多:MySQL 教程

Woocommerce 产品库图像 URL 存储在哪里?

Woocommerce 产品库图像 URL 存储在 MySQL 数据库中的 wp_postmeta 表中。

每个产品都有一个 post_id,该 post_id 关联到 wp_posts 表中的产品对象。在 wp_postmeta 表中,meta_key 存储为 _product_image_gallery,则 meta_value 将包含一个由逗号分隔的图像 ID 列表,如下所示:

meta_key meta_value
_product_image_gallery 123,456,789

在此列表中,每个 ID 代表附加图像的 ID,因此我们可以使用这些 ID 获取图像 URL。

如何使用 MySQL 获取 Woocommerce 产品库图像 URL?

我们可以使用以下 MySQL 查询来获取 Woocommerce 产品库图像 URL:

SELECT CONCAT(wp_posts.guid, '/', wp_postmeta.meta_value) AS image_url
FROM wp_postmeta
INNER JOIN wp_posts ON wp_postmeta.meta_value = wp_posts.ID
WHERE meta_key = '_wp_attached_file'
AND post_parent = (
  SELECT meta_value
  FROM wp_postmeta
  WHERE meta_key = '_thumbnail_id'
  AND post_id = [PRODUCT_POST_ID]
)

在此查询中,我们使用一个子查询来获取产品的缩略图 ID。我们将此缩略图 ID 用作 post_parent 参数来获取产品库图像 ID 的列表。

我们然后将图像 ID 列表加入到 wp_posts 表中,使用 CONCAT 函数将图像的基本 URL 与图像名称结合起来,从而生成每个产品库图像的 URL。

举个例子

假设我们有一个 ID 为 123 的产品,我们可以使用以下查询获取该产品的产品库图像 URL:

SELECT CONCAT(wp_posts.guid, '/', wp_postmeta.meta_value) AS image_url
FROM wp_postmeta
INNER JOIN wp_posts ON wp_postmeta.meta_value = wp_posts.ID
WHERE meta_key = '_wp_attached_file'
AND post_parent = (
  SELECT meta_value
  FROM wp_postmeta
  WHERE meta_key = '_thumbnail_id'
  AND post_id = 123
)

总结

在本文中,我们介绍了如何在 MySQL 中获取 Woocommerce 产品库图像 URL。我们了解了 Woocommerce 产品库图像 URL 存储在哪里,并使用一个 MySQL 查询来获取它们。如果您正在开发 Woocommerce 网站并需要获取产品库图像 URL,请使用我们提供的查询。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程