Wordpress durcheigene Plugins erweitern          #wpblogger Hannover               15.02.2012    Frank Staude <frank@staud...
Warum Plugins?•   Unabhängig vom Theme•   Hinzufügen neuer Funktionen•   Entfernen vorhandener Funktionen•   Funktionen er...
Plugins
PluginMindestens eine PHP Datei mit Metadaten                                          4
HooksWordPress basiert auf dem Hook-System.Dieses dient WordPress und allenErweiterungen um Funktionen anbestimmter Stelle...
Filter und Actions2 Arten von Hooks• Filter machen etwas mit dem Inhalt.  add_filter()• Actions reagieren auf Aktionen  ad...
Einfacher Filteradd_filter(Element, Funktion);Siehe Beispiel 1 im Zip mit dem Beispielen.// Einfacher Filter, Alles in kle...
Einfache Aktionadd_action(Action, Funktion);Siehe Beispiel 2 im Zip mit dem Beispielen.// Einfache Aktion. Dem Kopf etwas ...
Einstellung DeaktivierenBeispiel. Die Kategoriezuordnung entfernenSiehe Beispiel 3 im Zip mit dem Beispielen.add_action(ad...
Beispiel: Kategoriezuordnung             ersetzen.Original Wordpress   Eigener DialogDialog
Beispiel: Kategoriezuordnung               ersetzen.Aufgaben um den Kategorie Dialog auszutauschen.• Altes Dialogfeld entf...
Beispiel: Kategoriezuordnung                        ersetzen.Siehe Beispiel 4 (bzw Beispiel 5 als Implementierung in einer...
Beliebte Fehler• DB Prefix  Die Tabellen müssen nicht mit wp_ anfangen.• MultiSite  Du bist nicht zwingend alleine in der ...
BücherDas WordPress-Buch von Frank BültgeErläutert auch kurz das schreiben einesPlugins.Deutsch, 34,90 €WordPress 3 Plugin...
Nächste SlideShare
Wird geladen in …5
×

Wordpress mit eigenen Plugins erweitern

1.060 Aufrufe

Veröffentlicht am

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.060
Auf SlideShare
0
Aus Einbettungen
0
Anzahl an Einbettungen
38
Aktionen
Geteilt
0
Downloads
0
Kommentare
0
Gefällt mir
0
Einbettungen 0
Keine Einbettungen

Keine Notizen für die Folie

Wordpress mit eigenen Plugins erweitern

  1. 1. Wordpress durcheigene Plugins erweitern #wpblogger Hannover 15.02.2012 Frank Staude <frank@staude.net>Download der Folie und der Beispiele unter http://www.staude.net/vortrage/
  2. 2. Warum Plugins?• Unabhängig vom Theme• Hinzufügen neuer Funktionen• Entfernen vorhandener Funktionen• Funktionen ersetzen.
  3. 3. Plugins
  4. 4. PluginMindestens eine PHP Datei mit Metadaten 4
  5. 5. HooksWordPress basiert auf dem Hook-System.Dieses dient WordPress und allenErweiterungen um Funktionen anbestimmter Stelle einzubringen. Die Hookssind aber nicht nur zum einhaken, sondernkönnen ebenso in eigene Erweiterungengenutzt werden (Stichwort: do_action() ).
  6. 6. Filter und Actions2 Arten von Hooks• Filter machen etwas mit dem Inhalt. add_filter()• Actions reagieren auf Aktionen add_action() Alle Filter- (Filters) und Tätigkeits-Hooks (Actions) sind auf der Plugin-API-Seite zu finden oder auf dem Blog WordPress Hooks ausführlich erklärt.
  7. 7. Einfacher Filteradd_filter(Element, Funktion);Siehe Beispiel 1 im Zip mit dem Beispielen.// Einfacher Filter, Alles in kleinschrift wandeln.add_filter(the_content, hello_world);function hello_world($content) { return strtolower($content);
  8. 8. Einfache Aktionadd_action(Action, Funktion);Siehe Beispiel 2 im Zip mit dem Beispielen.// Einfache Aktion. Dem Kopf etwas hinzufügen.add_action(wp_head, hello_world);function hello_world() { echo "<script type="text/javascript" > irgendein JS; </script>n";}
  9. 9. Einstellung DeaktivierenBeispiel. Die Kategoriezuordnung entfernenSiehe Beispiel 3 im Zip mit dem Beispielen.add_action(admin_menu, remove_meta_boxes );function remove_meta_boxes() { remove_meta_box(categorydiv, post, normal);}
  10. 10. Beispiel: Kategoriezuordnung ersetzen.Original Wordpress Eigener DialogDialog
  11. 11. Beispiel: Kategoriezuordnung ersetzen.Aufgaben um den Kategorie Dialog auszutauschen.• Altes Dialogfeld entfernen• Neues Dialogfeld hinzufügen• Neues Dialogfeld mit Inhalt füllen• Daten des neuen Dialogs speichern, wenn der Benutzer auf Speichern/Veröffentlichen des Artikels klickt.
  12. 12. Beispiel: Kategoriezuordnung ersetzen.Siehe Beispiel 4 (bzw Beispiel 5 als Implementierung in einer Klasse) im Zip mit dem Beispielen.add_action(admin_menu, my_remove_meta_boxes );add_action(admin_menu, my_plugin_menu);add_action(save_post, my_plugin_savepost);function my_remove_meta_boxes() { remove_meta_box(categorydiv, post, normal);}function my_plugin_menu() { add_meta_box("x_cat", "Kategorie", "my_plugin_htmloutput", "post");}function my_plugin_savepost($post_id) { // Code zum Speichern der Kategorien zum Post}function my_plugin_htmloutput(){ // HTML mit dem Inhalt der neuen Box. In diesem Beispiel // jQuery dynatree mit Inhalt aus den term_taxonomy und terms Tabellen}
  13. 13. Beliebte Fehler• DB Prefix Die Tabellen müssen nicht mit wp_ anfangen.• MultiSite Du bist nicht zwingend alleine in der Site.• Prefixe für Classen/Funktionen Auch andere Pluginprogrammierer können den naheliegendsten Namen wählen.• Kapsel deine Klasse/Funktion mit class_exists / function_exists um zu verhindern das die doppelte Deklaration das ganze System crasht (und normal User es nicht mehr rückgängmachen kann).
  14. 14. BücherDas WordPress-Buch von Frank BültgeErläutert auch kurz das schreiben einesPlugins.Deutsch, 34,90 €WordPress 3 Plugin DevelopmentEssentials von Brian Bondari undEverettGriffiths.English. 36 US$Als Ebook manchmal beim Verlag imAngebot als Bundle mit Wordpress SEOfür zusammen 20 €

×