Filter, Actions, Hooks -
Was zum Geier ist das?
Frank Staude <frank@staude.net>
Hallo!
Frank Staude

!
Email: frank@staude.net

Twitter: @staude

!
WordPress / BuddyPress Entwickler
bei der Rheinschmied...
Schon mal gehört?
• Dann Hook dich da rein!

!
• Das kannst du per Filter noch
ändern.

!
• Da kann man „von außen“ noch
w...
Hooks?
Ein Hook bezeichnet in der Informatik eine Schnittstelle, mit der

bestehender Programmcode durch dritte erweitert ...
Actions?
• Ein Action Hook sagt: Ich habe etwas gemacht. Wenn
du drauf reagieren musst, dann tu es.

!
• Hooks werden von ...
Actions?
• do_action() ruft Funktionen auf, die sich auf die
jeweilige Aktion registriert haben.

!
• Von do_action() aufg...
Actions!
Aktionen werden aufgerufen an der Stelle, wo sich im Code ein
do_action() Aufruf befindet. Die aufgerufenen Aktion...
Filter?
• Ein Filter Hook sagt: Hier ist Inhalt, mach damit etwas,
bevor ich ihn weiter verwende.

!
• Filter werden von d...
Filter!
• apply_filters() ruft Funktionen auf, die sich auf den
jeweiligen Hook registriert haben.

!
• Registrierung via a...
Filter!
Filter nehmen Inhalt entgegen, verändern ihn und geben ihn zurück. Alle auf
einen Hook registrierten Filter werden...
Wie finde ich Hooks?
Code von Core/Plugins nach do_action(),
do_actions_ref_array(), apply_filters() und
apply_filters_ref_ar...
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
Wie finde ich Hooks?
Adam Browns WP Hook Database

adambrown.info/p/wp_hooks
Beispiele
• wp_head (Action)

!
• the_title (Filter)

!
• restrict_manage_posts (Filter)

