ワードプレスでリビジョンの自動保存を無効化する方法

WordPressでリビジョンの自動保存を無効化する方法
先生

ワードプレスには、記事の編集履歴を自動で保存してくれるリビジョン管理という機能が標準で動いておる。例えば、誤って編集してしまった内容を戻したい!なんてときに、とてもありがたい機能じゃ。

生徒

うわあ、そんな機能があると安心だねえ。

先生

ただ、サイトの事情によって、このリビジョンを無効化したり保存される履歴を減らしたりしたい、といった要望があがることもたまにある。記事が膨大にあるので、少しでもデータ量を減らしたいといった場合とかじゃな。

生徒

へー、そんなこともあるんだね。

先生

そんなことがあっても良いように、リビジョンの動作を調整する方法を教えておこう。

生徒

はーい。

今回ご紹介する方法は、プラグインを使わずに設定ファイル wp-config.php に変更を加えたり、 テーマのfunctions.php にコードを追加したりして、自分でリビジョン機能を調整する方法です。

注意

設定ファイル wp-config.php の記述を誤ると、ワードプレスがエラーで動作しなくなる場合もあります。作業する前にはファイルのバックアップを取っておき、問題が起きたときは戻せるようにしておきましょう。

リビジョン管理機能を無効化する方法

リビジョン管理の機能を無効化するには、wp-config.php に次のコードを記述します。

define( 'WP_POST_REVISIONS', false );

これによりリビジョン管理による自動保存が行われなくなります。

リビジョン保存件数の最大値を設定する方法

リビジョン管理を無効化してしまうのではなく、自動保存される件数を指定することもできます。(標準だと全てのリビジョンが保存される。)

保存件数の最大値を指定するには、wp-config.php に次のような設定を記述します。

define( 'WP_POST_REVISIONS', 3 );

上の例だと、直近のリビジョン3件までが保存されて、それ以前のものは削除されるようになります。

リビジョンの自動保存間隔を設定する方法

ワードプレス 5.0 から搭載されたブロックエディタでは、標準で10秒おきにリビジョンが自動保存されるようになっています。

この自動保存の間隔を変更したい場合は、テーマの functions.php に次のようなコードを記述します。

add_filter( 'block_editor_settings', function ( $editor_settings ) {
    $editor_settings['autosaveInterval'] = 300;
    return $editor_settings;
} );

設定は秒単位で指定しますので、上の例だと300秒(5分)おきに自動保存される設定になります。

参考URL