wordpress批量修改文章状态的方法

2021-08-24 14:51:00 浏览数 (1)

起因

手上有一个采集站点, 剩余3万的草稿, 原计划手动每日发布几十篇文章, 后来实在有些反人类, 干脆一次性全发布

如果使用wordpress自带的批量操作, 文章太多容易卡顿超时, 还是直接操作数据库来的快, 但是修改数据库存在一定风险, 因此建议提前做好备份

开始

  1. 第一步 备份数据库
代码语言:javascript复制
mysqldump -uroot -p 数据库名 >数据库地址和名称

比如:

代码语言:javascript复制
mysqldump -uroot -p wordpress>/logs/wordpress_bak.mql

回车后提示输入密码, 输入后即可备份

  1. 第二步 操作wordpress数据库

进入mysql内部

代码语言:javascript复制
mysql -uroot -p 密码

查看所有数据库

代码语言:javascript复制
show datebase;

选择指定数据库

代码语言:javascript复制
use wordpress;

查看wordpress

代码语言:javascript复制
show tables;

查看wp-posts表字段

代码语言:javascript复制
desc wp-posts;

最后修改wp-posts表中的post_status字段(关键)

代码语言:javascript复制
UPDATE `wp_posts` SET `post_status` ='publish' WHERE (`post_status`='draft');

这里我是将所有的草稿改成已发布

wordpress中的文章状态有以下几种:

  • pending:待审
  • draft:草稿
  • auto-draft:自动保存的草稿
  • inherit:修订版本
  • trash:回收站
  • publish:已发布
  • future:定时
  • private:私有

如果你有其他需求, 比如想将所有待审的文章全部改成草稿, 那么只需修改相应的关键字就行,如:

代码语言:javascript复制
UPDATE `wp_posts` SET `post_status` ='draft' WHERE (`post_status`='pending');

或者 你只想修改某一时间段内的文章, 那么可以加上时间条件,如:

代码语言:javascript复制
UPDATE `wp_posts` SET `post_status` ='draft' WHERE `post_status`='pending' and `post_date` >='2020-05-01 00:00:00' and `post_date` < '2021-03-22 22:00:00:00';

0 人点赞