WordPress finds updates, installs them, reports on them, and leaves you a hook at every step.

Each part stands on its own. Section numbers (§2.4, §5.10) hold across all seven, so a cross-reference read in Part 3 still lands on the right section when you opened Part 2 first.

The seven parts

#PartWhat it covers
1Discovery: how WordPress detects available updatesUpdate transients, scheduled and admin-triggered checks, API endpoints, third-party Update URI sources, checksums, must-use plugins and drop-ins
2Application: how WordPress installs updatesWP_Upgrader and its subclasses, the database upgrade step, skins, dependency resolution, rollback, locks, maintenance mode, package signatures, staging cleanup
3Automatic background updatesWP_Automatic_Updater, global disable conditions, per-item eligibility, core branch policy, opt-ins, translation chaining
4Notifications and feedbackAdmin notices and menu counts, Site Health tests, background emails, the automatic_updates_complete payload, Recovery Mode
5Entry points and configurationThe Updates screen, AJAX, WP-CLI, XML-RPC, REST, filesystem methods, wp-config.php constants, multisite, proxies, downgrades
6Hook and filter referenceEvery discovery, download, install, automatic-update, policy, notification, cache, and filesystem hook, with parameters
7File and class referenceThe core files involved and what each one does, plus the key classes

Where to start

I want to…Read
Find out why no update is offeredPart 1, §1.2 and §1.6
Change something during download or installPart 6, §6.3 and §6.4
Stop automatic updates for one plugin or themePart 3, §3.3 and §3.8
Send update results somewhere elsePart 4, §4.7
Look up a hook signaturePart 6
Find which core file does a jobPart 7
Diagnose a failed upgradePart 2, then §4.8 for fatal errors

Requirements

Everything here describes WordPress core behavior, not plugin behavior. Anything tagged with a release, such as WordPress 6.6+, is gated on that release: check it against the code of the version you run.

About the interface labels

Interface labels, settings, and messages are quoted exactly as they appear in WordPress. Update check frequencies (Daily, Weekly, and so on) come from core, so they follow your site’s language.

Author

Photo de Quentin Le Duff

Quentin Le Duff

Quentin Le Duff is a WordPress developer for ten years, Opquast® Expert & ISTQB certified. He works with WordPress every day: developing open source plugins and themes, hosting and maintaining his clients’ websites, and writing about the WP ecosystem.