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.

Entwickeln mit Wordpress

1,766 views

Published on

Michael Sebel zeigt wie man ein Blog – oder ein Blog eines Kunden – mit Shortcodes, Filtern, Actions, Widgets, Themes und Theme Features sowie eigenen Admin-Menüstrukturen, Backends, Page Templates und ein bisschen Ajax individualisieren kann.

Code Beispiele Download:
http://static.blog.blogwerk.com/files/wp-development.zip

Published in: Technology, Business
  • Be the first to comment

  • Be the first to like this

Entwickeln mit Wordpress

  1. 1. Entwickeln mit Wordpress<br />WordcampSwitzerland 2011<br />Michael Sebel<br />Blogwerk AG<br />07. Mai 2011<br />
  2. 2. Was machen wir den heute?<br />Das Pluginsystem<br />Funktionen oder Klassen<br />Hooks: Grobes Geschütz<br />Shortcodes<br />Sidebars / Themes<br />Widgets für die Sidebar<br />Back-/Frontend Ajax<br />Backend Module/Menus<br />
  3. 3. Das Pluginsystem<br />Ordner & File erstellen, Kommentar, fertig:<br />In „wp-content/plugin“ File.php oder Ordner/File.php erstellen<br />Im File einen Kommentar erstellen<br />
  4. 4. Das Pluginsystem<br />Beispiel eines Pluginkommentares<br /><?php<br />/*<br />Plugin Name: My_Example_Plugin<br />Plugin URI: http://blogwerk.com<br />Description: Beispielplugin fürs Wordcamp<br />Author: Michael Sebel<br />Version: 1.0#1<br />Author URI: http://blogwerk.com<br />*/<br />
  5. 5. Das Pluginsystem<br />Und schon erscheint das Plugin in der Liste<br />Alle Kommentare: http://codex.wordpress.org/Writing_a_Plugin#Names.2C_Files.2C_and_Locations<br />
  6. 6. Klassen oder Funktionen<br />Wer kann sollte mit Klassen programmieren<br />Die Vorteile<br />Autocomplete, auch von Wordpress Objekten<br />Bessere Code Strukturierung<br />Registrierung von Autoloadern möglich (GrösserePlugins)<br />Freiheit im Naming von Funktionen<br />Vorteile die OOP bietet (Abstraktion, Interfaces)<br />
  7. 7. Klassen oder Funktionen<br />Beispiel 1:<br />Autovervollständigung mit Klassen<br />Beispiel 2:<br />Einfacher Autoloader<br />* Download der Code-Beispiele auf letzter Folie<br />
  8. 8. Hooks: Grobes Geschütz<br />Actions<br />Wenn bestimmte „Dinge“ in Wordpress geschehen<br />Primär zum ausführen von Code an bestimmtem Stellen<br />Liste aller Actions: http://codex.wordpress.org/Plugin_API/Action_Reference<br />Filter<br />Wenn bestimmte „Dinge“ verändert werden können<br />Um Daten vor/nach Speicherung/Anzeige zu ändern<br />Bekanntes Beispiel: Spamfilter<br />Liste aller Filter: http://codex.wordpress.org/Plugin_API/Filter_Reference<br />
  9. 9. Hooks: Grobes Geschütz<br />Mit „do_action“ und „apply_filter“ können auch problemloseigene Wordpress Filter definiert werden<br />Actions/Filter sind fast überall zu finden<br />Grundstein, damit wird irgendwo Code iniizieren und somitFeatures, Menus, Backends und Frontends entwickeln können<br />Das Verhalten von Wordpress kann an vielen Ecken und Kanten verändert werden.<br />Schwierigkeit liegt in der Reihenfolgeund…… im Herausfinden welche/r Action/Filter geeignet ist<br />
  10. 10. Hooks: Grobes Geschütz<br />Beispiel 1:<br />Anwendung einiger wichtiger Actions<br />Beispiel 2:<br />Sinnvolle Anwendung eines Filters (Spamcheck)<br />* Download der Code-Beispiele auf letzter Folie<br />
  11. 11. Shortcodes<br />Codes die im Editor angewendet werden können<br />Syntax: [tag_name]<br />Attribute: [tag_name attr1=“wert1“ attr2=“attr3“]<br />Einschliessen: [tag_name]Irgend ein Text[/tag_name]<br /><?php<br />add_shortcode('hello_box',‘my_hello_box');<br />function my_hello_box($args,$content) {<br /> // $html generierenmitetwas Code hier…<br />return($html);<br />}<br />
  12. 12. Sidebars / Themes<br />Definition einer Sidebar (z.B. in der functions.php)<br /><?php<br />register_sidebar(array(<br /> 'name' => 'Sidebar (Aktuelles)',<br /> 'id' => 'sidebar-news',<br />));<br />Anwendung in einer Themedatei / Pagetemplate<br /><ulclass="sidebar"><br /> <?phpdynamic_sidebar('sidebar-news'); ?><br /></ul><br />
  13. 13. Sidebars / Themes<br />Neue Sidebar erscheint im Backend<br />
  14. 14. Widgets für die Sidebar<br />Widgets sind als Klassen umzusetzen<br />Einfache Einstellungsdialoge<br />Mehrfach in verschiedenen Sidebars verwendbar<br /><?php<br />// PHP > 5.3 müssen “create_function” verwenden<br />add_action('widgets_init', function() { return register_widget('My_Widget');});<br />* Download der Code-Beispiele auf letzter Folie<br />
  15. 15. Back- und Frontend Ajax<br />Ajax über „/wp-admin/admin-ajax.php“<br />Unterschiedliche Calls für eingeloggte/nicht eingeloggte User<br />Kein Plugin (mehr) nötig, geht out-of-the-box<br />Beispiel 1:<br />Basis für einen Ajax Request<br />* Download der Code-Beispiele auf letzter Folie<br />
  16. 16. Questions / Downloads<br />Fragen? Anregungen?<br />Downloads<br />http://static.blog.blogwerk.com/files/wp-development.zip(Codebeispiele)<br />

×