Any ideas to trigger some code after plugin update?

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

Leave a Comment