wordpress plugin 自動更新設定が表示されない場合の対処方法
![]()
現在、wordpressを使用しており多くのPluginをインストールしております。しかし、wordpressのインストール当初よりPluginの自動更新が出来ない設定になっておりました。
これは現在レンタルしているサーバーの新仕様で、Pluginは自動ではUpdateさせないようになっているようです。
悪意のあるPluginを防ぐためにもレンタルサーバー側としてはそうなっているのかもしれません。
しかし、自動でUpdateされないのは非常に面倒なんです。たった1つのPluginをUpdateするために管理画面にLoginしなければいけませんから。
同じレンタルサーバーでも、旧契約の物は違うんですよね。
そこで何とかしなければと考え、ネットでいろいろ調べ出しました。
Pluginの自動更新を有効化するには2つの方法がある
調べて行くと、Pluginの自動更新の設定を有効化するには2つの方法がある事が解りました。
1つめはwp-configを直接書き換える。そして2つめはfunction.phpに追記するの2つです。
1.wp-configを書き換える
これはシステム自体のconfigファイルを書き換えると言う方法で、間違ったりするとシステムが動かなくなるリスクは有ります。
書き換えると言っても、trueをfalseに書き換えるだけなのでリスク的にはかなり低いと思います。
方法としてはwp-config.phpファイル内に記述されている以下の項目をまず見つけます。
define('AUTOMATIC_UPDATE_DISABLED', true);
この最後に記述されているtrueが自動更新を無効にするのを認めている部分ですので、このtrueをfalseに書き換えるのです。
define('AUTOMATIC_UPDATE_DISABLED', false);
変更後にファイルを保存すれば完了となるわけです。
しかし、実際に自分のwp-config.phpをFTPを用いて開いて確認すると、このような記述は見つかりません。
なるほど、記述が無いことにより自動更新自体が無いように見せかけているようです。
なら
define('AUTOMATIC_UPDATE_DISABLED', false);
を追記してしまえば良いのだと思いましたが・・・
元々無い記述を追記する方が、wordpress全体に悪影響を与える可能性が有ると判断し記述することもやめました。
2.チャイルドテーマのfunction.phpにスクリプトを追加
wp-config.phpに記述するのはwordpress全体に影響を及ぼすので、全体では無く使用しているテーマだけになるよう、function.phpにスクリプトを追加する方法を検討しました。
この方法であれば、最悪動かなくなった場合にはテーマを一旦削除すれば良いですから。
修正方法は左側にあるメニューの外観 → テーマファイルエディターを選択します。
テーマファイルエディター画面に切り替わると、現在チャイルドテーマに使用されているファイルの一覧が右側に表示されるので、その中からfunction.phpを選択します。
ファイルを選択するとfunction.phpの内容が表示されますので、その最後に次のスクリプトを追記します。
// Enable plugins auto-update UI elements.
add_filter( 'plugins_auto_update_enabled', '__return_true' );
これは先にwp-configに書こうとしたスクリプトの逆ですね。wp-configでは自動更新無効化を有効にしていましたが、こちらは自動更新を有効にすると言うスクリプトです。
記述後にファイルを保存して処理完了となります。
本当に自動更新が可能になったか?
function.phpにスクリプトを書いただけで本当に自動更新が可能になったのか?
実際にメニューからプラグイン → インストール済みプラグインを選択してインストール済みのプラグインリストを表示させます。
そのリストの右端に自動更新を有効化という表示が現れました。この自動更新を有効化をクリックすると表示は自動更新の無効化と変わりますので、機能としては動作しているようです。
全てのプラグインの自動更新を有効化をクリックして全プラグインの自動更新を有効化します。
これで放置しておいてもwordpressのシステムと同様に自動的にUpdateが掛かりセキュリティ対策も常に最新状態になります。
wordpressは自分でカスタマイズしていかないと、思わぬ落とし穴にハマりそうです。これでまた一つ疑問が対処できました。
別システムを立ち上げた時に、同じような事にすぐ対処できるように備忘録として残しました。
