Summery Summery

Activate multiple plugins.

Syntax Syntax

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

Description 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 Parameters


(string|string[]) (Required) Single plugin or list of plugins to activate.


(string) (Optional) Redirect to page after successful activation.

Default value: ''


(bool) (Optional) Whether to enable the plugin for all sites in the network.

Default value: false


(bool) (Optional) Prevent calling activation hooks.

Default value: false

Return Return

(bool|WP_Error) True when finished or WP_Error if there were errors during a plugin activation.

Source Source

File: wp-admin/includes/plugin.php

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 Changelog

Version Description
2.6.0 Introduced.


Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.