WordPress の自動更新を止める:更新のお知らせは消さずに、手で安全に更新する設定

広告WordPress・PHP を学べる本

Amazonのアソシエイトとして、WordPress functions.phpは適格販売により収入を得ています。

概要説明

カスタマイズしたサイトで、自動更新のあとに表示が崩れるのを防ぐために、WordPress 本体・プラグイン・テーマの自動更新を止める設定。更新のお知らせまで消す前のやり方の危なさ、wp-config.php と functions.php の書き方、作業環境で確かめた結果つき。

カスタマイズしたサイトでは、WordPress やプラグインが知らないうちに自動で更新されて、表示が崩れることがあります。それを防ぐために、自動更新を止めます。

いちばん簡単なのは、wp-config.php に 1 行書く方法です。

wp-config.php(「編集が必要なのはここまでです」の行より上)
// WordPress 本体・プラグイン・テーマ・翻訳の自動更新を、すべて止める
define( 'AUTOMATIC_UPDATER_DISABLED', true );

種類ごとに決めたいときは、functions.php に書きます。

functions.php
/**
 * 自動更新を止める(更新のお知らせは残すので、管理画面の「更新」で手で更新できる)
 */
add_filter( 'auto_update_core', '__return_false' );
add_filter( 'auto_update_plugin', '__return_false' );
add_filter( 'auto_update_theme', '__return_false' );
add_filter( 'auto_update_translation', '__return_false' );
書き方 止まるもの
AUTOMATIC_UPDATER_DISABLED 本体・プラグイン・テーマ・翻訳の自動更新をまとめて止める
auto_update_core WordPress 本体の自動更新
auto_update_plugin・auto_update_theme プラグイン・テーマの自動更新
auto_update_translation 翻訳ファイルの自動更新

どちらの書き方でも、「新しいバージョンがあります」のお知らせは残ります。管理画面の「ダッシュボード → 更新」から、自分の都合のよいときに手で更新できます。

前はこの記事で、更新の情報そのものを消す書き方を紹介していました。これだと新しいバージョンが出ても管理画面に何も出ず、セキュリティの更新に気づけません。今は、自動更新だけを止める書き方にしています。

前のやり方(おすすめしない)
// 前のやり方(おすすめしない):更新のお知らせまで消してしまう
add_filter( 'pre_site_transient_update_core', '__return_zero' );
add_filter( 'pre_site_transient_update_plugins', '__return_null' );
add_filter( 'pre_site_transient_update_themes', '__return_null' );

セキュリティの小さな更新だけは自動にする

本体の小さな更新(7.1.2 → 7.1.3 など)は、セキュリティの直しが中心で、表示が崩れることはあまりありません。これだけ自動にしたいときは、AUTOMATIC_UPDATER_DISABLED は書かずに、次の 1 行と、上の functions.php のうちプラグイン・テーマ・翻訳の 3 行を使います。

wp-config.php
// セキュリティの小さな更新(7.1.2 → 7.1.3 など)だけは、本体を自動で更新する
define( 'WP_AUTO_UPDATE_CORE', 'minor' );

確かめた結果

このサイトの作業環境(WordPress 7.1)で、前のやり方と今のやり方を比べました。

試したこと 結果
前のやり方(更新の情報を消す) プラグインの更新の情報が読めなくなった(更新があっても管理画面に出ない)
自動更新を止める設定(automatic_updater_disabled) 自動更新は止まり、更新の情報は残った

止めたら、手で更新する

自動更新を止めたら、そのぶん手で更新することになります。

  1. 管理画面の「ダッシュボード → 更新」を、週に 1 回くらい見る
  2. 更新があれば、まず作業環境(本番の複製)で更新して、表示や動きを確かめる
  3. 問題がなければ、本番のバックアップを取ってから、本番を更新する

手間は増えますが、更新のあとに表示が崩れて気づかない、ということを防げます。

プラグインで止める(Easy Updates Manager)

コードを書かずに、画面で決めたいときは、プラグイン「Easy Updates Manager」が使えます。本体・プラグイン・テーマの自動更新を、画面で切り替えられます。

Easy Updates Manager – WordPress プラグイン

Easy Updates Manager は、自動更新の設定をとても遅い順番で上書きします。作業環境で試したところ、functions.php にふつうの順番で書いた automatic_updater_disabled より、プラグインの設定が勝ちました。プラグインを使うときは、プラグインの画面で決めてください。

WordPress の自動更新を止める:更新のお知らせは消さずに、手で安全に更新する設定

参考(WordPress の公式の説明)

関連機能

  1. WordPress 特定の固定ページだけreCAPTCHAを有効にする ( Contact Form 7使用 )

  2. TCD テーマのページビルダーの中身が消えたときの原因と戻し方(リビジョンから page_builder をコピーする)

  3. WordPressで長い記事を書いていたら更新データが保存されなくなった時の対応 ( エックスサーバー )

サイドバー

よく使うカスタマイズ

最近の記事

  1. Fstyle Final Output Replacer のルールの一覧(generator タグを消す 2 つのルール)

Profile

PAGE TOP