php - WooCommerce 数据库查询:从 thumbnail_id 获取产品类别图像路径+名称
问题描述
我正在尝试列出我所有的 Woocommerce 产品类别
| 类别名称 | 类别蛞蝓 | ... | ... | 类别图片路径+名称 |
使用下面的这个查询,让我大部分时间:
SELECT *
FROM wp_terms wpt
LEFT JOIN
wp_termmeta wptm
ON
wptm.term_id = wpt.term_id
AND
wptm.meta_key = 'thumbnail_id'
LEFT JOIN
wp_postmeta wppm
ON
wppm.post_id = wptm.meta_value AND
wppm.meta_key = 'wp_attached_file'
WHERE
wpt.term_id IN (SELECT term_id FROM wp_term_taxonomy WHERE taxonomy='product_cat')
我有:
| term_id | name | slug | ... | meta_key | meta_value |
| 96 | Machine Screws | machine_screw | ... | thumbnail_id | 2657 |
从这里我无法弄清楚如何或在哪里加入 thumbnail_id 以获取我的图像路径+名称。
编辑:
我已经阅读了大量内容,我知道我应该寻找帖子的附件,但我不能完全为自己加入这些点。
笔记:
- 发布在https://wordpress.stackexchange.com/posts/393551/
- 它被关闭为题外话
- 在这里转发以防对其他人有用
解决方案
看来我已经设法解决了。
我需要:
- 加入wp_posts
使用链接键:
- 表:wp_postmeta
- 列:meta_key
- 表:wp_posts
- 列:ID
SELECT *
FROM wp_terms wpt
LEFT JOIN
wp_termmeta wptm
ON
wptm.term_id = wpt.term_id
AND
wptm.meta_key = 'thumbnail_id'
LEFT JOIN
wp_postmeta wppm
ON
wppm.post_id = wptm.meta_value AND
wppm.meta_key = 'wp_attached_file'
LEFT JOIN
wp_posts wpp
ON
wpp.ID = wptm.meta_value
WHERE
wpt.term_id IN (SELECT term_id FROM wp_term_taxonomy WHERE taxonomy='product_cat')
这给了我想要的列表。
我现在有一个专栏:
| 类别名称 | 类别蛞蝓 | ... | ... | 指导|
有图片网址:
https://test.somesite.com/wp-content/uploads/2021/06/category-Machine-Screws_150x150.svg
我现在要导出到 .CSV
然后我将尝试找出如何达到我的最终目标:
我的最终目标是进行 SQL 更新以将图像与我的产品类别相关联。我有 1,400 种产品类别并且还在增加——虽然进口了 31,000 种产品,但在进行中途。大概 60% 的子类别共享相同的图像。通过管理 GUI 进行图像链接太费力了。
所以我的目标是:
- 找到thumbnail_id
- 对于每个常见图像
- 每个多个“通用”产品类别共享
然后我应该能够直接在数据库中将该thumbnail_id更新到每个常见的产品类别中。
推荐阅读
- selenium-webdriver - 我无法编写 x 路径
- python - 如何用体素填充 3D 图形?
- asp.net - 美国 Zip+4 验证
- apache-spark - 如何在 spark.sql 中通过 (+) 使用外连接?
- javascript - Pipedream 上的 Outlook Node.js sendMail API 请求消息为空错误
- r - Is there a selective replace function? Should it be done using a If statement or For loop?
- php - 将多个 CodeIgniter 结果集合并到一个数组中
- python - Numpy 中的意外性能乘以 1
- .htaccess - htaccess 重写规则以包含变量
- swift - Swift 如何以编程方式使用自定义颜色设置背景颜色?