WordPressの自動保存を停止。投稿画面のオートセーブ無効化。2024年版。 / いがわ

.

Memo

WordPress投稿画面のオートセーブを無効化する方法。

WordPress投稿画面の自動保存機能とは?

自動保存、オートセーブの普及。

自動保存、オートセーブ機能は便利な反面…

近年ますます普及している、自動保存、オートセーブ機能。

デザインツールでは重宝しているオートセーブ。ただし、WordPressの投稿記事ではちょっと煩わしく感じることがないだろうか?

また、リビジョン数が増えてしまうので、データ量が肥大する要因にもなる。

そのため、投稿記事の自動化を無効にするプラグインや、リビジョン数を制限プラグインなどもある。

投稿記事の自動保存を無効にしたい。

wp_print_scriptsが機能しなくなっているらしい。

ブロックエディタの台頭。

機能しなくなっている原因として、「wp_print_scripts」を使ったアクションフックが、ブロックエディター(Gutenberg)の導入などがある。

クラシックエディタの需要。

従来のエディタ(クラシックエディタ)に慣れている場合は、ブロックエディタは使いにくい。クラシックエディタにするプラグインも人気がある。

それでもこれも時代の流れであり、仕方ないのかもしれない。

functions.phpでの、投稿画面オートセーブ無効化。

wp_print_scriptsを使った自動保存の無効化の例。

以前はfunctions.phpに、下記のコードを記述していれば自動保存を無効化できていた。

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

wp_deregister_scriptによる無効化は、WordPressのバージョンが5か5.5以降から推奨されなくなっている模様。

現在のWordPressのバージョン(6.6.1)ではおそらく機能しない


WordPress投稿画面の自動保存の無効化の代替コード。

自動保存の無効化するのではなく、頻度を抑える。

autosave_intervalを利用した、オートセーブの頻度の調整。

自動保存の頻度を「20分」に指定する。頻度の時間を変えたい場合は、「return 1200」の数値を変えると良い。

PHP
// Reduce the frequency of autosave / 自動保存の頻度を下げる //////////////////////////
function change_autosave_interval( $seconds ) {
    return 1200; // 20分ごとに自動保存
}
add_filter( 'autosave_interval', 'change_autosave_interval' );

Heartbeat APIを使用して、自動保存の頻度を抑える。

Heartbeat APIを利用した、オートセーブの頻度の調整。

自動保存の頻度を「20分」に指定する。頻度の時間を変えたい場合は、「$settings[‘interval’] = 20 * 60;」の数値を変えると良い。

PHP
// Reduce the frequency of autosave / 自動保存の頻度を下げる //////////////////////////
function adjust_heartbeat_autosave( $settings ) {
    $settings['interval'] = 20 * 60; // 20分ごとに自動保存
    return $settings;
}
add_filter( 'heartbeat_settings', 'adjust_heartbeat_autosave' );
Heartbeat APIを利用する場合の利点。

Heartbeat APIを利用する場合は、以下のことが利点となり得る。

  • サーバーリソースの最適化。
  • ページの読み込み速度が向上。
  • 上記の利点による、SEO対策。

他のコードやプラグインなどとの兼ね合いで、「autosave_interval」を利用するか、それとも「Heartbeat API」を利用するかになると思われる。

もし他との干渉などがなければ、「Heartbeat API」を利用した方が良いかもしれない。

WordPress投稿画面の自動保存(オートセーブ)を無効化したい猫ちゃん。
以上、参考になれば幸いです。


Webデザインは実務数年、職業訓練校講師数年、フリーランス数年、計15年以上のキャリアがありますが、一気にがぁっと書いているので「です・ます調」ではありません。(元々はメモ書きでした。) 事実や経験、調査や検証を基にしていますが、万一なにかしら不備・不足などがありましたらすみません。お知らせいただければ訂正いたします。 写真は主にUnsplashPixabayのフリー素材を利用させていただいております。その他の写真や動画もフリー素材やパブリックドメイン、もしくは自前のものを使用しております。

井川 宜久 / Norihisa Igawa
デザイナー、ディレクター、講師、コーチ / 井川宜久

WordPress 関連メモ。


免責事項について

  • 記事ページ(Memosのページ)は当初は文字通りメモ書きでした。その後、修正や更新をしております。
  • 事実や経験、調査や検証を基にしていますが、万一なにかしら不備・不足などがありましたらすみません。お知らせいただければ早急に対応いたします。
  • 一個人のポートフォリオサイトですので、万一損害・トラブル等が発生した場合でも、一切の責任を負いかねます。