Amazonで商品を見る セール会場へ

WordPress│本体やテーマの自動更新と通知メールを停止する方法

wordpress-auto-update-theme-stop

本記事ではWordPressの更新と通知メールを停止できるカスタマイズを紹介いたします。

自動更新を止める場合は、手動で更新・バックアップ・動作確認を行う担当とタイミングを決めてください。通知メールだけを減らしたい場合は、更新そのものを停止する必要はありません。

目次

著者

WEB制作をしているデジタルノマド
WordPressのカスタマイズが好きで、色々と自作しています。

WordPressのカスタマイズに困ったらご相談ください!

WordPressの本体やテーマの自動アップデートを停止する方法

WordPressのテーマのアップデートを停止する方法は簡単です。

必要なコードだけを、有効な子テーマのfunctions.phpまたはCode Snippetsのどちらか一方へ追加します。変更前にバックアップし、親テーマを直接編集しないでください。

このページのコードは自動更新の可否や通知を変更します。管理画面からの手動更新を禁止するコードではありません。

WordPressのメジャーアップデートの自動更新を停止するコード

WordPressのメジャーアップデートを停止するコードです。

メジャーアップデートとは、例えば5.9.3から6.0.0にアップグレードする時が該当します。

add_filter( 'allow_major_auto_core_updates', '__return_false' );

WordPressのマイナーアップデートの自動更新を停止するコード

WordPressのマイナーアップデートを停止するコードです。

マイナーアップデートとは、例えば6.8.1から6.8.2にアップグレードする時が該当します。

add_filter( 'allow_minor_auto_core_updates', '__return_false' );

WordPressのテーマの自動更新を停止するコード

WordPressのテーマの自動更新を停止するコードです。

SWELLなどのテーマの自動更新を停止したい場合に有効です。

add_filter('auto_update_theme', '__return_false' );

WordPressの本体・テーマ・プラグインの自動更新通知メールを停止する方法

おまけです。

以下は自動更新後の通知メールを制御します。更新の実行可否とは別です。成功通知だけを減らす例と、通知を一律に停止する例を区別してください。この節は通知メールだけを扱います。プラグインの自動更新そのものを止める例は掲載していません。

WordPressの自動更新の通知メールを停止するコード

WordPress本体の自動更新通知を一律に停止するコードです。失敗・重大エラーの通知も対象になるため、成功通知だけを減らす場合は次の例を使ってください。

add_filter( 'auto_core_update_send_email', '__return_false' );

本体の更新成功メールだけを停止する場合

上のauto_core_update_send_emailを一律falseにする行と併用せず、こちらへ置き換えます。successだけをfalseにし、failとcriticalでは受け取った値を維持します。他のコードが通知を停止している場合に、強制的に送信へ戻すものではありません。

add_filter( 'auto_core_update_send_email', function ( $send, $type ) {
    return 'success' === $type ? false : $send;
}, 10, 2 );

テーマの自動更新の通知メールを停止するコード

テーマの自動更新の通知メールを停止するコードです。

add_filter( 'auto_theme_update_send_email', '__return_false' );

プラグインの自動更新の通知メールを停止するコード

プラグインの自動更新の通知メールを停止するコードです。

add_filter( 'auto_plugin_update_send_email', '__return_false' );

まとめ

本記事ではWordPressのテーマの自動更新と通知メールを停止する方法を紹介いたしました。

上の例は選択肢です。一括で全部貼り付けず、停止したい対象のコードだけを選びます。テーマのauto_update_themeは特定のテーマ名だけでなく、テーマの自動更新全体に作用します。

冒頭に記載いたしましたが、自動更新を止める場合は、手動で更新・バックアップ・動作確認を行う担当とタイミングを決めてください。通知メールだけを減らしたい場合は、更新そのものを停止する必要はありません。

是非試してみてください。

この記事で紹介しているコードは、GitHubのMOTOKI-LLC/WAZA-codeにもまとめています。

元に戻す方法と確認範囲

追加したフィルターを削除するか、該当スニペットを無効化します。その後、管理画面の自動更新設定も確認してください。サーバー側の更新機能やほかのプラグインの設定は、このコードだけでは変更されません。マイナー更新には不具合・セキュリティ修正も含まれるため、停止中は手動更新を放置しない運用が必要です。

