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」を利用した方が良いかもしれない。
以上、参考になれば幸いです。
※Webデザインは実務数年、職業訓練校講師数年、フリーランス数年、計15年以上のキャリアがありますが、一気にがぁっと書いているので「です・ます調」ではありません。(元々はメモ書きでした。) ※事実や経験、調査や検証を基にしていますが、万一なにかしら不備・不足などがありましたらすみません。お知らせいただければ訂正いたします。 ※写真は主にUnsplashやPixabayのフリー素材を利用させていただいております。その他の写真や動画もフリー素材やパブリックドメイン、もしくは自前のものを使用しております。
WordPress 関連メモ。
- Simple Image XML Sitemapの使い方の例。画像サイトマップをGoogleへ。
- WordPressのリビジョン。正しく表示されないときの復元の例。
- PerplexityとWordPressの名前と意味合い。著作権と知的財産。
- WordPressのセキュリティ対策。脆弱性の疑問と強化設定。
- WordPressのテーマ。有料と無料の違いと、ウェブサイトの例。
- Googleアナリティクスでの自分のアクセスを除外。【WordPress】
- WordPressの不要なメディアファイルを削除する方法。Media Cleaner。
- WordPress 画像のキャプション表示を削除したい場合。
- WordPressのログインパスワードを変更する方法。セキュリティ対策にも。
- WordPressのトップページがindex.phpでもfront-page.phpでもhome.phpでも問題はない。
- reCAPTCHAの導入例と、バッジ(マーク)をCSSで非表示に。
- WordPressから届く「モデレートしてください」を止めたい。
- WordPress投稿の目次が消えたら!Table of Contents Plusの表示方法。
- 「データベース接続確立エラー」の対処。wp-configに問題がないとき。
- WordPressの投稿IDを確認したい時は、ここを見るのが簡単。
- WordPressのセキュリティをオンラインチェック、「Sucuri」。
- WordPress pタグを投稿記事から削除する1行のコード。
- アイキャッチ画像(WordPressのサムネイル画像)がない場合、いらない場合は、これで解決。
- さくらインターネットのコンテンツブーストの設定方法。(数ステップで。)
- さくらのサーバーからさくらのサーバーへの引越しで、「DNSゾーンが既に登録されています」のエラーが出たとき。
- WordPressで動画が再生されない!ときの対処。
- WordPressの投稿とカスタム投稿を振り分けたい時はこれで解決。(条件分岐できない時の対処方法。)
- 辿ったリンクは期限が切れています!? WordPressテーマのアップロードエラー対処。
- PHPの配列の括弧の違いは?WordPressでよく見るarray()と[]。
- Contact Form 7に確認画面がない!の対処方法。CSSか固定ページで。
- WordPressの引越しは、ささっとAll-in-One WP Migrationで。
- WordPressの検索ハイライト表示の仕方。(functions.phpに追加するだけ。)
- 引越しなどで、WordPressのメディアが消えた場合の、Moving Media Library。