WordPressのバージョンアップの自動更新を停止。
毎回動作確認をするためにWordPress本体のバージョンアップは手動で行うようにしたい環境があったので、WordPressの自動更新機能を無効化する方法。
WordPressの自動更新の種類
デフォルトのWordPressの自動更新は、後述の「コアファイルのマイナーリリース」と「翻訳ファイル」の自動更新のみがオンになっている。
※ 最初にインストールしたときのWordPressのバージョンが5.6以降の場合は、「コアファイルのメジャーリリース」の自動更新もオンになっている。
1. WordPressの自動更新の種類
WordPressの自動更新は4種類の更新対象がある。
- コアファイル。(WordPress本体のバージョンアップ。)
- プラグイン。(インストール済みプラグインのバージョンアップ。)
- WordPressテーマ。(インストール済みテーマのバージョンアップ。)
- 翻訳ファイル。(WordPress独自機能の翻訳ファイルのバージョンアップ。)
2. コアファイルの自動更新の種類
上述のうち、「コアファイル」の自動更新には更に3種類の設定がある。
- 開発版。(ベータ版のアップデート。)
- マイナーリリース。(セキュリティーなどに関するマイナーアップデート。)
- メジャーリリース。(WordPress本体のメジャーアップデート。)
※ 「開発版」WordPressを使用しているサイトだけが「開発版」の更新情報を受け取り、「コアファイルの開発版、マイナーリリース、メジャーリリース」と「翻訳ファイル」の自動更新がデフォルトでオンになっている。
WordPressの自動更新の設定変更の方法
WordPressの自動更新機能の設定を変更する方法は下記2つのどちらか。
- 自動更新の設定内容が定義されている定数の値を直接変更する方法。(「wp-config.php」に記述する。)
- フィルターフックを使用して自動更新の設定を変更する方法。(「functions.php」などに記述する。)
※ 「wp-config.php」はバージョンアップすると新しく上書きされるので、1.の方法の場合、WordPressをバージョンアップする度に再度記述する必要がある。
1. 「wp-config.php」に設定を記述する方法
この方法の場合、「コアファイル」以外は個別の定数が公式ドキュメントに見当たらないので個別の設定方法は不明。
[ すべての自動更新を無効化 ]
「コアファイル」、「プラグイン」、「テーマ」、「翻訳ファイル」のすべての自動更新を無効化する設定の記述。
define('AUTOMATIC_UPDATER_DISABLED', true);
[ コアファイルの無効化 ]
「コアファイル」の自動更新を無効化する設定の記述。(設定したい内容に合わせて3つのいずれかの値を記述する。)
// 開発版、マイナーリリース、メジャーリリースのすべての更新を有効化
define('WP_AUTO_UPDATE_CORE', true);
// 開発版、マイナーリリース、メジャーリリースのすべての更新を無効化
define('WP_AUTO_UPDATE_CORE', false);
// マイナーリリースのみ有効化、開発版、メジャーリリースの更新は無効化
define('WP_AUTO_UPDATE_CORE', 'minor');
※ デフォルトの設定値は、最初にインストールしたときのWordPressのバージョンがバージョンが5.6以降の場合は「true」、それ以前なら「minor」。(開発版は「true」。)
2. フィルターフックで設定を記述する方法
[ すべての自動更新を無効化 ]
「コアファイル」、「プラグイン」、「テーマ」、「翻訳ファイル」のすべての自動更新を無効化する設定の記述。
add_filter('automatic_updater_disabled', '__return_true');
[ コアファイルの自動更新のみ設定 ]
「コアファイル」の自動更新のみ設定する記述。(「コアファイル」の3種類の自動更新すべてが対象。)
※ 有効化したい場合は「’__return_true’」、無効化したい場合は「’__return_false’」を第2引数に設定。
// すべて有効化
add_filter('auto_update_core', '__return_true');
// すべて無効化
add_filter('auto_update_core', '__return_false');
「コアファイル」の3種類の自動更新をそれぞれ個別に設定したい場合の記述。
// 開発版の自動更新を有効化
add_filter('allow_dev_auto_core_updates', '__return_true');
// マイナーリリースの自動更新を有効化
add_filter('allow_minor_auto_core_updates', '__return_true');
// メジャーリリースの自動更新を有効化
add_filter('allow_major_auto_core_updates', '__return_true');
[ プラグインの自動更新の設定 ]
すべての「プラグイン」の自動更新を設定する記述。
※ デフォルトでは、「プラグイン」と「テーマ」の自動更新はオフになっている。
※ 「’__return_false’」を設定した場合、WordPressのセキュリティチームからの強制的な自動更新も無効化される。
// プラグインの自動更新を有効化
add_filter('auto_update_plugin', '__return_true');
特定の「プラグイン」の自動更新を個別に設定する記述。
function ag2auto_update_plugins($update, $item){
// 設定したいプラグインを配列で保持
$ag2plugins = array(
'プラグインのスラッグ名01',
'プラグインのスラッグ名02',
);
// プラグインのスラッグ名をチェックして判定
if(in_array($item->slug, $ag2plugins)){
// 自動更新を有効化
return true;
}else{
// APIレスポンスによって任意
return $update;
}
}
add_filter('auto_update_plugin', 'ag2auto_update_plugins', 10, 2);
[ テーマの自動更新の設定 ]
「テーマ」の自動更新を設定する記述。
※ デフォルトでは、「プラグイン」と「テーマ」の自動更新はオフになっている。
※ 「’__return_false’」を設定した場合、WordPressのセキュリティチームからの強制的な自動更新も無効化される。
// テーマの自動更新を有効化
add_filter('auto_update_theme', '__return_true');
[ 翻訳ファイルの自動更新の設定 ]
「翻訳ファイル」の自動更新を設定する記述。
※ デフォルトでは、「翻訳ファイル」の自動更新はオンになっている。
// 翻訳ファイルの自動更新を無効化
add_filter('auto_update_translation', '__return_false');
https://memo.ag2works.tokyo/post-5796/
WordPressのバージョンアップの自動更新を停止。 | memo メモ [AG2WORKS]
<a href="https://memo.ag2works.tokyo/post-5796/" target="_blank" rel="noopener">WordPressのバージョンアップの自動更新を停止。 | memo メモ [AG2WORKS]</a>
この記事へのコメント
コメントの書き込みはまだありません。