function activate_plugins( $plugins, $redirect = '', $network_wide = false, $silent = false ) {}

Activate multiple plugins.
When WP_Error is returned, it does not mean that one of the plugins had errors. It means that one or more of the plugins file path was invalid.


  • string|array $plugins
  • string $redirect: Redirect to page after successful activation.
  • bool $network_wide: Whether to enable the plugin for all sites in the network.
  • bool $silent: Prevent calling activation hooks. Default is false.

Return values

returns:True when finished or WP_Error if there were errors during a plugin activation.

Source code

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;



No comments yet... Be the first to leave a reply!

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: