activate_plugins( string|string[] $plugins, string $redirect = , bool $network_wide = false, bool $silent = false ): true|WP_Error

Activates multiple plugins.

Description

When WP_Error is returned, it does not mean that one of the plugins had errors. It means that one or more of the plugin file paths were invalid.

The execution will be halted as soon as one of the plugins has an error.

Parameters

$pluginsstring|string[]required
Single plugin or list of plugins to activate.
$redirectstringoptional
Redirect to page after successful activation.

Default:''

$network_widebooloptional
Whether to enable the plugin for all sites in the network.

Default:false

$silentbooloptional
Prevent calling activation hooks.

Default:false

Return

true|WP_Error True when finished or WP_Error if there were errors during a plugin activation.

Source

function activate_plugins( $plugins, $redirect = '', $network_wide = false, $silent = false ) {
	if ( ! is_array( $plugins ) ) {
		$plugins = array( $plugins );
	}

	$errors = array();
	foreach ( $plugins as $plugin ) {
		if ( ! empty( $redirect ) ) {
			$redirect = add_query_arg( 'plugin', $plugin, $redirect );
		}
		$result = activate_plugin( $plugin, $redirect, $network_wide, $silent );
		if ( is_wp_error( $result ) ) {
			$errors[ $plugin ] = $result;
		}
	}

	if ( ! empty( $errors ) ) {
		return new WP_Error( 'plugins_invalid', __( 'One of the plugins is invalid.' ), $errors );
	}

	return true;
}

Changelog

VersionDescription
2.6.0Introduced.

User Contributed Notes

You must log in before being able to contribute a note or feedback.