起因
手上有一个采集站点, 剩余3万的草稿, 原计划手动每日发布几十篇文章, 后来实在有些反人类, 干脆一次性全发布
如果使用wordpress自带的批量操作, 文章太多容易卡顿超时, 还是直接操作数据库来的快, 但是修改数据库存在一定风险, 因此建议提前做好备份
开始
- 第一步 备份数据库
mysqldump -uroot -p 数据库名 >数据库地址和名称
比如:
代码语言:javascript复制mysqldump -uroot -p wordpress>/logs/wordpress_bak.mql
回车后提示输入密码, 输入后即可备份
- 第二步 操作wordpress数据库
进入mysql内部
代码语言:javascript复制mysql -uroot -p 密码
查看所有数据库
代码语言:javascript复制show datebase;
选择指定数据库
代码语言:javascript复制use wordpress;
查看wordpress
表
show tables;
查看wp-posts
表字段
desc wp-posts;
最后修改wp-posts
表中的post_status
字段(关键)
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';