## Функция activate_plugins() │ WP 2.6.0
### Описание
Функция activate_plugins() активирует указанные плагины в WordPress.
Если функция возвращает ошибку WP_Error, это не обязательно означает, что произошла ошибка с самим плагином. Это может значить, что путь к одному или нескольким файлам плагина неверный.
Важно: выполнение остановится, как только у одного из плагинов обнаружится ошибка.
Функция работает только в админ-панели. Если вам нужно использовать её на фронтенде, подключите файл с помощью:
require_once ABSPATH . '/wp-admin/includes/plugin.php';
Используется: activate_plugin().
### Возвращаемое значение
Функция возвращает:
- true — если выполнение прошло успешно.
- WP_Error — если возникли ошибки при активации пла��ина (например, неправильный путь к файлу плагина).
### Использование
Функция принимает следующие аргументы:
```php
activate_plugins( $plugins, $redirect, $network_wide, $silent );
-
$plugins (string/array, обязательный) — Один плагин (строка) или список плагинов (массив) для активации. Идентификатор выглядит как путь к файлу плагина относительно папки плагинов:
democracy/democracy.php. -
$redirect (string) — URL страницы, на которую перенаправить после успешной активации. По умолчанию:
''. -
$network_wide (true/false) — Активировать ли плагин для всех сайтов в сети (только для многосайтового режима). По умолчанию:
false. -
$silent (true/false) — Тихая активация. Если
true, плагин активируется без вызова хуков активации (activate_***), т.е. хуки активации не будут выполнены. По умолчанию:false.
Примеры использования
Пример 1: Активация указанного плагина
// Подключаем необходимый файл
// require_once ABSPATH . '/wp-admin/includes/plugin.php';
// Активация плагина
activate_plugins( 'democracy-poll/democracy.php' );
Изменения
- С версии 2.6.0 — Функция была введена.
Код функции activate_plugins()
Функция activate_plugins выглядит так:
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 ); // Добавляем аргумент к URL
}
$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', __( 'Один из плагинов недействителен.' ), $errors );
}
return true; // Возвращаем true, если все прошло успешно
}
Связанные функции
deactivate_plugins()— Деактивирует плагины.get_plugin_data()— Получает данные о плагине.get_plugins()— Возвращает список всех плагинов.is_plugin_active()— Проверяет, активен ли плагин.plugin_basename()— Возвращает базовое имя плагина.validate_plugin_requirements()— Проверяет требования плагина.wp_get_active_and_valid_plugins()— Получает активные и действительные плагины.
Заключение
Функция activate_plugins() — это мощный инструмент для активирования плагинов в WordPress. Она позволяет управлять активацией плагинов, как в одиночном, так и в мн��госайтовом режиме, предоставляя гибкость при настройке вашего сайта.