MySQLでWordPressのリビジョンをまとめて削除する方法と、リビジョン数の上限を設定する方法

リビジョン消すプラグインはいろいろありますが、件数が溜まり過ぎているサイトとかだとPHPが処理落ちしてしまうこともまれによくあります。
そういう時はMySQLで直接消しちゃえばいいと思います。

MySQLでリビジョン操作

リビジョンの件数を確認する

mysql> select post_type,count(*) from wp_posts where post_type = 'revision' group by post_type;
+-----------+----------+
| post_type | count(*) |
+-----------+----------+
| revision  |       88 |
+-----------+----------+
1 row in set (0.00 sec)

リビジョンを全部消す

mysql> delete from wp_posts where post_type = 'revision';
Query OK, 88 rows affected (0.01 sec)

リビジョンが消えているかを確認する

mysql> select post_type,count(*) from wp_posts where post_type = 'revision' group by post_type;
Empty set (0.00 sec)

リビジョン数の上限を設定する

余談ですが、wp-config.phpに以下のコードを追記しておくと、1記事あたりのリビジョンが6件以上保存されなくなります。
MySQLで消さないといけなくなった場合は、削除した後にこれを設定しておくと次困らないかもです。

define( 'WP_POST_REVISIONS', 5 );

Follow me!