WordPress - eigene Plugins erstellen

Post on 21-Jan-2018

776 views 5 download

Transcript of WordPress - eigene Plugins erstellen

Hallo!

Frank Staude

Email: frank@staude.netTwitter: @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

WordPress

WordPress

Server

Entwicklungsumgebung

Theme

Plugin

oder

Themes

Plugins

Widgets

Hooks

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

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

WordPressWeg

Nicht für PluginsSelbstgemacht ist ok, aber

Lerndie

APIs

Weitere

Klassen

Konzepte

Gernemal

Übersehen

• Multisite !?

• Datenvalidierung

• Übersetzbarkeit

• Erweiterbarkeit

Dokumentation

Werkzeuge

Danke! Fragen?Frank Staude

Email: frank@staude.netTwitter: @staudeWebseite: www.staude.netGitHub: staude