WP文章的批量发布编辑

这几天在研究 WordPress 的批量发布文章,批量修改文章内容等批量操作,看到 ludou 大佬直接通过操作网站数据库的方法,简单暴力,很有借鉴意义。
需求场景举例:
1、心情不好的时候总想批量改所有文章的几个关键字,或批量处理评论信息等;
2、网站更换域名,更换图片服务器等需要批量修改链接;
3、总之随着时间的积累文章数量的积累去后台一篇一篇修改文章会变得越来越繁琐..

因为没有实际的案例操作,一直觉得操作SQL好神秘好难懂,但是看了Ludou 大佬的文章发现我这小白也是可以做简单的操作的,下面将分条介绍几个SQL语句的功能,所有语句都使用默认的 wp_ 表前缀,如果你的不是,需要自行理解更改。

《WP文章的批量发布编辑》
开始之前,先简单介绍如何执行SQL语句,进行批量操作。现在一般的空间都是用phpmyadmin来管理数据库,这里将以phpmyadmin为例来介绍如何执行SQL语句:

  • 进入你的phpmyadmin管理页面,然后进入你的博客对应的数据库
  • 菜单栏有个 SQL 选项,点击进去
  • 出现一个SQL语句的输入框,现在你就可以在里面输入SQL语句了
  • 输入完毕,点击 执行 ,将执行你刚才输入的SQL语句
  • SQL语句执行结束,文章也就被批量修改了,这时可以打开网站验证下
  • 重要的事情再提个醒:操作数据库之前一定要先备份一下数据库,否则出现意外后悔了就等着哭吧

1、如果你想替换之前写过的所有文章中的某些内容,如更换博客的名称,更换博客的网址,更换文章配图的链接等等,你可以使用以下SQL语句:

UPDATE wp_posts 
SET post_content = replace( post_content, '黑鸟君', '黑鸟站长' );

2、删除某个人的所有评论:
(1)根据留言者的博客URL进行删除,以下SQL语句将删除所有URL为 www.123.com 的评论

DELETE from wp_comments 
WHERE comment_author_url LIKE '%www.123.com%';

(2)根据留言者的昵称进行删除,以下语句将删除所有昵称为 123 的评论

DELETE from wp_comments 
WHERE comment_author = '123';

(2)根据留言者的Email进行删除,以下语句将删除所有Email为 123@123.com 的评论

DELETE from wp_comments 
WHERE comment_author_email = '123@123.com';

3、替换所有评论中的敏感词汇:
很多敏感词汇是不适合大量出现在文章中的,否则轻则域名被墙,重则被有关部门请喝茶。确实必要的话的我们需要替换相关的敏感词汇,以保证安全,以下SQL语句将所有评论中的 SSR,替换成 酸酸乳,替换内容根据你的需要来。

UPDATE wp_comments 
SET comment_content = replace( comment_content, 'SSR', '酸酸乳' );

其实我们也可以直接导出SQL文件,使用本地的文本编辑器打开,进行以上修改,这样操作就友好多了,再上传替换修改后的数据库即可。

当然站长自己主要是通过官方的 xmlrpc API 编写了一个小工具来批量操作的,已经可以完成文章的批发布,更加复杂的文章批量修改等操作,我希望在完善这个工具后可以对外提供批量操作的付费服务,不知道会不会有人买单..

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注