WordPress 7.1.2の隔離環境で、更新候補・結果を模擬し、実際のCore_Upgraderの更新可否判定とWP_Automatic_Updaterの通知処理を確認しました。

成功通知だけを止める例では成功時にwp_mailへ進まず、失敗・重大な失敗ではwp_mailへ進みます。

送信直前で捕捉しているため、実際の更新処理と外部メール配信は実行していません。

更新通知のどこまでが停止対象になるか

スクロールできます
設定確認した通知処理停止しないもの
本体の自動更新メールをfalseにするsuccess・fail・criticalはいずれもwp_mailへ進まない手動更新を促すmanual通知
成功通知だけを停止するsuccessのみ停止し、fail・criticalはwp_mailへ進む失敗通知とmanual通知
テーマ・プラグインの自動更新メールを停止する模擬した更新成功結果の通知はwp_mailへ進まない他のプラグイン独自のメールやサーバーからの通知

本体の通知処理には、更新を試みず手動更新を促すmanualという分岐もあります。

この分岐はauto_core_update_send_emailを通らないため、本体の自動更新メールを止めるフィルターだけで、すべての更新関連メールを止められるとは限りません。

成功通知だけを減らしたい場合は、全通知をfalseにする例と同時に登録せず、成功時だけfalseを返す例を選びます。

失敗時の通知が不要な成功通知と一緒に止まっていないか、採用するコードを確認してください。

よくある質問:WordPressの本体やテーマの自動更新と通知メールを停止するとき

自動更新を止める前に、何を決めておきますか?

記事では、自動更新を止める場合は、手動で更新・バックアップ・動作確認を行う担当とタイミングを決めます。通知メールだけを減らしたい場合は、更新そのものを停止する必要はありません。

コードは、どこに追加しますか?

記事では、必要なコードだけを、有効な子テーマのfunctions.phpまたはCode Snippetsのどちらか一方へ追加します。変更前にバックアップし、親テーマを直接編集しません。

管理画面からの手動更新も、できなくなりますか?

なりません。記事では、このページのコードは自動更新の可否や通知を変更するもので、管理画面からの手動更新を禁止するコードではありません。

メジャーアップデートとマイナーアップデートは、何が違いますか?

記事では、メジャーアップデートは、例えば5.9.3から6.0.0にアップグレードする時、マイナーアップデートは、例えば6.8.1から6.8.2にアップグレードする時が該当します。それぞれ停止するコードが別にあります。

全部のコードを貼り付けてもよいですか?

貼り付けないでください。記事では、上の例は選択肢です。一括で全部貼り付けず、停止したい対象のコードだけを選びます。テーマのauto_update_themeは、特定のテーマ名だけでなく、テーマの自動更新全体に作用します。

通知メールだけを止めることはできますか?

できます。記事では、本体・テーマ・プラグインの自動更新後の通知メールを、それぞれ制御するコードを紹介しています。成功通知だけを止める例では、successだけをfalseにし、failとcriticalでは受け取った値を維持するため、失敗・重大な失敗のメールは送られます。他のコードが通知を停止している場合に、強制的に送信へ戻すものではありません。

自動更新を止めたままにしても、よいですか?

放置しないでください。記事では、マイナー更新には不具合・セキュリティ修正も含まれるため、停止中は手動更新を放置しない運用が必要です。

元に戻すには、どうしますか?

記事では、追加したフィルターを削除するか、該当スニペットを無効化します。その後、管理画面の自動更新設定も確認します。サーバー側の更新機能やほかのプラグインの設定は、このコードだけでは変更されません。なお、記事の確認はWordPress 7.1.2の隔離環境での模擬で、実際の更新処理と外部メール配信は実行していません。

  • URLをコピーしました!

設定に不安があるなら

WordPressのセキュリティ対策・保守

セキュリティ設定¥20,000〜、定期自動バックアップの設定¥15,000〜、保守・メンテナンスは月額 ¥15,000〜(税込)。ファイアウォールやSSLの導入もまとめて対応します。

WAZAの有料記事のサブスクリプションも開始しました。

目次