Make WordPress Core

Opened 3 years ago

Last modified 6 weeks ago

#22377 assigned enhancement

Add filter to wp_update_plugins() — at Version 1

Reported by: rmccue Owned by:
Milestone: Awaiting Review Priority: low
Severity: minor Version: 3.4
Component: Upgrade/Install Keywords: has-patch
Focuses: Cc:

Description (last modified by rmccue)


Certain plugins (paid plugins, etc) may not wish to use WordPress' built-in
upgrading functionality. As such, they may implement their own update checking
code. WordPress' code runs every 12 hours via wp-cron, so hooking into the
native system for checking would be the best way to avoid duplicating tonnes of


Currently, filtering this result is somewhat unintuitive. There are no filters
in wp_update_plugins() to filter the result of the API call, so you have to
fall back to pre_set_site_transient_update_plugins. WordPress, however, sets
this transient twice,
once before updating "to prevent multiple blocking requests if request hangs"
and then once afterwards with the actual result.

This is only a minor inconvenience, but it appears to be somewhat fragile.
Ensuring that a plugin's custom code doesn't run on the first set_transient()
requires setting a flag, and this is prone to breaking if wp_update_plugins()
changes internally.


Introduce a new filter to change the API result before saving. This filter
should only run once, with the actual result of the API call.

Patch attached.

Change History (2)

3 years ago

Add filter to wp_update_plugins

#1 @rmccue
3 years ago

  • Description modified (diff)
Note: See TracTickets for help on using tickets.