mathiregister
  • 0
Новичок

Если плагин активен? Проверить, включен ли плагин?

  • 0

Я использую плагин Mingle и плагин Mingle-Forum.

Я хочу показывать определенную часть своего сайта только в том случае, если эти два плагина активны. Как я могу это решить?

<?php if ( is_plugin_active('mingle-forum') ) { ?>
                    <div id="login"><?php include (TEMPLATEPATH . '/inc/userlogin.php' ); ?></div>
                <?php } ?>

Это вызывает ошибку php. Вызов неопределенной функции is_plugin_active

Любая идея, что я делаю неправильно?

Обновить:

<?php if ( plugin_active('plugin-directory/mingle-forum/wpf-main.php') ) { ?>
                    <div id="login"><?php include (TEMPLATEPATH . '/inc/userlogin.php' ); ?></div>
                <?php } ?>
Share
  1. Где (какой файл или хук) вы используете эту функцию?

    • 0
  2. Эта функция существует wp-admin/includes/plugin.php, поэтому я предполагаю, что она не включена в тему.

    Вы можете либо require это, либо просто создать свою собственную версию — см. здесь: http://wordpress.org/support/topic/is_plugin_active

    ОБНОВЛЕНО:

    пожалуйста, проверьтеis_plugin_active

    • 0
  3. Вы также можете попробовать проверить, активен плагин или нет.

    $pluginList = get_option( 'active_plugins' );
    $plugin = 'PLUGIN_DIR/FILE_NAME.php'; 
    if ( in_array( $plugin , $pluginList ) ) {
        // Plugin 'mg-post-contributors' is Active
    }
    

    Также попробуйте код ниже для простоты

    if ( is_plugin_active( 'PLUGIN_DIR/FILE_NAME.php' ) ) {
      //plugin is activated
    } 
    
    • 0
  4. Есть два способа проверить, активен плагин или нет.

    1. Вы можете использовать функцию is_plugin_active, чтобы проверить, активен плагин или нет.
    2. Если у плагина есть класс, вы можете проверить, как показано ниже:

      if (class_exists('YITH_Woocompare_Frontend')) 
      {
      echo 'your code';
      }
      

    Вышеприведенный класс относится к плагину YITH WooCommerce Compare. Приведенный выше код проверяет, существует ли класс, тогда будет выполняться только ваш код внутри скобки.

    • 0
  5. Вы можете просто использовать функцию WordPress по умолчанию. Эта функция существует в wp-admin/includes/plugin.php .

    Просто передайте путь к файлу плагина относительно каталога плагинов.

    $pluginPath = 'akismet/akismet.php';
    if ( is_plugin_active( $pluginPath ) ) {
        echo 'Plugin is activated';
    } else {
       echo 'Plugin is not activated';
    }
    

    Для получения более подробной информации is_plugin_active см. ссылку ниже:

    https://developer.wordpress.org/reference/functions/is_plugin_active/

    • 0
  6. правильный и фактический способ проверить, активен плагин или нет, это установить

    функция_существует ()

    функция для вашего кода

    • 0

Оставить ответ

You must login to add an answer.