Top Banner
Filter, Actions, Hooks - Was zum Geier ist das? Frank Staude <[email protected]>
37

WordCamp Köln Filter, Actions, Hooks - was zum Geier ist das?

Jul 27, 2015

Download

Internet

frankstaude
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: WordCamp Köln Filter, Actions, Hooks - was zum Geier ist das?

Filter, Actions, Hooks - Was zum Geier ist das? Frank Staude <[email protected]>

Page 2: WordCamp Köln Filter, Actions, Hooks - was zum Geier ist das?

Hallo!Frank Staude

Email: [email protected]: @staudeWebseite: www.staude.netGitHub: staude

AdminPress - WordPress Administration

Moderator im deutschen WordPress.org Supportforum

Validator für die deutsche BuddyPress Übersetzung

de.wordpress.org

WPMeetups

WP Meetup Hannover

WP Meetup Franken (Nürnberg)

Plugins

Page 3: WordCamp Köln Filter, Actions, Hooks - was zum Geier ist das?

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“

Page 4: WordCamp Köln Filter, Actions, Hooks - was zum Geier ist das?

Hooks?

Ein Hook bezeichnet in der Informatik eine Schnittstelle, mit derbestehender Programmcode durch dritte erweitert werden kann.

Über einen Hook (deutsch Haken) kann man sich in Wordpress andefinierten 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

Page 5: WordCamp Köln Filter, Actions, Hooks - was zum Geier ist das?

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()

Page 6: WordCamp Köln Filter, Actions, Hooks - was zum Geier ist das?

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()

Page 7: WordCamp Köln Filter, Actions, Hooks - was zum Geier ist das?

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.

Page 8: WordCamp Köln Filter, Actions, Hooks - was zum Geier ist das?

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.

Page 9: WordCamp Köln Filter, Actions, Hooks - was zum Geier ist das?

Filter!

• apply_filters() ruft Funktionen auf, die sich auf den jeweiligen Hook registriert haben.

• Registrierung via add_filter()

• Beispiel: index template, the_title()

Page 10: WordCamp Köln Filter, Actions, Hooks - was zum Geier ist das?

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.

Page 11: WordCamp Köln Filter, Actions, Hooks - was zum Geier ist das?

Wie finde ich Hooks?

Code von Core/Plugins nach do_action(), do_actions_ref_array(), apply_filters() und

apply_filters_ref_array() durchsuchen.

Page 12: WordCamp Köln Filter, Actions, Hooks - was zum Geier ist das?

Wie finde ich Hooks?

Codex Filter Referenz: codex.wordpress.org/Plugin_API/Filter_Reference

Page 13: WordCamp Köln Filter, Actions, Hooks - was zum Geier ist das?

Wie finde ich Hooks?

Codex Action Referenz: codex.wordpress.org/Plugin_API/Action_Reference

Page 14: WordCamp Köln Filter, Actions, Hooks - was zum Geier ist das?

Wie finde ich Hooks?

Adam Browns WP Hook Databaseadambrown.info/p/wp_hooks

Page 15: WordCamp Köln Filter, Actions, Hooks - was zum Geier ist das?

Beispiele• wp_head (Action)

• the_title (Filter)

• restrict_manage_posts (Filter)

• manage_${post_type}_posts_columns (Filter)manage_$post_type_posts_custom_column (Action)

Page 16: WordCamp Köln Filter, Actions, Hooks - was zum Geier ist das?

Beispiel 1: wp_head()

Page 17: WordCamp Köln Filter, Actions, Hooks - was zum Geier ist das?

Beispiel 1: wp_head()

Page 18: WordCamp Köln Filter, Actions, Hooks - was zum Geier ist das?

Beispiel 1: wp_head()

Page 19: WordCamp Köln Filter, Actions, Hooks - was zum Geier ist das?

Beispiel 1_ wp_head

Page 20: WordCamp Köln Filter, Actions, Hooks - was zum Geier ist das?

Beispiel 1: wp_head

Page 21: WordCamp Köln Filter, Actions, Hooks - was zum Geier ist das?

Beispiel 2: the_title

Page 22: WordCamp Köln Filter, Actions, Hooks - was zum Geier ist das?

Beispiel 2: the_title

Page 23: WordCamp Köln Filter, Actions, Hooks - was zum Geier ist das?

Beispiel 2: the_title

Page 24: WordCamp Köln Filter, Actions, Hooks - was zum Geier ist das?

Beispiel 2: the_title

Page 25: WordCamp Köln Filter, Actions, Hooks - was zum Geier ist das?

Beispiel 2: the_title

Page 26: WordCamp Köln Filter, Actions, Hooks - was zum Geier ist das?

Beispiel 2: the_title

Page 27: WordCamp Köln Filter, Actions, Hooks - was zum Geier ist das?

Beispiel 2: the_title

Page 28: WordCamp Köln Filter, Actions, Hooks - was zum Geier ist das?

Beispiel 2: the_title

Page 29: WordCamp Köln Filter, Actions, Hooks - was zum Geier ist das?

Beispiel 2: the_title

Page 30: WordCamp Köln Filter, Actions, Hooks - was zum Geier ist das?

Beispiel 3: restrict_manage_posts

Page 31: WordCamp Köln Filter, Actions, Hooks - was zum Geier ist das?

Beispiel 3: restrict_manage_posts

Page 32: WordCamp Köln Filter, Actions, Hooks - was zum Geier ist das?

Beispiel 3: restrict_manage_posts

Page 33: WordCamp Köln Filter, Actions, Hooks - was zum Geier ist das?

Beispiel 4: manage_post_posts_columns

Page 34: WordCamp Köln Filter, Actions, Hooks - was zum Geier ist das?

Beispiel 4: manage_post_posts_columns

Page 35: WordCamp Köln Filter, Actions, Hooks - was zum Geier ist das?

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

Page 36: WordCamp Köln Filter, Actions, Hooks - was zum Geier ist das?

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/

Page 37: WordCamp Köln Filter, Actions, Hooks - was zum Geier ist das?

Danke für eure Aufmerksamkeit Jetzt kommen eure Fragen!