Types de Mise à Jour
Les mises à jour automatiques en coulisses ont été introduites dans WordPress 3.7 (en anglais) dans le but de promouvoir une meilleure sécurité, et de rationaliser l’expérience globale de mise à jour. Par défaut, seules les mises à jour des versions mineures – comme pour des raisons de maintenance et de sécurité – et des fichiers de traduction sont activées.
Dans WordPress , il existe quatre types de mises à jour automatiques en coulisses :
- Mises à jour du noyau
- Mises à jour d’extension
- Mises à jour de thème
- Mises à jour de fichier de traduction
Mises à jour du noyau
Les mises à jour du noyau sont subdivisées en trois types :
- Mises à jour de développement du noyau, connus sous le nom « bleeding edge »
- Mises à jour mineures du noyau, comme celles de maintenance et de sécurité
- Mises à jour majeures du noyau
Par défaut, les mises à jour automatiques ne sont activés que pour les versions de base mineures et les fichiers de traduction.
Configuration de mise à jour
Les mises à jour automatiques peuvent être configurés en utilisant une des deux méthodes : la définition des constantes dans wp-config.php, ou l’ajout de filtres à l’aide d’une extension.
Configuration via wp-config.php
En utilisant wp-config.php, les mises à jour automatiques peuvent être désactivées complètement, et les mises à jour essentielles peuvent être désactivées ou configurées en fonction du type de mise à jour.
Constante pour désactiver toutes les mises à jour
Les développeurs du noyau ont sciemment pris la décision de d’activer les mises à jour automatiques pour les versions mineures et les fichiers de traduction d’emblée. À l’avenir, ce sera l’un des meilleurs moyens de garantir que votre site reste à jour et sûr. En tant que telle, la désactivation de ces mises à jour est fortement déconseillée.
Pour désactiver complètement tous les types de mises à jour automatiques, noyau ou autre, ajoutez la ligne suivante dans votre fichier wp-config.php :
define( 'AUTOMATIC_UPDATER_DISABLED', true );
Constante pour configurer les mises à jour du noyau
Pour activer les mises à jour automatiques pour les versions majeures ou à des fins de développement, il faut commencer avec la constante WP_AUTO_UPDATE_CORE. Définissez cette constante de trois façons vous permet de couvrir l’activation la désactivation de plusieurs types de mises à jour du noyau à la fois.
define( 'WP_AUTO_UPDATE_CORE', false );
WP_AUTO_UPDATE_CORE peut être définie à l’une des trois valeurs suivantes, produisant chacun un comportement différent :
- Valeur true – Les mises à jour de développement, mineures et majeures sont toutes activées
- Valeur false – Les mises à jour de développement, mineures et majeures sont toutes désactivées
- Valeur 'minor' – Les mises à jour mineures sont activées, les Les mises à jour de développement et majeures sont désactivées
Configuration via des Filtres
L’utilisation de filtres permet un contrôle affiné des mises à jour automatiques.
Désactivation de Toutes les Mises à Jour Via un Filtre
Vous pouvez également désactiver toutes les mises à jour automatiques en utilisant le filtre suivant :
add_filter( 'automatic_updater_disabled', '__return_true' );
Mises à Jour du Noyau Via un Filtre
Pour désactiver les mises à jour du noyau uniquement, utilisez le filtre suivant :
add_filter( 'auto_update_core', '__return_false' );
Mais disons que plutôt que l’activation ou la désactivation de l’ensemble des trois types de mises à jour du noyau, vous vouliez les activer ou désactiver de manière sélective. C’est là que les filtres allow_dev_auto_core_updates, allow_minor_auto_core_updates, and allow_major_auto_core_updates entrent en jeu.
Il y a deux fonctions raccourcies intégrés dans WordPress qui vous permettra d’activer ou de désactiver certains types de mises à jour du noyau avec de simples lignes de code. Il s’agit de __return_true (en anglais) et __return_false (en anglais). Voici quelques exemples des filtres :
Pour activer spécifiquement les mises à jour de développement (nocturnes), utilisez la commande suivante :
add_filter( 'allow_dev_auto_core_updates', '__return_true' );
Pour désactiver spécifiquement les mises à jour mineures , utilisez la commande suivante :
add_filter( 'allow_minor_auto_core_updates', '__return_false' );
Pour activer spécifiquement les mises à jour majeures , utilisez la commande suivante :
add_filter( 'allow_major_auto_core_updates', '__return_true' );
Pour activer spécifiquement les mises à jour automatiques, même si un dossier de versionning (.git, .hg, .svn etc…) a été trouvé dans le répertoire WordPress ou un de ses répertoires parents :
add_filter( 'automatic_updates_is_vcs_checkout', '__return_false', 1 );
Mises à Jour de Thème et Extension Via un Filtre
Les mises à jour automatiques d’extension et thème sont désactivées par défaut. Pour les activer, vous pouvez tirer partie du filtreauto_update_$type, où $type serait remplacé par « plugin » ou « thème ».
Pour activer les mises à jour automatiques pour les extensions, utilisez la commande suivante :
add_filter( 'auto_update_plugin', '__return_true' );
Pour activer les mises à jour automatiques pour les thèmes , utilisez la commande suivante :
add_filter( 'auto_update_theme', '__return_true' );
Mises à Jour de Traduction Via un Filtre
Les mises à jour de fichiers de traduction automatiques sont déjà activées par défaut, de même que les mises à jour mineures du noyau.
Pour désactiver les mises à jour des fichiers de traduction, utilisez la commande suivante :
add_filter( 'auto_update_translation', '__return_false' );