Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Wordpress durch eigene Plugins erweitern

Wordpress durch eigene Plugins erweitern.
Vortrag #wpblogger Hannover
15.02.2012

Related Books

Free with a 30 day trial from Scribd

See all

Related Audiobooks

Free with a 30 day trial from Scribd

See all
  • Be the first to comment

  • Be the first to like this

Wordpress durch eigene Plugins erweitern

  1. 1. Wordpress durch eigene 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. Plugin Mindestens eine PHP Datei mit Metadaten 4
  5. 5. Hooks WordPress basiert auf dem Hook-System. Dieses dient WordPress und allen Erweiterungen um Funktionen an bestimmter Stelle einzubringen. Die Hooks sind aber nicht nur zum einhaken, sondern können ebenso in eigene Erweiterungen genutzt werden (Stichwort: do_action() ).
  6. 6. Filter und Actions 2 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 Filter add_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 Aktion add_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 Deaktivieren Beispiel. Die Kategoriezuordnung entfernen Siehe 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 Dialog Eigener Dialog
  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ücher Das WordPress-Buch von Frank Bültge Erläutert auch kurz das schreiben eines Plugins. Deutsch, 34,90 € WordPress 3 Plugin Development Essentials von Brian Bondari undEverett Griffiths. English. 36 US$ Als Ebook manchmal beim Verlag im Angebot als Bundle mit Wordpress SEO für zusammen 20 €

×