Plugin_Upgrader::active_before()publicWP 5.4.0

Turns on maintenance mode before attempting to background update an active plugin.

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

Method of the class: Plugin_Upgrader{}

No Hooks.

Return

true|false|WP_Error. The original $response parameter or WP_Error.

Usage

$Plugin_Upgrader = new Plugin_Upgrader();
$Plugin_Upgrader->active_before( $response, $plugin );
$response(true|false|WP_Error) (required)
The installation response before the installation has started.
$plugin(array) (required)
Plugin package arguments.

Changelog

Since 5.4.0 Introduced.

Plugin_Upgrader::active_before() code WP 6.6.2

public function active_before( $response, $plugin ) {
	if ( is_wp_error( $response ) ) {
		return $response;
	}

	// Only enable maintenance mode when in cron (background update).
	if ( ! wp_doing_cron() ) {
		return $response;
	}

	$plugin = isset( $plugin['plugin'] ) ? $plugin['plugin'] : '';

	// Only run if plugin is active.
	if ( ! is_plugin_active( $plugin ) ) {
		return $response;
	}

	// Change to maintenance mode. Bulk edit handles this separately.
	if ( ! $this->bulk ) {
		$this->maintenance_mode( true );
	}

	return $response;
}