我有一个自定义的帖子“评论”。它使用默认帖子中相同的类别和标记,因此它们共享“类别”和“标记”分类法。
但后来我更改了“review”注册,以拥有自己的分类法、“review category”和“review tag”。当然,之前在评论中分配的所有标签和类别都与它们解除了绑定。
所以问题是:我如何(如果可能的话)将评论中的所有标签和类别转换为新的分类法?如果我不够清楚:
UPDATE wp_term_taxonomy SET taxonomy=\'post-tag\', parent=0 WHERE taxonomy=\'tag\';
这可以将所有“类别”转换为“贴子标签”,但我只需要为评论做这件事。比如(它不起作用):
SELECT FROM wp_posts WHERE post_type=\'review\'(
UPDATE wp_term_taxonomy SET taxonomy=\'post-tag\', parent=0 WHERE taxonomy=\'tag\';
)
最合适的回答,由SO网友:Dharmang 整理而成
您需要联接四个表才能获得自定义帖子类型“review”的类别
通过使用以下查询,您可以获取应用于自定义帖子类型的类别列表:
SELECT *
FROM wp_term_relationships AS tr
LEFT JOIN wp_posts AS p ON tr.object_id = p.ID
LEFT JOIN wp_term_taxonomy AS tt ON tt.term_taxonomy_id = tr.term_taxonomy_id
LEFT JOIN wp_terms AS t ON t.term_id = tt.term_id
WHERE p.post_type = \'review\' AND tt.taxonomy = \'category\';
然后将这些类别的类型更新为新的自定义类别(即“审阅类别”)
UPDATE wp_term_taxonomy SET taxonomy = \'review-category\' WHERE term_taxonomy_id IN (1, 71, 72);
根据类别ID更改where子句。
有关更多信息,请访问以下WordPress文档链接:
Database_Description
WordPress_Taxonomy