Home » Classes » WP_Upgrader

The WP_Upgrader class is a core class in WordPress that handles the upgrading of WordPress installs, plugins, and themes. It manages the entire process of upgrading by downloading the necessary files, unpacking them, and installing them.

This class is used primarily by WordPress core when there is an update available for WordPress, plugins, or themes. It can also be used by plugin and theme developers who want to provide their own upgrade functionality.

One of the main benefits of using the WP_Upgrader class is that it abstracts away the complexities of upgrading by providing a simple and consistent API for all upgrade processes. This makes it easy for developers to integrate upgrade functionality into their own plugins or themes without having to worry about the technical details of the upgrade process.

Here is an example usage code that demonstrates how the WP_Upgrader class can be used to upgrade a plugin:

$plugin_slug = 'my-plugin';
$plugin_zip_url = 'https://example.com/my-plugin.zip';

// Create a new instance of the WP_Upgrader class
$upgrader = new WP_Upgrader();

// Define the source and destination for the plugin upgrade
$upgrade_args = array(
    'source' => $plugin_zip_url,
    'destination' => WP_PLUGIN_DIR . '/' . $plugin_slug . '/',

// Perform the upgrade
$result = $upgrader->run( array(
    'type' => 'plugin',
    'package' => $upgrade_args['source'],
    'destination' => $upgrade_args['destination'],

In this example, we first define the plugin slug and the URL of the plugin zip file. We then create a new instance of the WP_Upgrader class and define the source and destination for the plugin upgrade. Finally, we call the run() method of the WP_Upgrader class with the necessary arguments to perform the upgrade.

Overall, the WP_Upgrader class is a powerful and flexible tool for managing upgrades in WordPress. Whether you’re upgrading WordPress itself, a plugin, or a theme, the WP_Upgrader class provides a consistent and easy-to-use API for handling upgrades.

Learn More on WordPress.org

WordPress snippets using the WP_Upgrader class

Register an account to save your snippets or go Pro to get more features.