リビジョン数を制限する方法

[WordPress] リビジョン数を制限する方法

※ 当サイトは広告を含みます。

WordPressには記事のBackup機能でリビジョン管理の仕組みがあります。
いわゆる以前の状態を記録しておき、過去の状態に戻せる機能です。

これ自体は便利でいいと思いますが、何故かリビジョン数に制限がなく無限に保存されます。
そんなに要らんだろって思う人は、コードを追加することでリビジョン数を制限することができます。

管理人
管理人

理論的な話をすると無駄なリビジョンがDBを圧迫するとサイトのパフォーマンスは低下します。

◆ 安全にfunctions.phpをカスタマイズする方法
functions.phpの修正に不安がある人は以下を参考にしてください。

コードを追加する

functions.phpとかに以下のコードを追加します。returnで返す数字がリビジョン数の最大数になります。
つまり、2と書けばリビジョンは2個まで作成されます。よって3個目のリビジョンが生成されると古いのが消えます。


// リビジョン数を制限
add_filter('wp_revisions_to_keep', function ($content) {
  return 2;
});

既に作成されたリビジョンの整理

記事を更新すると新しく設定したリビジョン数に合わせて、古い履歴は全て消えます。
仮に設定値を2個に制限した後、リビジョン数が10個の記事を更新すると古い履歴は勝手に消えます。

なお、各記事の更新が手間で一括で消した場合はプラグイン等を利用する必要があります。
めんどいので解説しませんがWP-Sweepを使えば一括で不要リビジョンの削除が可能です。

管理人
管理人

WP-Sweepは未使用時にプラグインを無効化しておけば、常用のサイトパフォーマンスには影響しません。

自動保存の無効化 (おまけ)

そもそもリビジョンの自動保存が鬱陶しい場合、以下のコードを追加すると自動保存が無効化されます。
ただ、完全に無効化されてないのか、稀に記事編集時に以前のバージョンがありますって表示されることがあります。


// 自動保存の無効化
add_action('wp_print_scripts', function () {
  wp_deregister_script('autosave');
});

あとがき

リビジョン数の制限はwp-config.phpに記述して制限する方法もあります。
僕はテーマファイルに書くほうが楽だったのでテーマ側にコードを追加してます。

この記事は参考になりましたか?

関連記事

コメント

この記事へのコメントはありません。