Make WordPress Core

Opened 6 years ago

Last modified 2 years 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 code.


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)

6 years ago

Add filter to wp_update_plugins

#1 @rmccue
6 years ago

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