連載第195回
2024年2月12日
WordPressの自動更新機能をOFFにする
wp-config.phpはサーバーの方を直修正すべし
最終的にはfunction.php

無事にWordPress 6.4.2へアップデートできたところで、今後勝手にバックグラウンドでバージョンを自動更新されてしまうのは止めておきたい…。調べてみると下記の対処方法がありました。

自動更新停止の方法3種類

プラグインを新規導入するつもりはないので、ひとまず3番目の「wp-config.php」を修正する方法を試してみました。

これまで幾度もしくじってきたのにまたローカルで弄った「wp-config.php」をアップロード上書きしてしまいエラーを出してしまう

いろいろググって調べてみると、下記の1行をwp-config.phpに追記すれば良いらしい。

// 自動バックグラウンド更新を無効にする
define('AUTOMATIC_UPDATER_DISABLED', true);

素直にNovaで開いて、末尾に追記します。

サーバーへのアップロードでしくじりに気付く
→毎回失敗しているのだが、忘れてしまう
※だからブログに記録している

追記したwp-config.phpをNovaでサーバーにアップロードしようとしたところ、上書き出来ません!とアラートが出たので、パーミッションを見てみたらユーザーのみ読み込みOKの「400」でした。「600」に変更して適用してから再アップロード。すると…。

エラー

画面真っ白になってから思い出す「ローカルのwp-config.phpはローカル専用、サーバーとは別」ということを。事前にサーバー内でバックアップしておいたwp-config.phpに差し戻して、それを直接開き、文末に追記して更新、ブラウザでWordPressをリロードします。ところで、wp-config.phpのパーミッションはどう設定するのが正解なのか調べてみたのですが、「600」で良いのではないか、という記事が多かったので、そのまま「600」にしています。

自動更新が停止しているか確認。上図のように、先日アップデートした6.4.2から、早くも6.4.3がリリースされているのですが、自動で上書きされずユーザーの手動更新待ちの状態になっています。うまくいったようです。

でもwp-config.phpだと、WordPressを入れ替えたり、引っ越ししたり、認知怪しくてまたローカルから上書きアップロードしちゃってしくじる予感がするので、テーマに内包されているfunction.phpの方で対応することにした

もうこの長い見出しの通りで、階層上位にあるwp-config.phpはその他のシステム周りも管理していることから、そこを弄るのはやめて、使用中のテーマフォルダ内にあるfunction.phpに追記して対応することにしました。こちらの方が安心。

//自動更新を無効にする
add_filter( 'automatic_updater_disabled', '__return_true' );

↑これをfunction.phpの末尾に追記。wp-config.phpに追記していた行を削除して上書き保存してからWordPressをリロードして、動作に問題なければ、コードを追記したfunction.phpをアップロード。サイトをリロードして動作していればログインします。

先ほどと同様、6.4.3への自動更新は保留されている状態です。これにてWordPressの自動更新機能をOFFにする今回の目的は達成。