Описание pre_current_active_plugins
— Filter
Хук pre_current_active_plugins позволяет изменить массив активных плагинов перед их загрузкой. Он срабатывает на этапе инициализации WordPress, когда система загружает список активных плагинов, что позволяет разработчикам модифицировать этот список в зависимости от условий или требований
Примеры использования
Пример отключения конкретного плагина на основе условия:
add_filter('pre_current_active_plugins', function($plugins) {
if (!is_user_logged_in()) {
$plugins = array_diff($plugins, array('example-plugin/example-plugin.php'));
}
return $plugins;
});
В этом примере мы отключаем плагин ‘example-plugin’ для незалогиненных пользователей
Пример добавления нового плагина в список активных:
add_filter('pre_current_active_plugins', function($plugins) {
$plugins[] = 'new-plugin/new-plugin.php';
return $plugins;
});
Здесь мы добавляем плагин ‘new-plugin’ в массив активных плагинов
Пример условия для отключения группы плагинов:
add_filter('pre_current_active_plugins', function($plugins) {
if (is_page('maintenance')) {
$plugins = array_diff($plugins, array('plugin1/plugin1.php', 'plugin2/plugin2.php'));
}
return $plugins;
});
В этом примере отключаются плагины ‘plugin1’ и ‘plugin2’ на странице обслуживания
— Лучшие практики
– Использование
Используйте этот хук, когда необходимо изменить активные плагины в зависимости от контекста, например, для управления функциональностью на определенных страницах или для незалогиненных пользователей
– Производительность
При использовании хука следите за тем, чтобы изменения не приводили к значительной задержке загрузки страниц, так как это может повлиять на производительность сайта
– Предупреждения
Будьте осторожны с отключением критически важных плагинов, чтобы избежать проблем с функциональностью сайта
Альтернативы
Тип: action
Этот хук срабатывает после загрузки всех плагинов и позволяет выполнять действия, когда плагины уже активированы
Используйте его, если нужно выполнять действия с уже загруженными плагинами, а не изменять их список