第1部分:应用场景
之前华仔的网站“羽化飞翔”的分类存在一点异常,大部分文章都已经归类在“互联网资源”和“PC软件工具”内,
但是现在有想把“PC软件工具”归到“互联网资源”分类之下,然后把文章仅归类到“PC软件工具”内,
通过后台管理这个方法可以通过我的另一篇文章《wordpress中如何批量修改文章分类,通过wordpress后台管理进行》所述的步骤处理,但是由于我的主题diy了一些功能,
因此无法通过后台管理进行批量编辑,因此我只能另辟蹊径,通过mysql语句进行更新,下面我就跟大家说说。
第2部分:解决方案
搜索了一下相关问题,发现关于文章与(分类或标签)关系的数据表为wp_term_relationships这个表,而(分类或标签)定义表为wp_terms,
(分类或标签)基本信息的表为wp_term_taxonomy,万事俱备,接下来就是实操了。
这里做个基本的假设,我们需要修改分类的文章id为101,“互联网资源”的分类id为1,“PC软件工具”的分类id为2。
比如我们要将文章的分类由“互联网资源”改为“PC软件工具”,
那么mysql语句为:
update wp_term_relationships set term_taxonomy_id=2 where object_id=101 and term_taxonomy_id=1
比如我们要将文章的分类直接删除,
那么mysql语句为:
delete wp_term_relationships where object_id=101 and term_taxonomy_id=1
然而我的情况显得更为发杂些,
我所用的语句为:
select * from wp_term_relationships where object_id in (
select object_id from (
select count(1) as 数量,object_id
from wp_term_relationships where (term_taxonomy_id=3 or term_taxonomy_id=49)
group by object_id
) as a where 数量 =2
) and term_taxonomy_id=3 ;
第3部分:总结
以上,就是我这次努力折腾的结果!
© 版权声明
THE END
暂无评论内容