WordPressは投稿の更新などを管理してくれる、リビジョンの機能がある。
この機能は、間違って投稿を保存してしまった時に過去の保存状態に戻せる機能だが、リビジョンごとにDBに保存してしまっているようでDBに不要なデータがどんどん溜まっていってしまう。
編集中は必要になる場合があるが、編集が完了し公開してもう編集することや元に戻す必要がなければ、保存された過去リビジョンのデータも不要となる。
リビジョンの機能自体は便利だが、DBにほぼ不要と思われるデータが溜まっていくのは嫌だったので、プラグインを入れてリビジョンのコントロールをしてみる。
プラグインをインストールしたくなく、phpのファイルを編集できるときは、一番下の方法でリビジョン保存の設定ができるので、そちらを参照してください。
まず、インストールするプラグインはRevision Controlというプラグイン。
管理画面のプラグイン新規追加で”Revision Control”と検索すると出てくるのでそれをインストールする。
ただし、現状ではもうサポートや更新が終了いている。
インストール後、インストール済プラグインのところで、インストールしたRevision Controlを有効化する。
有効化すると、管理画面左の設定にリビジョンというものが追加される。
すでに作られてしまった不要なリビジョンを削除しない場合は、次の説明は飛ばして、リビジョンの設定まで読み飛ばして構いません。
不要なリビジョンを削除するには、まずは投稿一覧から不要リビジョンを削除したい投稿をクリックして編集画面に行く。
この表示オプションをクリックすると、オプション選択が開く、そこにリビジョンという項目があるので、Post Revisionsという項目をチェックする。
すると、ページ下部に保存されているリビジョンの一覧が表示されるので、そこから不要なリビジョンを選択し、削除ボタンを押して削除する。
投稿数が少ないのであれば、この方法で全部の投稿を確認して、不要なリビジョンを削除していけばいい
また、すでに多数の投稿があり、ひとつひとつの投稿をチェックなんてしれられん、って人にはDelete-Revisionというプラグインもあるのでためしてみるのもいいと思う。
不要なリビジョンが削除できたら、次にリビジョン管理の設定を行う。
不要リビジョンを削除したいのに、先にこちらの設定をしてしまうと、編集画面のリビジョン一覧に古いリビジョンが出て来なかったので、注意が必要だ。
管理画面左メニューの設定にリビジョンとあるので、それを選択するとリビジョンプラグインの管理画面にいける。
この画面で、リビジョンを保存しない設定や、数世代だけリビジョンを保存するなどの設定ができるので、好みに応じて設定を行うといい。
最後に、リビジョン保存の設定をプラグインをインストールせずに行うにはwp-settings.phpの
define( 'WP_POST_REVISIONS', 3);
を変更すれば、リビジョンの保存数を変更できる。上の例は3世代保存する場合。
すべてのリビジョンを保存するには-1を指定する。
falseか0を指定するとオートセーブ以外のリビジョンは保存されなくなる。
1以上を設定すると、その指定された世代数だけリビジョンが保存され、古いリビジョンは自動的に削除される。
参考
Revision Management