I have developed a plugin, that requires to do some maintenance tasks after a certain WordPress plugin has been updated in my sites.
Currently, what I do, is to have this WP plugin on manual updates, and every time I update it manually, I run the code afterwards.
But I would like to automate this process.
Any ideas to makes this possible?
Best Answer
I’ve always used the upgrader_process_complete
hook:
function my_plugins_update_completed( $upgrader_object, $options ) {
// If an update has taken place and the updated type is plugins and the plugins element exists
if ( $options['action'] == 'update' && $options['type'] == 'plugin' && isset( $options['plugins'] ) ) {
foreach( $options['plugins'] as $plugin ) {
// Check to ensure it's my plugin
if( $plugin == plugin_basename( __FILE__ ) ) {
// do stuff here
}
}
}
}
add_action( 'upgrader_process_complete', 'my_plugins_update_completed', 10, 2 );
More info in the Codex: https://developer.wordpress.org/reference/hooks/upgrader_process_complete/
Hope that helps