So überprüfen Sie, ob das Plugin in WordPress aktiv ist [3 WEGE]

Veröffentlicht: 2020-08-08

Prüfen Sie, ob ein Plugin in WordPress aktiv ist Als WordPress-Entwickler ist eine der häufigsten Überprüfungen in Ihrem Code bei der Entwicklung eines Plugins der Status der Plugin-Aktivierung. Es gibt mehrere Gründe, warum Sie überprüfen sollten, ob ein Plugin aktiv ist. Um nur einige zu nennen, können Sie überprüfen, ob ein abhängiges Plugin aktiv ist oder ein ähnliches Plugin, das dasselbe tut.

In beiden Fällen müssen Sie die Überprüfung in Ihrer Plugin-Basisdatei hinzufügen, um zu überprüfen, ob das Ziel-Plugin aktiv ist. Ein klassisches Beispiel, wenn Sie ein WooCommerce-Plugin entwickeln, das WooCommerce-Klassen erweitert.

Wenn Sie beispielsweise ein WooCommerce-Payment-Gateway-Plugin entwickeln, müssen Sie überprüfen, ob WooCommerce sofort nach der Aktivierung Ihres Plugins oder vorzugsweise während des Plugin-Aktivierungs-Hooks aktiv ist.

Überprüfen Sie, ob ein WordPress-Plugin aktiv ist

Glücklicherweise verfügt der WordPress-Kern über eine gebrauchsfertige Methode oder Funktion, die überprüft, ob ein bestimmtes Plugin aktiv ist, und ein „true“ oder „false“ zurückgibt.

is_plugin_active WordPress

Diese Funktion gibt einen boolean - true or false , und Sie können ihn ganz einfach in Ihren Code einbauen, insbesondere während des Aktivierungshooks.

Wenn das von Ihnen überprüfte Plug-in nicht aktiv ist, können Sie eine Kopfzeilennachricht anzeigen, damit der Benutzer das Plug-in installieren kann.

Sie können dieselbe Funktion auch anwenden, wenn Sie möchten, dass der Benutzer ein anderes Plugin deaktiviert, das wahrscheinlich mit der Funktionalität Ihres Plugins in Konflikt steht.

Funktion is_plugin_active() Kurzübersicht

Schauen wir uns kurz die Funktion is_plugin_active() an, um mehr darüber zu erfahren, wie Sie sie effektiv in Ihrem Projekt einsetzen können.

is_plugin_active( string $plugin )

Diese Funktion verwendet einen Zeichenfolgenparameter, der den Pfad zum relativen Pfad des Plug-ins im Plug-in-Verzeichnis darstellt.

 Funktion is_plugin_active( $plugin ) {
    return in_array( $plugin, (array) get_option( 'active_plugins', array() ) ) || is_plugin_active_for_network( $plugin );
}

Zum Beispiel ist der Pfad von WooCommerce woocommerce/woocommerce.php , wie auf der gezeigt
Bild unten:
Dateipfad der WooCommerce-Basisdatei

Die Funktion is_plugin_active() kann verwendet werden, um zu überprüfen, ob das Plugin im Backend aktiv ist, indem das folgende Code-Snippet verwendet wird

 <?php
/**
* Plugin erkennen. Nur zur Verwendung im Admin-Bereich.
*/
if ( is_plugin_active( 'plugin-directory/plugin-file.php' ) ) {
//Plugin ist aktiviert
}

Wenn Sie beispielsweise überprüfen möchten, ob WooCommerce aktiv ist, können Sie dies mit dem folgenden Code überprüfen:

 <?php
/**
* Überprüfen Sie, ob das WooCommerce-Plugin im Admin-Bereich aktiv ist
*/
if ( is_plugin_active( 'woocommerce/woocommerce.php' ) ) {
//WooCommerce-Plugin ist aktiviert
}

Basisdatei und Basisverzeichnis des Plugins

Wie Sie sehen können, habe ich den Basisnamen des WooCommerce-Plugins und den Ordner verwendet, wie ich es erwähnt habe, und anhand des obigen Bildes veranschaulicht.
Der Basisname eines Plugins ist der Dateiname für ein einzelnes Datei-Plugin, das die Hauptdatei ist, und stimmt manchmal mit dem Verzeichnis / Ordner überein, aber nicht in allen Fällen – einige Plugins sind anders.

Überprüfen Sie, ob das Plugin in Multisite aktiv ist

Für WordPress Multisite gibt es eine Funktion, die Entwicklern helfen soll, zu überprüfen, ob das Plugin im Multisite-Netzwerk aktiv ist. Die Funktion ist:

is_plugin_active_for_network( string $plugin )

Diese Funktion funktioniert genau wie die Funktion is_plugin_active( string $plugin ) und kann auf die gleiche Weise angewendet werden, um festzustellen, ob das Plugin im gesamten WordPress Multisite-Netzwerk aktiv ist.

 <?php
Funktion is_plugin_active_for_network( $plugin ) {
    if ( ! is_multisite() ) {
        falsch zurückgeben;
    }
 
    $plugins = get_site_option( 'active_sitewide_plugins' );
    if ( isset( $plugins[ $plugin ] ) ) {
        gib true zurück;
    }
 
    falsch zurückgeben;
}

Andere Möglichkeiten, um zu überprüfen, ob das Plugin aktiv ist

Es gibt andere Möglichkeiten, um zu überprüfen, ob ein Plugin aktiv ist. Sie können dies mit den nativen PHP-Funktionen class_exists oder function_exists überprüfen. Diese Methoden prüfen, ob die Klasse des Plugins bzw. die Funktion existiert.

Verwenden von function_exists(), um zu prüfen, ob das Plugin aktiv ist

Wenn Sie die Funktion oder Methode eines Plugins kennen, können Sie dies mit der Methode function_exists wie im folgenden Snippet überprüfen:

 <?php
if( function_exists( 'plugin_function' ) ) {
// Plugin ist aktiv
}

Verwenden von class_exists(), um zu prüfen, ob das Plugin aktiv ist

Wenn Sie die Hauptklasse eines Plugins kennen, können Sie dies mit der Methode class_exists wie im folgenden Snippet überprüfen:

 <?php
if( class_exists( 'plugin_class' ) ) {
// Plugin ist aktiv
}

Sie können eine dieser Methoden einhängen, um zu überprüfen, ob das Plugin am Hook plugins_loaded aktiv ist, wie im folgenden Code-Snippet:

 <?php
/*
* Testen Sie, ob ein Plugin aktiv ist
*/

Funktion njengah_is_plugin_name_active() {
if( class_exists( 'Plugin_Class' ) ) {

// Es ist aktiv, so die Logik hier

}
}
add_action( 'plugins_loaded', 'njengah_is_plugin_name_active' );

Fazit

In diesem Beitrag haben wir die verschiedenen Möglichkeiten hervorgehoben, um zu überprüfen, ob ein Plugin aktiv ist, wenn Sie ein anderes Plugin oder Design entwickeln. Dies sind nützliche Methoden, die Sie auf alle Ihre WordPress-Entwicklungsaufgaben anwenden können.

Ähnliche Artikel