WooCommerce如何通过thumbnail_id查询商品分类的图片路径及名称
WooCommerce 商品分类含图片路径SQL查询方案
完整查询语句
SELECT wpt.term_id AS 分类ID, wpt.name AS 分类名称, wpt.slug AS 分类别名, wptm.meta_value AS 缩略图附件ID, wppm.meta_value AS 图片相对路径, -- 如需直接生成完整访问URL,替换下方域名即可 CONCAT('https://你的站点域名/wp-content/uploads/', wppm.meta_value) AS 图片完整访问地址 FROM wp_terms wpt LEFT JOIN wp_term_taxonomy wptt ON wpt.term_id = wptt.term_id 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 wptt.taxonomy = 'product_cat' -- 可按需加排序规则,比如按分类名称排序 ORDER BY wpt.name ASC
关联逻辑说明
你原有的关联逻辑已经接近正确,补充细节如下:
wp_termmeta中meta_key='thumbnail_id'对应的meta_value就是分类缩略图对应附件在wp_posts表中的IDwp_postmeta中post_id等于上述附件ID、且meta_key='wp_attached_file'的记录,meta_value就是该图片相对于WordPress上传目录(默认/wp-content/uploads/)的相对路径- 拼接站点上传目录前缀即可得到可直接访问的完整图片URL
额外优化建议
- 如果需要给没有设置缩略图的分类设置默认图片,可以用
IFNULL(wppm.meta_value, '默认图片的相对路径')替换查询字段中的wppm.meta_value即可 - 若你的数据库表前缀不是默认的
wp_,需要自行替换所有表名前缀为实际使用的前缀
内容的提问来源于stack exchange,提问作者TaoRich
相关产品推荐
相关产品推荐

