Как узнать активный плагин в WordPress или нет
Доброго времени суток. Сразу задача. Необходимо в теме WordPress выводить некоторую информацию только в том случае, если некоторый плагин активен. Решение данной задачи не сложно, просто вставляем проверку активен ли наш плагин и если активен, то выводим необходимую информацию. Теперь подробней.
Для того, что бы проверить активен плагин или нет в WordPress существует функция is_plugin_active(
'
$plugin
'
),
где $plugin — путь к файлу плагина.
Но если мы используем эту функцию не
в админке, то мы должны ее подключить. Функция is_plugin_active описывается в
wp-admin/includes/plugin.php.
Поэтому, когда мы данную функцию используем в шаблоне мы должны в ручную подключить файл, где она описана. Это делается следующим образом:
<?php include_once( ABSPATH . 'wp-admin/includes/plugin.php' ); ?>
Давайте рассмотрим пример. Возьмем стандартный плагин «Hello Dolly», котрый установлен по умолчанию. И мы хотим, чтобы если данный плагин активен, то в футере темы Twenty Twelve выводилась надпись «Плагин «Hello Dolly» активен». Иначе выводиться надпись «Плагин «Hello Dolly» не активен»
Первое, что мы сделаем — это посмотрим где находиться основной файл нашего плагина.
Как видим файл плагина Hello Dolly находиться в папке с плагинами и называется hello.php. Отлично. Теперь отредактируем файл footer.php темы
Twenty Twelve.
Вот так он выглядит:
<?php /** * The template for displaying the footer. * * Contains footer content and the closing of the * #main and #page div elements. * * @package WordPress * @subpackage Twenty_Twelve * @since Twenty Twelve 1.0 */ ?> </div><!-- #main .wrapper --> <footer id="colophon" role="contentinfo"> <div class="site-info"> <?php do_action( 'twentytwelve_credits' ); ?> <a href="<?php echo esc_url( __( 'http://wordpress.org/', 'twentytwelve' ) ); ?>" title="<?php esc_attr_e( 'Semantic Personal Publishing Platform', 'twentytwelve' ); ?>"><?php printf( __( 'Proudly powered by %s', 'twentytwelve' ), 'WordPress' ); ?></a> </div><!-- .site-info --> </footer><!-- #colophon --> </div><!-- #page --> <?php wp_footer(); ?> </body> </html>
Отредактируем его
следующим образом
:
<?php /** * The template for displaying the footer. * * Contains footer content and the closing of the * #main and #page div elements. * * @package WordPress * @subpackage Twenty_Twelve * @since Twenty Twelve 1.0 */ ?> </div><!-- #main .wrapper --> <footer id="colophon" role="contentinfo"> <div class="site-info"> <?php do_action( 'twentytwelve_credits' ); ?> <a href="<?php echo esc_url( __( 'http://wordpress.org/', 'twentytwelve' ) ); ?>" title="<?php esc_attr_e( 'Semantic Personal Publishing Platform', 'twentytwelve' ); ?>"><?php printf( __( 'Proudly powered by %s', 'twentytwelve' ), 'WordPress' ); ?></a> </div><!-- .site-info --> <!-- проверка --> <?php include_once( ABSPATH . 'wp-admin/includes/plugin.php' ); ?> <?php if (is_plugin_active('hello.php')):?> <div> Плагин "Hello Dolly" активен</div> <?php else:?> <div>Плагин "Hello Dolly" не активен</div> <?php endif ?> <!-- конец проверки --> </footer><!-- #colophon --> </div><!-- #page --> <?php wp_footer(); ?> </body> </span></code> </html>
Наш вставленный код находиться между комментариями <!-- проверка --> и <!-- конец проверки --> .
Проверяем, переходим в админку и активируем плагин Hello Dolly
Переходим на сайт и смотрим:
Появилась надпись в футере «
Плагин "Hello Dolly" активен
»
Теперь отключим плагин
И посмотрим на сайте:
Надпись изменилась на «
Плагин "Hello Dolly" не активен
»
Ок, все работает так, как мы и хотели.
[…] времени суток. В статье «Как узнать активный плагин в WordPress или нет» мы проверили активный плагин или нет. Но существует и […]