WordPress - eigene Plugins erstellen
14.02.2017
Frank Staude
frank@staude.net
WordPress Meetup
Frankfurt
Hallo!
Frank Staude

Email: frank@staude.net

Twitter: @staude

Webseite: www.staude.net

GitHub: staude

Co-Founder of WP Meetup Hannover

Organizer of WP Meetup Nürnberg

Organizer of WooCommerce Meetup Nürnberg

Co-Organizer of WP Meetup Würzburg

Co-Organizer and Speaker @ WordCamp Nürnberg 2016

Mod @ german WordPress.org Supportforum

General Translation Editor / german

Speaker/Volunteer @ WordCamp Hamburg 2014,Cologne 2015, 

Berlin 2015, Nürnberg 2016, Frankfurt 2016, Cologne 2016

Co-Founder of adminpress.de
WordPress
WordPress
Server
Entwicklungsumgebung
Theme
Plugin
oder
Themes
Plugins
Widgets
Hooks
Hooks?
Ein Hook bezeichnet in der Informatik eine Schnittstelle, mit der

bestehender Programmcode durch dritte erweitert werden kann.

Über einen Hook (deutsch Haken) kann man sich in Wordpress an

definierten Stellen “einhaken” und dort eigenen Programmcode
ausführen.

Es ist also möglich Wordpress zu manipulieren, ohne den
eigentlichen Code zu verändern. Das bedeutet, das die Eingriffe
die man vorgenommen hat, auch eine Aktualisierung des
Wordpress Core überstehen.

Es gibt zwei Arten von Hooks in Wordpress

• Actions

• Filter
Actions?
• Ein Action Hook sagt: Ich habe etwas gemacht. Wenn
du drauf reagieren musst, dann tu es.

• Hooks werden von den Funktionen aufgerufen

• do_action()

• do_actions_ref_array()
Actions?
• do_action() ruft Funktionen auf, die sich auf die jeweilige
Aktion registriert haben.

• Von do_action() aufgerufene Funktionen beeinflussen
sich nicht gegenseitig.

• Registrierung via add_action()

• Beispiel: header template, wp_head()
Actions!
Aktionen werden aufgerufen an der Stelle, wo sich im Code ein
do_action() Aufruf befindet. Die aufgerufenen Aktionen können sich
nicht gegenseitig beeinflussen und geben auch nichts an die
aufrufende Stelle zurück.
Filter?
• Ein Filter Hook sagt: Hier ist Inhalt, mach damit etwas,
bevor ich ihn weiter verwende.

• Filter werden von der Funktion aufgerufen

• apply_filters()

• apply_filters_ref_array()

• Filter bilden „Ketten“, die Rückgabe der ersten Funktion
ist die Eingabe der zweiten Funktion usw.
Filter!
• apply_filters() ruft Funktionen auf, die sich auf den
jeweiligen Hook registriert haben.

• Registrierung via add_filter()

• Beispiel: index template, the_title()
Filter!
Filter nehmen Inhalt entgegen, verändern ihn und geben ihn zurück. Alle auf
einen Hook registrierten Filter werden nacheinander als Kette aufgerufen. Der
Rückgabewert des ersten Filters ist der Input des zweiten Filters usw bis alle
Filter für den Hook durchlaufen sind. Mit dem Rückgabewert des letzten Filters
läuft dann der aufrufende Programmcode weiter.
Hooks finden
Wie finde ich Hooks?
Code von Core/Plugins nach do_action(),
do_actions_ref_array(), apply_filters() und
apply_filters_ref_array() durchsuchen.
Wie finde ich Hooks?
Codex Filter Referenz: 

codex.wordpress.org/Plugin_API/Filter_Reference
Wie finde ich Hooks?	
Codex Action Referenz: 

codex.wordpress.org/Plugin_API/Action_Reference
Plugin
Niemals CORE-Files ändern!
Geh den
WordPress
Weg
Nicht für Plugins
Selbstgemacht ist ok, aber
Lern
die
APIs
Weitere
Klassen
Konzepte
Gerne
mal
Übersehen
• Multisite !?
• Datenvalidierung
• Übersetzbarkeit
• Erweiterbarkeit
Dokumentation
Werkzeuge
Danke! Fragen?
Frank Staude

Email: frank@staude.net

Twitter: @staude

Webseite: www.staude.net

GitHub: staude

WordPress - eigene Plugins erstellen

  • 1.
    WordPress - eigenePlugins erstellen 14.02.2017 Frank Staude frank@staude.net WordPress Meetup Frankfurt
  • 2.
    Hallo! Frank Staude Email: frank@staude.net Twitter:@staude Webseite: www.staude.net GitHub: staude Co-Founder of WP Meetup Hannover Organizer of WP Meetup Nürnberg Organizer of WooCommerce Meetup Nürnberg Co-Organizer of WP Meetup Würzburg Co-Organizer and Speaker @ WordCamp Nürnberg 2016 Mod @ german WordPress.org Supportforum General Translation Editor / german Speaker/Volunteer @ WordCamp Hamburg 2014,Cologne 2015, 
 Berlin 2015, Nürnberg 2016, Frankfurt 2016, Cologne 2016 Co-Founder of adminpress.de
  • 3.
  • 7.
  • 8.
  • 15.
  • 20.
  • 21.
  • 25.
  • 27.
  • 30.
  • 31.
    Hooks? Ein Hook bezeichnetin der Informatik eine Schnittstelle, mit der bestehender Programmcode durch dritte erweitert werden kann. Über einen Hook (deutsch Haken) kann man sich in Wordpress an definierten Stellen “einhaken” und dort eigenen Programmcode ausführen. Es ist also möglich Wordpress zu manipulieren, ohne den eigentlichen Code zu verändern. Das bedeutet, das die Eingriffe die man vorgenommen hat, auch eine Aktualisierung des Wordpress Core überstehen. Es gibt zwei Arten von Hooks in Wordpress • Actions • Filter
  • 32.
    Actions? • Ein ActionHook sagt: Ich habe etwas gemacht. Wenn du drauf reagieren musst, dann tu es. • Hooks werden von den Funktionen aufgerufen • do_action() • do_actions_ref_array()
  • 33.
    Actions? • do_action() ruftFunktionen auf, die sich auf die jeweilige Aktion registriert haben. • Von do_action() aufgerufene Funktionen beeinflussen sich nicht gegenseitig. • Registrierung via add_action() • Beispiel: header template, wp_head()
  • 34.
    Actions! Aktionen werden aufgerufenan der Stelle, wo sich im Code ein do_action() Aufruf befindet. Die aufgerufenen Aktionen können sich nicht gegenseitig beeinflussen und geben auch nichts an die aufrufende Stelle zurück.
  • 35.
    Filter? • Ein FilterHook sagt: Hier ist Inhalt, mach damit etwas, bevor ich ihn weiter verwende. • Filter werden von der Funktion aufgerufen • apply_filters() • apply_filters_ref_array() • Filter bilden „Ketten“, die Rückgabe der ersten Funktion ist die Eingabe der zweiten Funktion usw.
  • 36.
    Filter! • apply_filters() ruftFunktionen auf, die sich auf den jeweiligen Hook registriert haben. • Registrierung via add_filter() • Beispiel: index template, the_title()
  • 37.
    Filter! Filter nehmen Inhaltentgegen, verändern ihn und geben ihn zurück. Alle auf einen Hook registrierten Filter werden nacheinander als Kette aufgerufen. Der Rückgabewert des ersten Filters ist der Input des zweiten Filters usw bis alle Filter für den Hook durchlaufen sind. Mit dem Rückgabewert des letzten Filters läuft dann der aufrufende Programmcode weiter.
  • 38.
  • 39.
    Wie finde ichHooks? Code von Core/Plugins nach do_action(), do_actions_ref_array(), apply_filters() und apply_filters_ref_array() durchsuchen.
  • 40.
    Wie finde ichHooks? Codex Filter Referenz: codex.wordpress.org/Plugin_API/Filter_Reference
  • 41.
    Wie finde ichHooks? Codex Action Referenz: codex.wordpress.org/Plugin_API/Action_Reference
  • 42.
  • 45.
  • 46.
  • 47.
  • 48.
  • 66.
  • 71.
  • 77.
  • 78.
    • Multisite !? •Datenvalidierung • Übersetzbarkeit • Erweiterbarkeit
  • 79.
  • 80.
  • 81.
    Danke! Fragen? Frank Staude Email:frank@staude.net Twitter: @staude Webseite: www.staude.net GitHub: staude