!
• manage_${post_type}_posts_co...
Beispiel 1: wp_head()
Beispiel 1: wp_head()
Beispiel 1: wp_head()
Beispiel 1_ wp_head
Beispiel 1: wp_head
Beispiel 2: the_title
Beispiel 2: the_title
Beispiel 2: the_title
Beispiel 2: the_title
Beispiel 2: the_title
Beispiel 2: the_title
Beispiel 2: the_title
Beispiel 2: the_title
Beispiel 2: the_title
Beispiel 2: the_title
Beispiel 3: restrict_manage_posts
Beispiel 3: restrict_manage_posts
Beispiel 3: restrict_manage_posts
Beispiel 4: manage_post_posts_columns
Beispiel 4: manage_post_posts_columns
Links
• de.forums.wordpress.org/
• wpmeetup-hannover.de
• profiles.wordpress.org/fstaude
• de.wikipedia.org/wiki/Hook_(Info...
Credits
• Seite 1, Logo und Bild: WordCamp Hamburg
• Seite 3, Foto Paris Tuileries Garden Facepalm statue
CC BY 2.0. Alex ...
Danke für eure Aufmerksamkeit
Jetzt kommen eure Fragen!
Nächste SlideShare
Wird geladen in …5
×

Filter, Actions, Hooks - Was zum Geier ist das?

1.863 Aufrufe

Veröffentlicht am

Filter, Actions, Hooks -
Was zum Geier ist das?

Veröffentlicht in: Technologie
0 Kommentare
0 Gefällt mir
Statistik
Notizen
  • Als Erste(r) kommentieren

  • Gehören Sie zu den Ersten, denen das gefällt!

Keine Downloads
Aufrufe
Aufrufe insgesamt
1.863
Auf SlideShare
0
Aus Einbettungen
0
Anzahl an Einbettungen
372
Aktionen
Geteilt
0
Downloads
5
Kommentare
0
Gefällt mir
0
Einbettungen 0
Keine Einbettungen

Keine Notizen für die Folie

Filter, Actions, Hooks - Was zum Geier ist das?

  1. 1. Filter, Actions, Hooks - Was zum Geier ist das? Frank Staude <frank@staude.net>
  2. 2. Hallo! Frank Staude ! Email: frank@staude.net Twitter: @staude ! WordPress / BuddyPress Entwickler bei der Rheinschmiede ! Moderator im deutschen WordPress.org Supportforum ! WP Meetup Hannover ! Plugins
  3. 3. Schon mal gehört? • Dann Hook dich da rein! ! • Das kannst du per Filter noch ändern. ! • Da kann man „von außen“ noch was ändern / manipulieren ! • Das kannst du per Plugin „steuern“
  4. 4. 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
  5. 5. 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()
  6. 6. 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()
  7. 7. 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.
  8. 8. 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.
  9. 9. Filter! • apply_filters() ruft Funktionen auf, die sich auf den jeweiligen Hook registriert haben. ! • Registrierung via add_filter() ! • Beispiel: index template, the_title()
  10. 10. 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.
  11. 11. Wie finde ich Hooks? Code von Core/Plugins nach do_action(), do_actions_ref_array(), apply_filters() und apply_filters_ref_array() durchsuchen.
  12. 12. Wie finde ich Hooks? Codex Filter Referenz: codex.wordpress.org/Plugin_API/Filter_Reference
  13. 13. Wie finde ich Hooks? Codex Action Referenz: codex.wordpress.org/Plugin_API/Action_Reference
  14. 14. Wie finde ich Hooks? Adam Browns WP Hook Database adambrown.info/p/wp_hooks
  15. 15. Beispiele • wp_head (Action) ! • the_title (Filter) ! • restrict_manage_posts (Filter) ! • manage_${post_type}_posts_columns (Filter)
 manage_$post_type_posts_custom_column (Action)
  16. 16. Beispiel 1: wp_head()
  17. 17. Beispiel 1: wp_head()
  18. 18. Beispiel 1: wp_head()
  19. 19. Beispiel 1_ wp_head
  20. 20. Beispiel 1: wp_head
  21. 21. Beispiel 2: the_title
  22. 22. Beispiel 2: the_title
  23. 23. Beispiel 2: the_title
  24. 24. Beispiel 2: the_title
  25. 25. Beispiel 2: the_title
  26. 26. Beispiel 2: the_title
  27. 27. Beispiel 2: the_title
  28. 28. Beispiel 2: the_title
  29. 29. Beispiel 2: the_title
  30. 30. Beispiel 2: the_title
  31. 31. Beispiel 3: restrict_manage_posts
  32. 32. Beispiel 3: restrict_manage_posts
  33. 33. Beispiel 3: restrict_manage_posts
  34. 34. Beispiel 4: manage_post_posts_columns
  35. 35. Beispiel 4: manage_post_posts_columns
  36. 36. Links • de.forums.wordpress.org/ • wpmeetup-hannover.de • profiles.wordpress.org/fstaude • de.wikipedia.org/wiki/Hook_(Informatik) • codex.wordpress.org/Plugin_API#Actions • codex.wordpress.org/Plugin_API#Filters • codex.wordpress.org/Function_Reference/do_action • codex.wordpress.org/Function_Reference/do_action_ref_array • codex.wordpress.org/Function_Reference/add_action • codex.wordpress.org/Plugin_API/Action_Reference/wp_head • codex.wordpress.org/Function_Reference/apply_filters • codex.wordpress.org/Function_Reference/apply_filters_ref_array • codex.wordpress.org/Plugin_API/Filter_Reference/the_title • codex.wordpress.org/Plugin_API/Filter_Reference • codex.wordpress.org/Plugin_API/Action_Reference • adambrown.info/p/wp_hooks • codex.wordpress.org/Plugin_API/Filter_Reference/manage_$post_type_posts_columns • codex.wordpress.org/Plugin_API/Action_Reference/manage_$post_type_posts_custom_column
  37. 37. Credits • Seite 1, Logo und Bild: WordCamp Hamburg • Seite 3, Foto Paris Tuileries Garden Facepalm statue CC BY 2.0. Alex E. Proimos - http://www.flickr.com/ photos/proimos/4199675334/
  38. 38. Danke für eure Aufmerksamkeit Jetzt kommen eure Fragen!

×