Se il plugin è attivo? Controllare se il plugin è abilitato o no?

21 apr 2011, 15:35:18
Visualizzazioni: 28.8K
Voti: 4

Sto utilizzando il plugin mingle e il plugin mingle-forum.

Voglio mostrare una certa parte del mio sito solo se questi due plugin sono attivi. Come posso risolvere questo problema?

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

Questo genera un errore PHP: Call to undefined function is_plugin_active

Qualche idea su cosa sto sbagliando?

aggiornamento:

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

Dove (in quale file o hook) utilizzi questa funzione?

Ján Bočínec Ján Bočínec
21 apr 2011 15:51:15
Tutte le risposte alla domanda 5
3

Questa funzione esiste in wp-admin/includes/plugin.php quindi presumo che non venga inclusa dal tema.

Puoi sia require che includerla, sia crearne una tua versione - vedi qui: http://wordpress.org/support/topic/is_plugin_active

AGGIORNATO:

Per favore controlla is_plugin_active

21 apr 2011 16:02:35
Commenti

grazie, potrei aver trovato una soluzione ma ancora non riesco a farla funzionare. La funzione plugin_active è impostata nel mio file functions.php e non genera errori. Tuttavia il mio div.login NON compare MAI, indipendentemente dal fatto che il plugin sia attivo o meno. Forse sto controllando il percorso sbagliato? Hai idea di cosa potrei sbagliare qui?

mathiregister mathiregister
22 apr 2011 10:41:09

trovata la soluzione. "plugin-directory" ovviamente deve essere il nome della directory dove si trova il file principale del plugin. Pensavo che "plugin-directory" fosse il percorso alla cartella dove sono tutti i file del plugin.

mathiregister mathiregister
22 apr 2011 10:43:05

esattamente mathiregster, questo è quello che sembra sfuggire a tutti qui. plugin-directory molto probabilmente sarà il nome del tuo plugin

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

Esistono due modi per verificare se un plugin è attivo o meno.

  1. Puoi usare la funzione is_plugin_active per verificare se il plugin è attivo.
  2. Se il plugin ha una classe, puoi verificare in questo modo:

    if (class_exists('YITH_Woocompare_Frontend')) 
    {
    echo 'il tuo codice';
    }
    

La classe sopra menzionata è relativa al plugin YITH WooCommerce Compare. Il codice sopra verifica se la classe esiste e solo in quel caso eseguirà il codice all'interno delle parentesi.

3 ago 2016 09:04:16
Commenti

stavo per votare positivamente, ma la questione della classe è completamente falsa. Cosa succede se il nome della classe viene cambiato? e is_plugin_active è praticamente la risposta accettata :(

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

Puoi anche verificare se un plugin è attivo o meno

$pluginList = get_option( 'active_plugins' );
$plugin = 'PLUGIN_DIR/NOME_FILE.php'; 
if ( in_array( $plugin , $pluginList ) ) {
    // Il plugin 'mg-post-contributors' è attivo
}

Prova anche questo codice per semplicità

if ( is_plugin_active( 'PLUGIN_DIR/NOME_FILE.php' ) ) {
  //il plugin è attivato
} 
23 gen 2015 09:40:45
Commenti

L'autore non è riuscito a utilizzare is_plugin_active perché è disponibile solo dalle pagine di amministrazione.

jeteon jeteon
13 ott 2015 12:06:41

Questa soluzione mi ha aiutato a verificare il nome del plugin. Grazie

Memonic Memonic
23 apr 2020 19:02:43
1

Puoi utilizzare semplicemente la funzione predefinita di WordPress. Questa funzione si trova in wp-admin/includes/plugin.php.

Basta passare il percorso del file del plugin relativo alla directory dei plugin.

$pluginPath = 'akismet/akismet.php';
if ( is_plugin_active( $pluginPath ) ) {
    echo 'Il plugin è attivato';
} else {
   echo 'Il plugin non è attivato';
}

Per maggiori dettagli su is_plugin_active consulta il link seguente:

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

30 ott 2019 10:15:28
Commenti

Grazie, @Sohel Khan; quel suggerimento è stato davvero utile per me; l'ho usato per iniziare a creare una barra della salute per il mio sito :) Saluti!

eLeXeM eLeXeM
14 nov 2020 20:03:53
1

Il modo corretto e attuale per verificare se un plugin è attivo o meno è impostare una

function_exists()

funzione per il tuo codice

14 ott 2021 14:37:42
Commenti

Benvenuto su wpse! il modo corretto e attuale per verificare se un plugin è attivo o meno è impostare function_exists. Cosa succede se un plugin è OO e non utilizza alcuna funzione, ma solo metodi? La tua risposta non affronta questa situazione.

Buttered_Toast Buttered_Toast
14 ott 2021 16:16:43