Как проверить, активен ли плагин в WordPress [3 СПОСОБА]
Опубликовано: 2020-08-08Как разработчик WordPress, одной из наиболее распространенных проверок вашего кода при разработке плагина является статус активации плагина. Есть несколько причин, по которым вам следует проверять, активен ли плагин. Чтобы упомянуть несколько, вы можете проверить, активен ли зависимый плагин или аналогичный плагин, который делает то же самое.
В любом случае вам нужно будет добавить проверку в базовый файл вашего плагина, чтобы проверить, активен ли целевой плагин. Классический пример, если вы разрабатываете плагин WooCommerce, который расширяет классы WooCommerce.
Например, когда вы разрабатываете плагин платежного шлюза WooCommerce, вам нужно проверить, активен ли WooCommerce сразу после активации вашего плагина или, что предпочтительнее, во время хука активации плагина.
Проверьте, активен ли плагин WordPress
К счастью, в ядре WordPress есть готовый к использованию метод или функция, которая проверяет, активен ли определенный плагин, и возвращает значение true или false.
Эта функция возвращает boolean - true or false
, и вы можете легко включить его в свой код, особенно во время хука активации.
Если подключаемый модуль, который вы проверяете, не активен, вы можете отобразить уведомление в заголовке, чтобы пользователь мог установить подключаемый модуль.
Вы также можете применить ту же функцию, когда хотите, чтобы пользователь деактивировал другой плагин, который может конфликтовать с функциональностью вашего плагина.
Краткий обзор функции is_plugin_active()
Давайте быстро рассмотрим функцию is_plugin_active()
, чтобы узнать больше о том, как эффективно использовать ее в вашем проекте.
is_plugin_active( string $plugin )
Эта функция принимает строковый параметр, представляющий путь к относительному пути плагина в каталоге плагинов.
функция is_plugin_active($plugin) { return in_array( $plugin, (array) get_option('active_plugins', array() )) || is_plugin_active_for_network($plugin); }
woocommerce/woocommerce.php
, как показано на
изображение ниже:
Функцию is_plugin_active()
можно использовать, чтобы проверить, активен ли плагин в бэкэнде, используя следующий фрагмент кода.
<?php /** * Обнаружение плагина. Только для использования в админке. */ if ( is_plugin_active( 'каталог-плагина/файл-плагина.php' ) ) { //плагин активирован }
Например, если вы хотите проверить, активен ли WooCommerce, вы можете проверить это, используя следующий код:
<?php /** * Проверьте, активен ли плагин WooCommerce в админке */ если ( is_plugin_active («woocommerce/woocommerce.php»)) { //Плагин WooCommerce активирован }
Базовый файл плагина и базовый каталог
Как видите, я использовал базовое имя плагина WooCommerce и папку, как я уже упоминал, и проиллюстрировано на изображении выше.
Базовое имя плагина — это имя файла для одного файла плагина, который является основным файлом, и иногда оно совпадает с каталогом/папкой, но не во всех случаях — некоторые плагины отличаются.
Проверьте, активен ли плагин в мультисайте
Для мультисайта WordPress есть функция, которая помогает разработчикам проверить, активен ли плагин в мультисайтовой сети. Функция:
is_plugin_active_for_network( string $plugin )
Эта функция работает так же, как функция is_plugin_active(string $plugin) и может применяться таким же образом, чтобы определить, активен ли плагин в мультисайтовой сети WordPress.
<?php функция is_plugin_active_for_network($plugin) { если ( ! is_multisite() ) { вернуть ложь; } $plugins = get_site_option('active_sitewide_plugins'); если ( isset ( $ плагины [ $ плагин ] ) ) { вернуть истину; } вернуть ложь; }
Другие способы проверить, активен ли плагин
Есть и другие способы проверить, активен ли плагин. Вы можете проверить, используя собственные функции php class_exists или function_exists. Эти методы проверяют, существует ли класс плагина или функции соответственно.
Использование function_exists() для проверки активности плагина
Если вы знаете функцию или метод плагина, вы можете проверить это с помощью метода function_exists
, как показано ниже:
<?php если ( функция_существует ( 'функция_плагина' ) ) { // Плагин активен }
Использование class_exists() для проверки активности плагина
Если вы знаете основной класс плагина, вы можете проверить его с помощью метода class_exists
, как показано ниже:
<?php если ( class_exists ( 'plugin_class' ) ) { // Плагин активен }
Вы можете подключить любой из этих методов, чтобы проверить, активен ли плагин в plugins_loaded
, как показано в фрагменте кода ниже:
<?php /* * Проверьте, активен ли плагин */ функция njengah_is_plugin_name_active() { если ( class_exists ( 'Plugin_Class' ) ) { // Он активен, так что логика здесь } } add_action('plugins_loaded', 'njengah_is_plugin_name_active');
Вывод
В этом посте мы выделили различные способы проверки активности плагина, когда вы разрабатываете другой плагин или тему. Это полезные методы, которые вы можете применять ко всем своим задачам разработки WordPress.
Похожие статьи
- Как остановить спам контактной формы WordPress 7 без плагина
- Как создать страницу входа в WordPress без использования плагина
- 26 лучших плагинов WooCommerce для обратной связи с клиентами
- 30 лучших плагинов безопасности WordPress для защиты вашего сайта
- Как добавить значок удаления на страницу оформления заказа WooCommerce
- Как изменить ссылку возврата в магазин в Woocommerce
- Как получить идентификатор заказа в Woocommerce
- 23 лучших плагина WooCommerce для настройки страницы оформления заказа
- Как скрыть промежуточный итог корзины в WooCommerce или удалить строку промежуточного итога
- Как перенаправить в корзину после входа в WooCommerce
- Как перенаправить при обновлении страницы WordPress » Обнаружение обновления страницы PHP
- Как отобразить название категории в WordPress на практическом примере
- Как удалить сообщение «Добавлено в корзину» WooCommerce
- Как создать пользовательскую разбивку на страницы запросов в WordPress на примере
- Как пропустить корзину и перенаправить на страницу оформления заказа WooCommerce
- Как добавить текст перед ценой в WooCommerce »Добавить текст перед ценой
- Как получить информацию о зарегистрированном пользователе в WordPress
- Как перенаправить пользователя, если он не вошел в систему WordPress » Перенаправление страницы
- Как изменить уведомление WooCommerce «Добавлено в корзину»
- Как отобразить текст о наличии на складе в WooCommerce » В наличии и в наличии