7.1 Core files involved in the update system
These paths are relative to the WordPress installation root. The role column summarizes responsibilities.
How it works
Update logic spans wp-includes and wp-admin/includes. Cron and transient management live in wp-includes/update.php. Admin-only helpers and checksum functions live under wp-admin/includes. Interface screens live under wp-admin.
Interactive core upgrades are driven from wp-admin/update-core.php (the screen and do_core_upgrade()), while the low-level copy and rename routines live in wp-admin/includes/update-core.php (required during a core upgrade after the new package is unpacked).
Process flow
- Load order depends on context: front end, admin, AJAX, or CLI.
- Admin includes load before upgraders run.
- Plugin and theme install, update, and delete operations often use AJAX handlers in
ajax-actions.php. - Interactive core upgrade and reinstall use the
update-core.phpscreen and includes file, not the AJAX entry points.
Reference
| Relative path | Role |
|---|---|
wp-includes/update.php | Version and package checks, wp_maybe_auto_update(), cron hooks, wp_get_update_data() |
wp-admin/includes/update.php | get_core_updates(), find_core_auto_update(), dismiss helpers, update_nag(), get_core_checksums() |
wp-admin/includes/upgrade.php | wp_upgrade(), dbDelta(), upgrade_all(), schema migration |
wp-admin/includes/admin-filters.php | Hooks update_nag() to admin notices |
wp-admin/includes/class-wp-upgrader-skin.php | Base skin API |
wp-admin/includes/class-automatic-upgrader-skin.php | Background and AJAX message capture |
wp-admin/includes/class-wp-ajax-upgrader-skin.php | AJAX errors and messages |
wp-admin/includes/class-bulk-upgrader-skin.php | Bulk progress interface |
wp-admin/includes/class-wp-upgrader.php | Base upgrader, upgrader_process_complete |
wp-admin/includes/class-wp-automatic-updater.php | Background update decisions and execution |
wp-admin/includes/class-plugin-upgrader.php | Plugin upgrade and install |
wp-admin/includes/class-theme-upgrader.php | Theme upgrade and install |
wp-admin/includes/class-core-upgrader.php | Core upgrade; Core_Upgrader::check_files() compares installed files to get_core_checksums() |
wp-admin/includes/update-core.php | Core upgrade routines (notably update_core()); required after unpacking (distinct from the update-core.php admin screen) |
wp-admin/includes/class-language-pack-upgrader.php | Translation packages |
wp-admin/includes/file.php | WP_Filesystem, request_filesystem_credentials(), verify_file_signature(), wp_trusted_keys(), FS_METHOD integration |
wp-admin/update-core.php | Core updates admin interface; do_core_upgrade(), reinstall |
wp-admin/includes/ajax-actions.php | AJAX handlers for plugin, theme, and core install, update, and delete (such as wp_ajax_update_plugin); not the interactive core upgrade path |
wp-includes/load.php | wp_is_file_mod_allowed() |
wp-includes/class-wp-plugin-dependencies.php | WP_Plugin_Dependencies (dependency graph for plugin list, activation, and related AJAX) |
wp-admin/includes/class-wp-site-health.php | WP_Site_Health diagnostics |
wp-includes/class-wp-recovery-mode.php | WP_Recovery_Mode |
Developer resources
- Code reference — look up each file’s functions and classes.
7.2 Key classes
Classes partition download, install, automatic decisions, skins, and recovery into distinct responsibilities.
How it works
WP_Upgrader subclasses specialize behavior per package type. WP_Automatic_Updater wraps scheduled application. Skins subclass WP_Upgrader_Skin. WP_Recovery_Mode handles fatal recovery separately from updates.
Process flow
- The entry point selects a class through instantiation.
- Methods call parent hooks.
- Results propagate to skins or email layers.
Reference
| Class | File | Extends | Role |
|---|---|---|---|
WP_Upgrader | class-wp-upgrader.php | — | Base download and install |
Core_Upgrader | class-core-upgrader.php | WP_Upgrader | Core file replacement |
Plugin_Upgrader | class-plugin-upgrader.php | WP_Upgrader | Plugin updates and installs |
Theme_Upgrader | class-theme-upgrader.php | WP_Upgrader | Theme updates and installs |
Language_Pack_Upgrader | class-language-pack-upgrader.php | WP_Upgrader | Translation packages |
WP_Automatic_Updater | class-wp-automatic-updater.php | — | Background update decisions and execution |
WP_Recovery_Mode | class-wp-recovery-mode.php | — | Fatal error recovery |
Developer resources
WP_Automatic_Updaterclass reference — automatic updater class.

