WordPress : 自動更新の停止&有効化

WordPressは標準でマイナーアップデートの自動更新機能を備えています。

マイナーアップデートには主にセキュリティパッチが含まれ、サイトやプラグインへの影響は少ないのですが、表示や動作がおかしくなるなど悪影響がゼロとは言えません。そのため自動更新を止めたいというニーズもあります。

またメジャーアップデートやテーマ、プラグインは標準では自動更新がOFFですが、ONに設定することもできます。

それら自動更新の設定方法を紹介します。

自動更新を有効にする時は、万一のトラブルを考えバックアップが取れていることを前提に行いましょう。

 

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

率直に言いますと非推奨です。

マイナーアップデートの自動更新を停止してしまうとセキュリティホールが放置されてしまい、自サイトおよび訪問者にセキュリティ被害を与えてしまう可能性が高まります。

マイナーアップデートは表示やプラグインへの影響も少なく、不都合が起こる可能性も低いです。筆者個人の話ですが、10年近くWordPress使い続けてきて、マイナーアップデートで不都合が起きたことはありません。

それを理解したうえでも止めたい場合、テーマのfunctions.phpに以下を加えます。

add_filter( 'allow_minor_auto_core_updates', '__return_false' );

以上の記述は自動更新を止めるのみで、「新しいバージョンがあります」と更新アラートは表示され、管理画面からの手動アップデートはできます。

そのアラートも止める場合は以下のコードを `functions.php’ に加えます。

define('AUTOMATIC_UPDATER_DISABLED', true);

アップデート機能を止めるため、アラートが表示されないだけでなくWordPressダッシュボードからの手動アップデートもできなくなるので注意してください。

 

メジャーアップデートの自動更新を有効にする

メジャーアップデートは大規模な機能追加が行われるため、サイトの表示やプラグインの動作に影響を与える可能性があります。テスト用やステージング環境のWordPressならば、常に最新に保つため自動更新で手間を省けます。

テーマのfunctions.phpに以下を加えます。

add_filter( 'allow_major_auto_core_updates', '__return_true' );

 

テーマの自動更新を有効にする

以下のコードを functions.php に加えることで、テーマの自動更新が有効になります。

add_filter( 'auto_update_theme', '__return_true' );

「テーマの更新=テーマファイルの上書き」のため、テーマファイルを直接修正している場合、テーマを更新すると修正が帳消しになるので注意してください。

子テーマを使っていればその懸念は無いため、親テーマの自動更新を設定して更新の手間を省くことができます。

 

プラグインの自動更新を有効にする

以下のコードを functions.php に加えることで、プラグインの自動更新が有効になります。

add_filter( 'auto_update_plugin', '__return_true' );

プラグインの更新はWordPressコアファイルやテーマに比べリスクは低めですが、リスクがゼロではありませんのでテスト用WordPressなどならば設定しておくと良いでしょう。

 

すべての自動更新を有効にした状態

以上に紹介した自動更新をすべて有効化する時は以下のような記述になります。

add_filter( 'allow_major_auto_core_updates', '__return_true' );
add_filter( 'allow_minor_auto_core_updates', '__return_true' );
add_filter( 'auto_update_theme', '__return_true' );
add_filter( 'auto_update_plugin', '__return_true' );