Come verificare se un plugin di WordPress è attivo in rete o singolo sito
Durante lo sviluppo di un tema o di un plug-in, a volte è necessario verificare se un determinato plug-in di terze parti è disponibile per l’uso. Qui imparerai un modo semplice per rilevare non solo se il plug-in è attivo in un singolo sito ma anche se è abilitato a livello di rete.
Panoramica
WordPress memorizza l’elenco dei plug-in attivi in diverse opzioni nel database sia che si tratti di plug-in abilitati nell’intera rete o plug-in abilitati in un unico sito della rete:
- active_sitewide_plugins: contiene i plugin abilitati a livello di rete
- active_plugins: contiene i plugin abilitati nel sito corrente della rete.
Definizione di funzione
Con questo, possiamo codificare qualcosa del genere per verificare se un determinato plug-in è abilitato nella rete o nel singolo sito:
if (! function_exists( 'elio_is_plugin_active')) {
function elio_is_plugin_active( $plugin = '') {
$network_active = false;
if (is_multisite()) {
$plugins = get_site_option( 'active_sitewide_plugins' );
if (isset( $plugins[$plugin])) $network_active = true;
}
return in_array( $plugin, get_option( 'active_plugins')) || $network_active;
}
}
Ad esempio, verificheremo se il plugin Jetpack è attivo. Ora puoi usare la funzione che abbiamo scritto in questo modo, passando come parametro la directory root del plugin, jetpack, e il file principale del plugin, jetpack.php:
Vediamo un altro esempio con il plugin WooCommerce:
Con questo semplice metodo sarai al sicuro quando aggiungi funzionalità che dovrebbero funzionare con un particolare plug-in poiché sarai sempre in grado di verificare se il plug-in è abilitato.