activate_plugins()WP 2.6.0

Активирует указанные плагины.

Выполнение будет приостановлено, если активируемый плагин вызовет ошибку.

Работает в админ-панели, если нужно во фронте, то подключите файл:

require_once ABSPATH .'/wp-admin/includes/plugin.php';
Работает на основе: activate_plugin()

Хуков нет.

Возвращает

true|WP_Error.

  • True, если все указанные плагины удалось активировать.
  • WP_Error, если название плагина (путь до него относительно папки plugins ) указан неправильно.

Использование

activate_plugins( $plugins, $redirect, $network_wide, $silent );
$plugins(строка/массив) (обязательный)
ID плагина или массив из ID. ID выглядит как путь до файла плагина относительно папки plugins: democracy/democracy.php.
$redirect(строка)
УРЛ куда перенаправить, после успешной активации.
По умолчанию: ''
$network_wide(логический)
Активировать ли плагин для всей сети сайтов (для MU сборки).
По умолчанию: false
$silent(логический)
Тихая активация. true - значит активировать плагин без включения событий активации (хуков activate_*). true значит, что хуки активации не будут работать.
По умолчанию: false

Примеры

0

#1 Активируем указанный плагин

//require_once ABSPATH .'/wp-admin/includes/plugin.php';

activate_plugins( 'democracy-poll/democracy.php' );

Список изменений

С версии 2.6.0 Введена.

Код activate_plugins() WP 6.4.3

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;
}