如何通过mysql语句批量修改文章分类,更好的管理wordpress文章

第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
喜欢就支持一下吧
点赞14 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容