今天有个项目,需要将WordPress所有带有“话题A”话题的文章替换成“话题B”话题,那么具体怎么弄呢!给你一个终极解决方案:
此方法需要直接用SQL操作数据库,所以为了防止意外事故发生,操作之前请务必备份好数据库!!
此代码能确保在替换“话题A”话题为“话题B”话题后,文章内不会重复拥有“话题B”话题
在操作之前先找出对应话题的ID,我这里示例:话题A(id:666)话题B(id:888)
1. 先进行更新操作:
将所有带有“话题A”话题的文章更新为“话题B”话题
UPDATE wp_term_relationships SET term_taxonomy_id = 888 WHERE term_taxonomy_id = 666;
2. 删除重复的“话题B”话题:
使用以下SQL查询来去除重复的“话题B”话题,只保留一条
DELETE tr1 FROM wp_term_relationships tr1 JOIN wp_term_relationships tr2 ON tr1.object_id = tr2.object_id AND tr1.term_taxonomy_id = tr2.term_taxonomy_id AND tr1.term_taxonomy_id = 888 AND tr1.term_relationship_id > tr2.term_relationship_id;
使用说明:将上面两段SQL中 666 888 修改成对应的话题ID即可