WordPress3.7で導入された自動バックグラウンドアップデートを止める方法【修正あり】
Posted by admin at 10:30 日時 2013/10/25
一応、日本語情報が見つからなかったのでメモ。3.7から管理画面の「更新」ページから手動で実行しなくても、勝手にバージョンアップしてくれる自動バックグラウンドアップデート機能が実装されました。アップデートがチェックされるのは、コアファイル、テーマ、プラグイン、翻訳の4つです。テーマ、プラグイン、コアのメジャーバージョンは自動アップデートがデフォルトでオフになっていますので、コアのマイナーバージョンと翻訳が今のところ自動アップデートの対象です。
自動アップデートはwp-config.phpに以下追記で停止できます。
define( 'AUTOMATIC_UPDATER_DISABLED', true );
ただし、セキュリティを高めるために特別な理由がない限り止めない方がよいです。何となく怖いから止めておくというのはナンセンスな態度です。WordPress.orgからダウンロードしたテーマやプラグインを使っているのであれば問題ないはずです。この機会に常に最新バージョンを使う習慣をつけてみてはいかがでしょうか。
コアファイルの自動バックグラウンドアップデートは現在マイナーバージョンのみに適用されるようです。「3.7.0」としたら「7」がメジャーバージョン、「0」がマイナーバージョンですね。
設定でメジャーバージョンにも自動アップデートを適用することができるようです。
// コアのアップデートを停止 define( 'WP_AUTO_UPDATE_CORE', false ); // マイナーバージョンのみ自動アップデートを適用 define( 'WP_AUTO_UPDATE_CORE', 'minor' ); // メジャーバージョンも自動アップデートを適用 define( 'WP_AUTO_UPDATE_CORE', true );
プラグインとテーマも自動アップデートの対象にしたい場合、または翻訳の更新だけ自動アップデートの対象から外したい場合は、これはwp-config.phpには書けないのですが、テーマのfunctions.phpかプラグインか何かで下記を記入します。
プラグインの自動更新を有効化するには以下を記入します。
add_filter( 'auto_update_plugin', '__return_true' );
テーマの自動更新を有効化するには以下を記入します。
add_filter( 'auto_update_theme', '__return_true' );
翻訳の自動更新を無効化するには以下を記入します。
add_filter( 'auto_update_translation', '__return_false' );
自動バックグラウンドアップデートが成功もしくは失敗したらメール通知が飛びます。「auto_core_update_send_email」フィルターで通知するかどうか、「auto_core_update_email」フィルターで通知の宛先などを変更できます。
注意点として、下記の設定ですでに一切のファイルの変更を止めている場合も、自動バックグラウンドアップデートが無効になります。
define( 'DISALLOW_FILE_MODS', true );
この設定がtrueの方は、これまで通り新しいバージョンがでたら、ステージングでテストした上で、手動でアップデートを適用という流れになりそうです。
似たような名前の設定で(実際混同していたのですが)管理画面からのテーマやプラグインの編集機能を無効にする設定があります。自動バックグラウンドアップデートで問題が起こらないようにするためには、テーマやプラグインに独自のカスタマイズを加えない方がよいので、下記の設定はtrueにしておくことをおすすめします。
define( 'DISALLOW_FILE_EDIT', true );
WordPressのセキュリティ上の問題として、管理画面に入られてしまうと、知らないうちにテーマのPHPファイルを何らかの攻撃スクリプトに書き換えられると言うことがありますので、セキュリティ上の理由としてもファイルの編集機能はオフにしておいた方がよいでしょう。
参考リンク
- 自動バックグラウンド更新の設定 | Codex日本語版
- Automatic Core Updates, an update | make.wordpress.org
- Version Check API | WordPress.org API | Codex