WordPress 2.6から、投稿記事の履歴が無限に保存されるようになりました。この機能は、何度も書き換えた後に記事を元に戻したいとき、大いに役に立ちます。特に、複数人でWikiのように編集する使い方では、変更箇所を人目で把握できるため重宝します。
しかし、日記やコラムを書く用途に、一人で運用している場合はどうでしょうか?過去の変更箇所など、全く参照しない人が多いような気がします。そういう方には、このリビジョン管理は無用の長物。データベースを圧迫するだけの厄介物です。そこで、この機能を思い切って停止させてしまいましょう。
方法はシンプル。wp-config.phpに以下の定義を追加してください。1代限りのオートセーブ以外は停止します。追加場所はwp-settings.phpを読み込む前にしましょう。wp-settings.phpではWP_POST_REVISIONS未定義の場合、リビジョン管理を有効にしようとするからです。
define ('WP_POST_REVISIONS', false);
この定義は上記以外にもオプションがあります。必要に応じて使い分けてください。
Revision Management (codex.wordpress.org)
WP_POST_REVISIONS:
- true (default), -1: 全リビジョンを保存
- false, 0: リビジョン保存停止 (1代限りのオートセーブは除外)
- (int) > 0: int数分のリビジョンを保存(+オートセーブ1代)。古い履歴は自動削除。
他の方法としては、wp-content\pluginsフォルダに次のような内容のプラグインをインストールすればOKです。ただし、公式アナウンスではないため非推奨です。
<?php /* Plugin Name: no Revision Management Plugin URI: https://wolfish.org/blog/p2008071701/ Description: Remove 'wp_save_post_revision' action. Author: MadHyde Author URI: http://wolfish.org/ */ remove_action( 'pre_post_update', 'wp_save_post_revision' ); ?>
WordPressは使いやすく機能追加も活発な反面、新機能のON/OFFを制御できる管理画面が未整備なのが残念ですね。
2008.07.27追記 - 最大履歴数も指定できるプラグインが登場しました。 Revision Control (WordPress.org)