¿Cómo verificar si un plugin está activo? ¿Cómo comprobar si un plugin está habilitado o no?

21 abr 2011, 15:35:18
Vistas: 28.8K
Votos: 4

Estoy usando el plugin mingle y el plugin mingle-forum.

Quiero mostrar una cierta parte en mi sitio solo si esos dos plugins están activos. ¿Cómo puedo resolver esto?

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

Esto genera un error de PHP: Call to undefined function is_plugin_active

¿Alguna idea de qué estoy haciendo mal?

actualización:

<?php if ( plugin_active('plugin-directory/mingle-forum/wpf-main.php') ) { ?>
                    <div id="login"><?php include (TEMPLATEPATH . '/inc/userlogin.php' ); ?></div>
                <?php } ?>
1
Comentarios

¿Dónde (en qué archivo o hook) usas esta función?

Ján Bočínec Ján Bočínec
21 abr 2011 15:51:15
Todas las respuestas a la pregunta 5
3

Esta función existe en wp-admin/includes/plugin.php, así que asumo que no está incluida por el tema.

Puedes hacer un require del archivo, o crear tu propia versión de la función - mira aquí: http://wordpress.org/support/topic/is_plugin_active

ACTUALIZADO:

Por favor revisa is_plugin_active

21 abr 2011 16:02:35
Comentarios

gracias, podría haber encontrado una solución pero aún no logro que funcione. La función plugin_active está definida en mi archivo functions.php y no arroja un error. Sin embargo, mi div.login NUNCA aparece, no importa si el plugin está activo o no. ¿Tal vez estoy verificando la ruta incorrecta? ¿Alguna idea de lo que podría estar haciendo mal aquí?

mathiregister mathiregister
22 abr 2011 10:41:09

encontré la solución. "plugin-directory" por supuesto tiene que ser el nombre del directorio donde se encuentra el archivo real del plugin. Pensé que "plugin-directory" era la ruta al directorio donde están todos los archivos del plugin.

mathiregister mathiregister
22 abr 2011 10:43:05

exactamente mathiregster, eso es lo que todos parecen estar pasando por alto aquí. plugin-directory muy probablemente será el nombre de tu plugin

Tim Hallman Tim Hallman
15 sept 2021 17:20:58
1

Hay dos formas de verificar si un plugin está activo o no.

  1. Puedes usar la función is_plugin_active para verificar si el plugin está activo o no.
  2. Si el plugin tiene una clase, puedes verificarlo de la siguiente manera:

    if (class_exists('YITH_Woocompare_Frontend')) 
    {
    echo 'tu código';
    }
    

La clase mencionada anteriormente pertenece al plugin YITH WooCommerce Compare. El código anterior verifica si la clase existe y solo entonces ejecutará el código dentro de los corchetes.

3 ago 2016 09:04:16
Comentarios

estaba a punto de votar positivamente, pero lo de la clase es completamente falso. ¿Qué pasa si el nombre de la clase cambia? y is_plugin_active es básicamente la respuesta aceptada :(

Mark Kaplun Mark Kaplun
3 ago 2016 09:50:07
2

También puedes intentar verificar si el plugin está activo o no

$pluginList = get_option( 'active_plugins' );
$plugin = 'PLUGIN_DIR/FILE_NAME.php'; 
if ( in_array( $plugin , $pluginList ) ) {
    // El plugin 'mg-post-contributors' está activo
}

También prueba el siguiente código para mayor simplicidad

if ( is_plugin_active( 'PLUGIN_DIR/FILE_NAME.php' ) ) {
  //el plugin está activado
} 
23 ene 2015 09:40:45
Comentarios

El autor no pudo usar is_plugin_active porque solo está disponible en las páginas de administración.

jeteon jeteon
13 oct 2015 12:06:41

Esta solución me ayudó a verificar el nombre del plugin. Gracias.

Memonic Memonic
23 abr 2020 19:02:43
1

Puedes simplemente usar la función predeterminada de WordPress. Esta función existe en wp-admin/includes/plugin.php.

Simplemente pasa la ruta al archivo del plugin relativa al directorio de plugins.

$pluginPath = 'akismet/akismet.php';
if ( is_plugin_active( $pluginPath ) ) {
    echo 'El plugin está activado';
} else {
   echo 'El plugin no está activado';
}

Para más detalles sobre is_plugin_active por favor consulta el siguiente enlace:

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

30 oct 2019 10:15:28
Comentarios

Gracias, @Sohel Khan; esa pista me fue realmente útil; la usé para comenzar a construir una barra de salud para mi sitio :) ¡Saludos!

eLeXeM eLeXeM
14 nov 2020 20:03:53
1

La forma correcta y actual de verificar si un plugin está activo o no es configurar una

function_exists()

función para tu código

14 oct 2021 14:37:42
Comentarios

Bienvenido a wpse! la forma correcta y actual de verificar si un plugin está activo o no es configurar function_exists. ¿Qué pasa si un plugin es OO y no usa ninguna función, solo métodos? Tu respuesta no aborda esta situación.

Buttered_Toast Buttered_Toast
14 oct 2021 16:16:43