WordPress at Your Fingertips
function is not described

Plugin_Upgrader::deactivate_plugin_before_upgrade() public WP 2.8.0

Deactivates a plugin before it is upgraded.

Hooked to the upgrader_pre_install filter by Plugin_Upgrader::upgrade().

{} It's a method of the class: Plugin_Upgrader{}

No Hooks.

Return

true|false|WP_Error. The passed in $return param or WP_Error.

Usage

$Plugin_Upgrader = new Plugin_Upgrader();
$Plugin_Upgrader->deactivate_plugin_before_upgrade( $return, $plugin );
$return(true|false|WP_Error) (required)
Upgrade offer return.
$plugin(array) (required)
Plugin package arguments.

Changelog

Since 2.8.0 Introduced.
Since 4.1.0 Added a return value.

Code of Plugin_Upgrader::deactivate_plugin_before_upgrade() WP 5.8.2

public function deactivate_plugin_before_upgrade( $return, $plugin ) {

	if ( is_wp_error( $return ) ) { // Bypass.
		return $return;
	}

	// When in cron (background updates) don't deactivate the plugin, as we require a browser to reactivate it.
	if ( wp_doing_cron() ) {
		return $return;
	}

	$plugin = isset( $plugin['plugin'] ) ? $plugin['plugin'] : '';
	if ( empty( $plugin ) ) {
		return new WP_Error( 'bad_request', $this->strings['bad_request'] );
	}

	if ( is_plugin_active( $plugin ) ) {
		// Deactivate the plugin silently, Prevent deactivation hooks from running.
		deactivate_plugins( $plugin, true );
	}

	return $return;
}