前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >如何使用SQL命令批量移动WordPress文章?

如何使用SQL命令批量移动WordPress文章?

原创
作者头像
半夜喝可乐
发布2023-05-28 14:22:36
4220
发布2023-05-28 14:22:36
举报
文章被收录于专栏:小轻论坛小轻论坛

在WordPress中我们经常遇到一个问题就是,我们在批量移动统一分类下的文章时,文章并不会显示原有分类,导致移动分类后,原分类无法取消,这样被移动的文章就包含两个分类,显然不是我们想要的结果。

如果我们是想将某一分类下的所有文章都移动到其他分类,相信WordPress插件中心的Bulk Move插件可以帮你。

因为它几乎能帮你精准完成大部分的转移工作,包括转移后删除原标签、原分类,是不是很方便呢?

但是我们今天需要讲的是,如何通过文章标题来转移文章到新分类。

比如我要将标题中包含“在这里每天60秒读懂世界”的文章批量移动到“每天60秒读懂世界”分类下面,这里我们使用Bulk Move当然是无法完成的,事实上使用sql代码即可完成任务:

(请注意,执行 SQL 语句前请备份数据库,以免操作不当导致数据丢失。)

代码语言:javascript
复制
UPDATE wp_term_relationships
SET term_taxonomy_id = (SELECT term_id FROM wp_terms WHERE name = '每天60秒读懂世界')
WHERE object_id IN (
SELECT ID FROM wp_posts WHERE post_title LIKE '%在这里每天60秒读懂世界%'
)

这个 SQL 语句会将标题中包含“在这里每天60秒读懂世界”的文章移动到“每天60秒读懂世界”分类下面。其中,wp_term_relationships 表存储了文章和分类之间的关系,wp_terms 表存储了分类的信息,wp_posts 表存储了文章的信息。

转移完成后,会发现文章分类处的数据并没有被更新,但是文章已经转移到新的分类了,这里是因为 WordPress 中的文章计数缓存有问题,我们需要使用sql进行手动更新分类文章的数据统计工作:

(请注意,执行 SQL 语句前请备份数据库,以免操作不当导致数据丢失。)

代码语言:javascript
复制
UPDATE wp_term_taxonomy SET count = (
SELECT COUNT(*) FROM wp_term_relationships WHERE term_taxonomy_id = wp_term_taxonomy.term_taxonomy_id
);

执行后会重新计算每个分类下的文章数量,并更新到数据库中。

接下来我们的任务就完成了,是不是很简单呢?

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档