7.1 Les fichiers du cœur impliqués dans le système de mise à jour
Ces chemins sont relatifs à la racine de l’installation WordPress. La colonne Rôle résume les responsabilités.
Fonctionnement
La logique de mise à jour s’étend sur wp-includes et wp-admin/includes. La gestion du cron et des transients vit dans wp-includes/update.php. Les assistants réservés à l’administration et les fonctions de sommes de contrôle vivent sous wp-admin/includes. Les écrans d’interface vivent sous wp-admin.
Les mises à niveau interactives du cœur sont pilotées depuis wp-admin/update-core.php (l’écran et do_core_upgrade()), tandis que les routines de copie et de renommage de bas niveau vivent dans wp-admin/includes/update-core.php (requis pendant une mise à niveau du cœur, après la décompression du nouveau paquet).
Déroulement
- L’ordre de chargement dépend du contexte : front-end, administration, AJAX ou ligne de commande.
- Les inclusions d’administration se chargent avant l’exécution des moteurs de mise à niveau.
- Les installations, mises à jour et suppressions d’extensions et de thèmes passent souvent par des gestionnaires AJAX dans
ajax-actions.php. - La mise à niveau interactive du cœur et la réinstallation utilisent l’écran
update-core.phpet son fichier d’inclusions, et non les points d’entrée AJAX.
Référence
| Chemin relatif | Rôle |
|---|---|
wp-includes/update.php | Vérifications de version et de paquets, wp_maybe_auto_update(), crochets de cron, wp_get_update_data() |
wp-admin/includes/update.php | get_core_updates(), find_core_auto_update(), assistants de rejet, update_nag(), get_core_checksums() |
wp-admin/includes/upgrade.php | wp_upgrade(), dbDelta(), upgrade_all(), migration du schéma |
wp-admin/includes/admin-filters.php | Rattache update_nag() aux notifications d’administration |
wp-admin/includes/class-wp-upgrader-skin.php | API de base des habillages |
wp-admin/includes/class-automatic-upgrader-skin.php | Capture des messages pour l’arrière-plan et AJAX |
wp-admin/includes/class-wp-ajax-upgrader-skin.php | Erreurs et messages AJAX |
wp-admin/includes/class-bulk-upgrader-skin.php | Interface de progression groupée |
wp-admin/includes/class-wp-upgrader.php | Moteur de base, upgrader_process_complete |
wp-admin/includes/class-wp-automatic-updater.php | Décisions et exécution des mises à jour en arrière-plan |
wp-admin/includes/class-plugin-upgrader.php | Mise à niveau et installation d’extensions |
wp-admin/includes/class-theme-upgrader.php | Mise à niveau et installation de thèmes |
wp-admin/includes/class-core-upgrader.php | Mise à niveau du cœur ; Core_Upgrader::check_files() compare les fichiers installés à get_core_checksums() |
wp-admin/includes/update-core.php | Routines de mise à niveau du cœur (notamment update_core()) ; requis après décompression (distinct de l’écran d’administration update-core.php) |
wp-admin/includes/class-language-pack-upgrader.php | Paquets de traduction |
wp-admin/includes/file.php | WP_Filesystem, request_filesystem_credentials(), verify_file_signature(), wp_trusted_keys(), intégration de FS_METHOD |
wp-admin/update-core.php | Interface d’administration des mises à jour du cœur ; do_core_upgrade(), réinstallation |
wp-admin/includes/ajax-actions.php | Gestionnaires AJAX pour l’installation, la mise à jour et la suppression d’extensions, de thèmes et du cœur (comme wp_ajax_update_plugin) ; ce n’est pas le chemin de mise à niveau interactive du cœur |
wp-includes/load.php | wp_is_file_mod_allowed() |
wp-includes/class-wp-plugin-dependencies.php | WP_Plugin_Dependencies (graphe de dépendances pour la liste des extensions, l’activation et les appels AJAX associés) |
wp-admin/includes/class-wp-site-health.php | Diagnostics de WP_Site_Health |
wp-includes/class-wp-recovery-mode.php | WP_Recovery_Mode |
Ressources pour les développeurs
- Référence du code : rechercher les fonctions et les classes de chaque fichier.
7.2 Les classes clés
Les classes répartissent le téléchargement, l’installation, les décisions automatiques, les habillages et la récupération entre des responsabilités distinctes.
Fonctionnement
Les sous-classes de WP_Upgrader spécialisent le comportement par type de paquet. WP_Automatic_Updater encapsule l’application planifiée. Les habillages héritent de WP_Upgrader_Skin. WP_Recovery_Mode gère la récupération après erreur fatale, séparément des mises à jour.
Déroulement
- Le point d’entrée choisit une classe par instanciation.
- Les méthodes appellent les crochets parents.
- Les résultats remontent vers les habillages ou les couches d’e-mail.
Référence
| Classe | Fichier | Hérite de | Rôle |
|---|---|---|---|
WP_Upgrader | class-wp-upgrader.php | — | Téléchargement et installation de base |
Core_Upgrader | class-core-upgrader.php | WP_Upgrader | Remplacement des fichiers du cœur |
Plugin_Upgrader | class-plugin-upgrader.php | WP_Upgrader | Mises à jour et installations d’extensions |
Theme_Upgrader | class-theme-upgrader.php | WP_Upgrader | Mises à jour et installations de thèmes |
Language_Pack_Upgrader | class-language-pack-upgrader.php | WP_Upgrader | Paquets de traduction |
WP_Automatic_Updater | class-wp-automatic-updater.php | — | Décisions et exécution des mises à jour en arrière-plan |
WP_Recovery_Mode | class-wp-recovery-mode.php | — | Récupération après erreur fatale |
Ressources pour les développeurs
- Référence de la classe
WP_Automatic_Updater: classe du programme de mise à jour automatique.

