Diese Präsentation wurde erfolgreich gemeldet.
Wir verwenden Ihre LinkedIn Profilangaben und Informationen zu Ihren Aktivitäten, um Anzeigen zu personalisieren und Ihnen relevantere Inhalte anzuzeigen. Sie können Ihre Anzeigeneinstellungen jederzeit ändern.
Entwickeln mit Wordpress<br />WordcampSwitzerland 2011<br />Michael Sebel<br />Blogwerk AG<br />07. Mai 2011<br />
Was machen wir den heute?<br />Das Pluginsystem<br />Funktionen oder Klassen<br />Hooks: Grobes Geschütz<br />Shortcodes<b...
Das Pluginsystem<br />Ordner & File erstellen, Kommentar, fertig:<br />In „wp-content/plugin“ File.php oder Ordner/File.ph...
Das Pluginsystem<br />Beispiel eines Pluginkommentares<br /><?php<br />/*<br />Plugin Name: My_Example_Plugin<br />Plugin ...
Das Pluginsystem<br />Und schon erscheint das Plugin in der Liste<br />Alle Kommentare: http://codex.wordpress.org/Writing...
Klassen oder Funktionen<br />Wer kann sollte mit Klassen programmieren<br />Die Vorteile<br />Autocomplete, auch von Wordp...
Klassen oder Funktionen<br />Beispiel 1:<br />Autovervollständigung mit Klassen<br />Beispiel 2:<br />Einfacher Autoloader...
Hooks: Grobes Geschütz<br />Actions<br />Wenn bestimmte „Dinge“ in Wordpress geschehen<br />Primär zum ausführen von Code ...
Hooks: Grobes Geschütz<br />Mit „do_action“ und „apply_filter“ können auch problemloseigene Wordpress Filter definiert wer...
Hooks: Grobes Geschütz<br />Beispiel 1:<br />Anwendung einiger wichtiger Actions<br />Beispiel 2:<br />Sinnvolle Anwendung...
Shortcodes<br />Codes die im Editor angewendet werden können<br />Syntax: [tag_name]<br />Attribute: [tag_name attr1=“wert...
Sidebars / Themes<br />Definition einer Sidebar (z.B. in der functions.php)<br /><?php<br />register_sidebar(array(<br /> ...
Sidebars / Themes<br />Neue Sidebar erscheint im Backend<br />
Widgets für die Sidebar<br />Widgets sind als Klassen umzusetzen<br />Einfache Einstellungsdialoge<br />Mehrfach in versch...
Back- und Frontend Ajax<br />Ajax über „/wp-admin/admin-ajax.php“<br />Unterschiedliche Calls für eingeloggte/nicht eingel...
Questions / Downloads<br />Fragen? Anregungen?<br />Downloads<br />http://static.blog.blogwerk.com/files/wp-development.zi...
Nächste SlideShare
Wird geladen in …5
×

Entwickeln mit Wordpress

1.746 Aufrufe

Veröffentlicht am

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

Veröffentlicht in: Technologie, Business
  • Als Erste(r) kommentieren

  • Gehören Sie zu den Ersten, denen das gefällt!

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 />

×