it-swarm.com.de

wie erstelle ich ein untergeordnetes WordPress-Plugin?

Ich erstelle gerne ein Plugin für Kinder.

Erklärung: -

Ich habe ein übergeordnetes Plugin mit dem Namen X. Dies funktioniert unabhängig (wie andere vorhandene Plugins).

Jetzt habe ich beschlossen, dem Plugin X einige zusätzliche Funktionen hinzuzufügen (stellen Sie es sich als Upgrade vor). Ich möchte also zusätzliche Funktionen mit einem anderen Plugin Y erstellen, das von X abhängt (und von X erbt).
Dieses Plugin Y funktioniert nicht mit Plugin X.

Wie kann ich das machen?

6
Gowri

der beste Weg, dies zu tun, besteht darin, Ihr X-Plugin mit eigenen Hooks für Aktionen und Filter zu versehen, damit neue Plugins (in Ihrem Fall Y) mit den Funktionen und Daten von Plugin X interagieren können. Das Definieren eigener Hooks ist relativ einfach und unkompliziert.

Aktionshaken

aus dem Kodex:

Aktionen sind die Haken, die der WordPress-Kern an bestimmten Punkten während der Ausführung oder beim Eintreten bestimmter Ereignisse startet. Ihr Plugin kann angeben, dass eine oder mehrere seiner PHP -Funktionen an diesen Punkten mithilfe der Aktions-API ausgeführt werden.

beispiel eines neuen Aktions-Hooks:

Function whatever(){
   //regular stuff you do normally 
  do_action('Name-Of-Your-Action-hook', $args1,$args2)
  //regular stuff you do normally
}

Jetzt können wir mit dieser Funktion interagieren und ihre Argumente ($ args1, $ args2) mit dem 'Name-Of-Your_hook'-Hook verwenden

add_action('Name-Of-Your-Action-hook','hook_function_callback');

Filterhaken

aus dem Kodex:

Filter sind die Haken, die WordPress startet, um Text verschiedener Arten zu ändern, bevor er der Datenbank hinzugefügt oder an den Browser-Bildschirm gesendet wird. Ihr Plugin kann festlegen, dass eine oder mehrere seiner PHP -Funktionen ausgeführt werden, um bestimmte Textarten zu diesen Zeitpunkten mithilfe der Filter-API zu ändern.

beispiel eines neuen Filterhakens:

Function whatever(){
   //regular stuff you do normally 
   $output = apply_filters('Name-Of-Your-Filter-hook', $output,$args1,$args2)
  //regular stuff you do normally
}

Jetzt können wir mit dieser Funktion interagieren, $ output use und seine Argumente ($ args1, $ args2) mit dem 'Name-Of-Your-Filter-Hook'-Hook filtern

add_filter('Name-Of-Your_hook','hook_function_callback');

Ein gutes Beispiel dafür wäre Kontaktformular 7

  • Kontaktformular 7 - Kampagnenmonitor-Addon
  • Kontaktformular 7 Dynamische Texterweiterung
  • Kontaktformular 7 Kalender
  • Kontaktformular 7 Textbereich Wordcount
  • Kontaktieren Sie Form 7 Customfield per Mail
  • Kontaktformular 7 zur Datenbankerweiterung

und viele weitere, die alle (die meisten) Plugins sind, die die Funktionalität von Contact Form 7 basierend auf seinen Hooks erweitern.

17
Bainternet

Machen Sie einige Haken in Ihrem Eltern-Plugin, an die das Kind-Plugin ihre eigene Funktion anhängen kann. Schließen Sie auch das untergeordnete Plugin in if(function_exists('parent-plugin-function')) oder class_exists ein, wenn es eine Klasse ist.

7
Ashfame