web-dev-qa-db-fra.com

Mises à jour WordPress définie vs add_filter?

J'essaie de créer un plugin d'automatisation de mise à jour WordPress. Ici, j'ai deux options pour activer et désactiver les mises à jour.

  1. Via définir

ex: defined( 'AUTOMATIC_UPDATER_DISABLED',true )

2.via add_filter

ex: add_filter( 'allow_major_auto_core_updates', '__return_true', 1 );

mon problème, c’est si j’ai désactivé les mises à jour via define et l’a également activé via add_filter lequel fonctionnera? Est-ce que add_filter annule le mot "définir"? ou define remplacer 'add_filter'?

6
Thamaraiselvam

En parcourant la méthode Core_Upgrader::should_update_to_version(), il semble que nouspouvons remplacerle

 defined( 'WP_AUTO_UPDATE_CORE' )    // true (all), false, minor

check, utilisé pour configurer les booléens variables$upgrade_dev, $upgrade_minor et $upgrade_major locaux, avec les filtres suivants:

...
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 )
...

Donc, ces filtres ont le dernier mot sur la vérification constante WP_AUTO_UPDATE_CORE.

De même, le filtre automatic_updater_disabled peut remplacer le contrôle constant AUTOMATIC_UPDATER_DISABLED.

Mais notez que nous ne pouvons pas remplacer la constante elle-même .

5
birgire