#094
posted on 2024.03.17 (Sun)

WordPressのバージョンアップの自動更新を停止。

CATEGORY

毎回動作確認をするためにWordPress本体のバージョンアップは手動で行うようにしたい環境があったので、WordPressの自動更新機能を無効化する方法。

 

 

WordPressの自動更新の種類

デフォルトのWordPressの自動更新は、後述の「コアファイルのマイナーリリース」と「翻訳ファイル」の自動更新のみがオンになっている。
※ 最初にインストールしたときのWordPressのバージョンが5.6以降の場合は、「コアファイルのメジャーリリース」の自動更新もオンになっている。

 

1. WordPressの自動更新の種類

WordPressの自動更新は4種類の更新対象がある。

  1. コアファイル。(WordPress本体のバージョンアップ。)
  2. プラグイン。(インストール済みプラグインのバージョンアップ。)
  3. WordPressテーマ。(インストール済みテーマのバージョンアップ。)
  4. 翻訳ファイル。(WordPress独自機能の翻訳ファイルのバージョンアップ。)

 

2. コアファイルの自動更新の種類

上述のうち、「コアファイル」の自動更新には更に3種類の設定がある。

  1. 開発版。(ベータ版のアップデート。)
  2. マイナーリリース。(セキュリティーなどに関するマイナーアップデート。)
  3. メジャーリリース。(WordPress本体のメジャーアップデート。)

※ 「開発版」WordPressを使用しているサイトだけが「開発版」の更新情報を受け取り、「コアファイルの開発版、マイナーリリース、メジャーリリース」と「翻訳ファイル」の自動更新がデフォルトでオンになっている。

 

 

WordPressの自動更新の設定変更の方法

WordPressの自動更新機能の設定を変更する方法は下記2つのどちらか。

  1. 自動更新の設定内容が定義されている定数の値を直接変更する方法。(「wp-config.php」に記述する。)
  2. フィルターフックを使用して自動更新の設定を変更する方法。(「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');

 

 

この記事のURL

https://memo.ag2works.tokyo/post-5796/

Copyコピー
この記事のタイトル

WordPressのバージョンアップの自動更新を停止。 | memo メモ [AG2WORKS]

Copyコピー
この記事のリンクタグ

<a href="https://memo.ag2works.tokyo/post-5796/" target="_blank" rel="noopener">WordPressのバージョンアップの自動更新を停止。 | memo メモ [AG2WORKS]</a>

Copyコピー
※ フィールドをクリックでコピーするテキストの編集ができます。

この記事へのコメント

コメントの書き込みはまだありません。

  • コメント内のタグはエスケープ処理され、文字列として出力されます。
  • セキュリティーのため、投稿者のIPアドレスは取得されます。
  • 管理者が内容を不適切と判断したコメントは削除されます。
  • このフォームにはスパム対策として、Googleの提供するreCAPTCHAシステムが導入されています。
    (Google Privacy Policy and Terms of Service.)