WordPress - eigene Plugins erstellen

81
WordPress - eigene Plugins erstellen 14.02.2017 Frank Staude [email protected] WordPress Meetup Frankfurt

Transcript of WordPress - eigene Plugins erstellen

Page 2: WordPress - eigene Plugins erstellen

Hallo!

Frank Staude

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

Co-Founder of WP Meetup HannoverOrganizer of WP Meetup NürnbergOrganizer of WooCommerce Meetup NürnbergCo-Organizer of WP Meetup WürzburgCo-Organizer and Speaker @ WordCamp Nürnberg 2016Mod @ german WordPress.org SupportforumGeneral Translation Editor / germanSpeaker/Volunteer @ WordCamp Hamburg 2014,Cologne 2015, Berlin 2015, Nürnberg 2016, Frankfurt 2016, Cologne 2016Co-Founder of adminpress.de

Page 3: WordPress - eigene Plugins erstellen

WordPress

Page 4: WordPress - eigene Plugins erstellen
Page 5: WordPress - eigene Plugins erstellen
Page 6: WordPress - eigene Plugins erstellen
Page 7: WordPress - eigene Plugins erstellen

WordPress

Page 8: WordPress - eigene Plugins erstellen

Server

Page 9: WordPress - eigene Plugins erstellen
Page 10: WordPress - eigene Plugins erstellen
Page 11: WordPress - eigene Plugins erstellen
Page 12: WordPress - eigene Plugins erstellen
Page 13: WordPress - eigene Plugins erstellen
Page 14: WordPress - eigene Plugins erstellen
Page 15: WordPress - eigene Plugins erstellen

Entwicklungsumgebung

Page 16: WordPress - eigene Plugins erstellen
Page 17: WordPress - eigene Plugins erstellen
Page 18: WordPress - eigene Plugins erstellen
Page 19: WordPress - eigene Plugins erstellen
Page 20: WordPress - eigene Plugins erstellen

Theme

Plugin

oder

Page 21: WordPress - eigene Plugins erstellen

Themes

Page 22: WordPress - eigene Plugins erstellen
Page 23: WordPress - eigene Plugins erstellen
Page 24: WordPress - eigene Plugins erstellen
Page 25: WordPress - eigene Plugins erstellen

Plugins

Page 26: WordPress - eigene Plugins erstellen
Page 27: WordPress - eigene Plugins erstellen

Widgets

Page 28: WordPress - eigene Plugins erstellen
Page 29: WordPress - eigene Plugins erstellen
Page 30: WordPress - eigene Plugins erstellen

Hooks

Page 31: WordPress - eigene Plugins erstellen

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 32: WordPress - eigene Plugins erstellen

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 33: WordPress - eigene Plugins erstellen

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 34: WordPress - eigene Plugins erstellen

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 35: WordPress - eigene Plugins erstellen

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 36: WordPress - eigene Plugins erstellen

Filter!

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

• Registrierung via add_filter()

• Beispiel: index template, the_title()

Page 37: WordPress - eigene Plugins erstellen

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 38: WordPress - eigene Plugins erstellen

Hooks finden

Page 39: WordPress - eigene Plugins erstellen

Wie finde ich Hooks?

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

Page 40: WordPress - eigene Plugins erstellen

Wie finde ich Hooks?

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

Page 41: WordPress - eigene Plugins erstellen

Wie finde ich Hooks?

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

Page 42: WordPress - eigene Plugins erstellen

Plugin

Page 43: WordPress - eigene Plugins erstellen
Page 44: WordPress - eigene Plugins erstellen
Page 45: WordPress - eigene Plugins erstellen

Niemals CORE-Files ändern!

Page 46: WordPress - eigene Plugins erstellen

Geh den

WordPressWeg

Page 47: WordPress - eigene Plugins erstellen

Nicht für PluginsSelbstgemacht ist ok, aber

Page 48: WordPress - eigene Plugins erstellen

Lerndie

APIs

Page 49: WordPress - eigene Plugins erstellen
Page 50: WordPress - eigene Plugins erstellen
Page 51: WordPress - eigene Plugins erstellen
Page 52: WordPress - eigene Plugins erstellen
Page 53: WordPress - eigene Plugins erstellen
Page 54: WordPress - eigene Plugins erstellen
Page 55: WordPress - eigene Plugins erstellen
Page 56: WordPress - eigene Plugins erstellen
Page 57: WordPress - eigene Plugins erstellen
Page 58: WordPress - eigene Plugins erstellen
Page 59: WordPress - eigene Plugins erstellen
Page 60: WordPress - eigene Plugins erstellen
Page 61: WordPress - eigene Plugins erstellen
Page 62: WordPress - eigene Plugins erstellen
Page 63: WordPress - eigene Plugins erstellen
Page 64: WordPress - eigene Plugins erstellen
Page 65: WordPress - eigene Plugins erstellen
Page 66: WordPress - eigene Plugins erstellen

Weitere

Klassen

Page 67: WordPress - eigene Plugins erstellen
Page 68: WordPress - eigene Plugins erstellen
Page 69: WordPress - eigene Plugins erstellen
Page 70: WordPress - eigene Plugins erstellen
Page 71: WordPress - eigene Plugins erstellen

Konzepte

Page 72: WordPress - eigene Plugins erstellen
Page 73: WordPress - eigene Plugins erstellen
Page 74: WordPress - eigene Plugins erstellen
Page 75: WordPress - eigene Plugins erstellen
Page 76: WordPress - eigene Plugins erstellen
Page 77: WordPress - eigene Plugins erstellen

Gernemal

Übersehen

Page 78: WordPress - eigene Plugins erstellen

• Multisite !?

• Datenvalidierung

• Übersetzbarkeit

• Erweiterbarkeit

Page 79: WordPress - eigene Plugins erstellen

Dokumentation

Page 80: WordPress - eigene Plugins erstellen

Werkzeuge

Page 81: WordPress - eigene Plugins erstellen

Danke! Fragen?Frank Staude

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