Ich würde dagegen ermutigen, aber ich verstehe, was Sie versuchen, und mache selbst etwas Ähnliches.
Wie ich es mache
Ich erstelle Themen, die von Plugins abhängen, Plugins, die von Plugins abhängen, und Plugins, die von Plugins abhängen, die von anderen Plugins abhängen. Wenn ich beide Seiten der Entwicklung kontrolliere, mache ich Dinge in zwei Teilen ...
In dem Plugin, das von etwas anderem benötigt wird:
add_filter( 'my-cool-plugin-name-installed', '__return_true' );
In dem Plugin / Theme, für das das andere Plugin erforderlich ist :
if ( ! apply_filters( 'my-cool-plugin-name-installed', false ) )
add_action( 'admin_notices', 'my-cool-plugin-name_not_installed' );
Dann füge ich oben auf dem Admin-Bildschirm einen hellen Hinweis "Bitte installiere mein supercooles Plugin" mit einem Link zur Download-Seite hinzu.
Auf diese Weise kann ich auf todsichere Weise überprüfen, ob meine Abhängigkeiten vorhanden und installiert sind. Wenn das Plugin installiert, aber nicht aktiviert ist, wird die Warnung weiterhin angezeigt.
Ein anderer Weg
Eine weitere Option wurde bereits von @tollmanz empfohlen. Ich werde seine Lösung nicht kopieren und einfügen, aber die Überprüfung der Existenz einer Kernfunktion Ihres abhängigen Plugins ist eine gute Möglichkeit, um sicherzustellen, dass sie vorhanden ist.
Wenn das Plugin installiert, aber inaktiv ist, erkennt diese Route erneut nur, ob es aktiv ist.
Warum mache ich das so?
Erstens mag ich es nicht, wenn die Tools anderer Leute zusätzliche Inhalte auf meine Website herunterladen. Daher zwinge ich dieses Paradigma nicht anderen Benutzern auf. Stattdessen fordere ich sie auf, den zusätzlichen Code herunterzuladen und in die richtige Richtung zu weisen. Eine sauberere Möglichkeit wäre, sich mit dem automatischen Installationsprogramm zu verbinden, damit das Plugin mit einem einzigen Klick heruntergezogen werden kann.
Außerdem befinden sich mehrere Benutzer meines Codes auf Servern, auf denen sie das Ein-Klick-Installationsprogramm (oder automatisierte Downloads überhaupt) nicht verwenden können. Sie müssen FTP-Plugins verwenden, um sie zu installieren, damit ein stilles Herunterladen und Aktivieren eines Abhängigkeitssystems überhaupt nicht funktioniert.
Wenn Sie mit dem Code einer anderen Person arbeiten, haben Sie keine Kontrolle darüber, wann diese neue Versionen versendet, ob sie Fehler einführen oder ob sie gehackt werden . Installieren Sie also nicht automatisch Code, für den Sie keine Verantwortung übernehmen können.