Функция is_plugin_active()
позволяет проверить, активирован ли определенный плагин в WordPress. Это полезно для условного выполнения кода в зависимости от наличия активного плагина.
is_plugin_active( string $plugin ): bool
Функция принимает путь к файлу плагина и возвращает true
, если плагин активен, или false
, если нет. Она работает только с плагинами, установленными в стандартной папке wp-content/plugins/
и не работает с must-use плагинами (в папке mu-plugins
).
Параметры
$plugin
(строка, обязательный)
Относительный путь к файлу плагина, начиная от папкиwp-content/plugins/
.
Возвращаемое значение
bool
— возвращаетtrue
, если плагин активен, иfalse
, если не активен.
Пример 1: Проверка активации плагина вне админ-панели
Для использования is_plugin_active()
вне административной панели WordPress, например, в теме, необходимо подключить файл с функцией:
require_once ABSPATH . 'wp-admin/includes/plugin.php';
if ( is_plugin_active( 'example-plugin/example-plugin.php' ) ) {
echo 'Плагин активен на фронтенде';
}
Здесь проверяется, активен ли плагин example-plugin/example-plugin.php
, и если да, выводится сообщение.
Пример 2: Проверка активации плагина в админ-панели
Когда код выполняется в админке, is_plugin_active()
работает без дополнительного подключения:
if ( is_plugin_active( 'sample-plugin/sample-plugin.php' ) ) {
echo 'Плагин Sample активен в админке';
} else {
echo 'Плагин Sample не активен в админке';
}
Этот пример проверяет наличие активного плагина sample-plugin/sample-plugin.php
и выводит сообщение в зависимости от его статуса.
Пример 3: Условное добавление функционала при активации плагина
Допустим, у нас есть код, который должен работать только если активен плагин specific-plugin/specific-file.php
. Такой подход может быть полезен для проверки совместимости:
if ( is_plugin_active( 'specific-plugin/specific-file.php' ) ) {
add_action( 'wp_footer', 'display_custom_message' );
function display_custom_message() {
echo '<p>Сообщение, отображаемое при активации specific-plugin</p>';
}
}
Здесь добавляется сообщение в футер страницы, если плагин specific-plugin
активен.
Пример 4: Проверка нескольких плагинов
Если требуется проверить сразу несколько плагинов, можно использовать массив для хранения их относительных путей:
$plugins = array(
'plugin-one/plugin-one.php',
'plugin-two/plugin-two.php'
);
foreach ( $plugins as $plugin ) {
if ( is_plugin_active( $plugin ) ) {
echo $plugin . ' активен.<br>';
} else {
echo $plugin . ' не активен.<br>';
}
}
Этот код проверяет наличие каждого плагина из списка и выводит его статус.
Когда использовать is_plugin_active()
- Чтобы адаптировать функционал темы или плагина в зависимости от активности других плагинов.
- Для проверки совместимости при установке плагинов.
- Для выбора альтернативных вариантов кода в зависимости от активации плагина.
Заключение
Функция is_plugin_active()
является удобным и быстрым способом проверки активности плагина в WordPress.