Функция is_plugin_inactive()
в WordPress позволяет разработчикам проверять, активирован ли определённый плагин или нет. Она является обратной функцией к is_plugin_active()
и может быть полезной в сценариях, когда необходимо определить, отключён ли плагин перед выполнением определённых действий.
is_plugin_inactive( string $plugin ): bool
Эта функция проверяет, не активирован ли указанный плагин. Если плагин не активен, функция вернёт true
, в противном случае — false
. Она может использоваться в админ-панели и на фронтальной части сайта.
Параметры
- $plugin (строка, обязательный): Путь к файлу плагина относительно директории плагинов. Например,
my-plugin/my-plugin.php
.
Возврат
Функция возвращает true
, если плагин не активен, и false
, если он активен.
Пример 1: Проверка статуса плагина в админке
Рассмотрим, как проверить, активен ли плагин, в админ-панели WordPress:
add_action('admin_init', function() {
// Убедитесь, что функция определена
if ( ! function_exists('is_plugin_inactive') ) {
require_once( ABSPATH . 'wp-admin/includes/plugin.php' );
}
$plugin_path = 'my-custom-plugin/my-custom-plugin.php';
if ( is_plugin_inactive( $plugin_path ) ) {
echo "<div class='notice notice-warning'>Плагин 'Мой Кастомный Плагин' не активирован.</div>";
} else {
echo "<div class='notice notice-success'>Плагин 'Мой Кастомный Плагин' активирован.</div>";
}
});
В этом примере мы проверяем статус плагина при инициализации админки и выводим соответствующее сообщение.
Пример 2: Использование в условиях на фронтальной части
Вы также можете использовать is_plugin_inactive()
в шаблонах вашего сайта:
add_action('wp', function() {
// Проверяем наличие функции
if ( ! function_exists('is_plugin_inactive') ) {
include_once( ABSPATH . 'wp-admin/includes/plugin.php' );
}
$plugin_path = 'another-plugin/another-plugin.php';
if ( is_plugin_inactive( $plugin_path ) ) {
echo "<p>Плагин 'Другой Плагин' не активен. Пожалуйста, активируйте его для полной функциональности.</p>";
}
});
В этом примере мы выводим предупреждение на фронтальной части сайта, если определённый плагин не активирован.
Полезные советы
- Проверяйте определение функции: Поскольку функция
is_plugin_inactive()
не доступна везде, убедитесь, что вы проверили её наличие и, при необходимости, подключили файл с функциями. - Используйте правильный путь: Убедитесь, что вы указываете правильный путь к файлу плагина, иначе функция не сможет выполнить проверку.
- Совместимость с многосайтовыми установками: Если ваш сайт работает в режиме мультисайта, учитывайте, что активность плагина может зависеть от настроек сети.
Заключение
Функция is_plugin_inactive()
является мощным инструментом для разработчиков, позволяя им управлять функциональностью плагинов в зависимости от их статуса. Используя эту функцию, вы можете создавать более адаптивные и информативные пользовательские интерфейсы в админке и на фронте вашего сайта WordPress.