WEB制作者向け無料テーマ「Arkhe」をリリースしました

WordPressのバージョンアップデートやプラグインアップーデートの自動更新・自動配信メールに関する設定方法

複数のWordPressサイトを管理していると、アップデートを手動で行うのがかなり面倒になってきますよね。

今回は、WordPressでバージョンアップやプラグインのアップデートなどを自動更新するかどうかの設定方法と、その時の自動メール配信を送信するかどうかの設定に関してメモしていきます。

目次

WordPressで自動更新が可能なものと、デフォルト設定の確認

WordPressの自動更新機能が有効なものは以下の6つです。

  • コアファイル(開発版)
  • バージョンアップデート(マイナー)
  • バージョンアップデート(メジャー)
  • 翻訳ファイル
  • プラグイン
  • テーマ

*:バージョンアップデートの「マイナー」や「メジャー」について。
例えば「4.8.2」→「4.8.3」はマイナーアップデート、「4.8」→「4.9」はメジャーアップデートです。

この中で、デフォルトで自動更新が on になっているもの

  • バージョンアップデート(マイナー)
  • 翻訳ファイル

以上の2つのみ。

自動更新のオン・オフ切り替え方法

先ほど確認した6種の項目それぞれに 専用のフィルタが用意されているので、それらを functions.phpに記述するだけです。

それぞれのフィルタ名

コアファイル(開発版) allow_dev_auto_core_updates
バージョンアップデート(マイナー) allow_minor_auto_core_updates
バージョンアップデート(メジャー) allow_major_auto_core_updates
翻訳ファイル auto_update_translation
プラグイン auto_update_plugin
テーマ auto_update_theme

これらのフィルターに対し、 add_filter__return_trueを指定すると自動更新オン、 __return_falseを指定すると自動更新オフとなります。

自動更新を有効化する

//プラグインの自動更新を有効化
add_filter( 'auto_update_plugin', '__return_true' );
//テーマの自動更新を有効化
add_filter( 'auto_update_theme', '__return_true' );
//開発版の自動更新を有効化
add_filter( 'allow_dev_auto_core_updates', '__return_true' );
//メジャーアップグレードの自動更新を有効化
add_filter( 'allow_major_auto_core_updates', '__return_true' );

自動更新を無効化する

//翻訳ファイルの自動更新を無効化
add_filter( 'auto_update_translation', '__return_false' );
//マイナーアップグレードの自動更新を無効化
add_filter( 'allow_minor_auto_core_updates', '__return_false' );

自動更新そのものを停止する

自動更新機能そのものを停止させることもできます。

以下のコードを wp-config.phpのファイルに追記するだけです。

define('AUTOMATIC_UPDATER_DISABLED', true);

自動更新時に配信されるメールの停止

バージョンアップデートの自動更新時、メールが配信されるかと思います。

こちらの停止方法も合わせてメモしておきます。

functions.phpに以下を記述

add_filter( 'auto_core_update_send_email', '__return_false' );

アップデート時にFTP情報を聞かれて自動更新ができない場合

VPSなどでWordPressを使用していると、パーミッションやファイル所有者の設定がうまくいっておらず、バージョンやプラグインのアップデート時にいちいちFTP情報を入力しなければいけない場合があります。

サーバーをいじれるのであれば、chownchmodコマンドなどでファイル所有者やパーミッションを調整します。(細かい話はググってください。)

それができない場合、もしくは解決できなかった場合は、FTP情報の入力を省く設定をWordPressで追記してしまいましょう。

wp_config.phpに以下を記述

define( 'FTP_HOST', 'FTPホストドメイン' );
define( 'FTP_USER', 'ユーザー名' );
define( 'FTP_PASS', 'パスワード' );
define( 'FTP_SSL', false );

内容としては、FTP情報をあらかじめ定義し、記憶させているだけです。

注意点:SSL接続できる場合はFTP_SSLをtrueにします。

この記事が気に入ったら
フォローしてね!

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次