私はWordPressのアップデート自動化プラグインを作成しようとしています。ここで私はアップデートを有効にし無効にするための2つのオプションを得ました。
例:defined( 'AUTOMATIC_UPDATER_DISABLED',true )
2. add_filterを介して
例:add_filter( 'allow_major_auto_core_updates', '__return_true', 1 );
私の問題は、define
を介して更新を無効にし、add_filter
を介して有効にした場合、どれが機能するのでしょうか。 add_filter
は 'define'をオーバーライドしますか?それともdefine
は 'add_filter'をオーバーライドしますか?
Core_Upgrader::should_update_to_version()
メソッドを読み飛ばして、私たちがを上書きすることができるようです
defined( 'WP_AUTO_UPDATE_CORE' ) // true (all), false, minor
次のフィルタを使用して、ローカルブール値の変数$upgrade_dev
、$upgrade_minor
、および$upgrade_major
を設定するために使用します。
...
apply_filters( 'allow_dev_auto_core_updates', $upgrade_dev )
...
apply_filters( 'allow_minor_auto_core_updates', $upgrade_minor )
...
apply_filters( 'allow_major_auto_core_updates', $upgrade_major )
...
そのため、これらのフィルタはWP_AUTO_UPDATE_CORE
定数チェックの上に最後のWordがあります。
同様に、automatic_updater_disabled
フィルタはAUTOMATIC_UPDATER_DISABLED
定数チェックをオーバーライドできます。
しかし、私たち は定数そのものを上書きすることはできません 。