entwickeln mit wordpress

16
Entwickeln mit Wordpress – Wordcamp Switzerland 2011 Entwickeln mit Wordpress Wordcamp Switzerland 2011 Michael Sebel Blogwerk AG 07. Mai 2011

Upload: blogwerk-ag

Post on 26-Jun-2015

1.143 views

Category:

Technology


1 download

DESCRIPTION

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

TRANSCRIPT

Page 1: Entwickeln mit Wordpress

Entwickeln mit Wordpress – Wordcamp Switzerland 2011

Entwickeln mit WordpressWordcamp Switzerland 2011

Michael SebelBlogwerk AG

07. Mai 2011

Page 2: Entwickeln mit Wordpress

Entwickeln mit Wordpress – Wordcamp Switzerland 2011

Was machen wir den heute?

- Das Pluginsystem

- Funktionen oder Klassen

- Hooks: Grobes Geschütz

- Shortcodes

- Sidebars / Themes

- Widgets für die Sidebar

- Back-/Frontend Ajax

- Backend Module/Menus

Page 3: Entwickeln mit Wordpress

Entwickeln mit Wordpress – Wordcamp Switzerland 2011

Das Pluginsystem

- Ordner & File erstellen, Kommentar, fertig:

- In „wp-content/plugin“ File.php oder Ordner/File.php erstellen

- Im File einen Kommentar erstellen

Page 4: Entwickeln mit Wordpress

Entwickeln mit Wordpress – Wordcamp Switzerland 2011

Das Pluginsystem

- Beispiel eines Pluginkommentares

<?php

/*

Plugin Name: My_Example_Plugin

Plugin URI: http://blogwerk.com

Description: Beispielplugin fürs Wordcamp

Author: Michael Sebel

Version: 1.0#1

Author URI: http://blogwerk.com

*/

Page 5: Entwickeln mit Wordpress

Entwickeln mit Wordpress – Wordcamp Switzerland 2011

Das Pluginsystem

- Und schon erscheint das Plugin in der Liste

- Alle Kommentare: http://codex.wordpress.org/Writing_a_Plugin#Names.2C_Files.2C_and_Locations

Page 6: Entwickeln mit Wordpress

Entwickeln mit Wordpress – Wordcamp Switzerland 2011

Klassen oder Funktionen

- Wer kann sollte mit Klassen programmieren

- Autocomplete, auch von Wordpress Objekten

- Bessere Code Strukturierung

- Registrierung von Autoloadern möglich (Grössere Plugins)

- Freiheit im Naming von Funktionen

- Vorteile die OOP bietet (Abstraktion, Interfaces)

Die Vorteile

Page 7: Entwickeln mit Wordpress

Entwickeln mit Wordpress – Wordcamp Switzerland 2011

Klassen oder Funktionen

Beispiel 1:

Autovervollständigung mit Klassen

Beispiel 2:Einfacher Autoloader

* Download der Code-Beispiele auf letzter Folie

Page 8: Entwickeln mit Wordpress

Entwickeln mit Wordpress – Wordcamp Switzerland 2011

Hooks: Grobes Geschütz

- Wenn bestimmte „Dinge“ in Wordpress geschehen

- Primär zum ausführen von Code an bestimmtem Stellen

- Liste aller Actions: http://codex.wordpress.org/Plugin_API/Action_Reference

Actions

- Wenn bestimmte „Dinge“ verändert werden können

- Um Daten vor/nach Speicherung/Anzeige zu ändern

- Bekanntes Beispiel: Spamfilter

- Liste aller Filter: http://codex.wordpress.org/Plugin_API/Filter_Reference

Filter

Page 9: Entwickeln mit Wordpress

Entwickeln mit Wordpress – Wordcamp Switzerland 2011

Hooks: Grobes Geschütz

- Mit „do_action“ und „apply_filter“ können auch problemloseigene Wordpress Filter definiert werden

- Actions/Filter sind fast überall zu finden

- Grundstein, damit wird irgendwo Code iniizieren und somitFeatures, Menus, Backends und Frontends entwickeln können

- Das Verhalten von Wordpress kann an vielen Ecken und Kanten verändert werden.

- Schwierigkeit liegt in der Reihenfolge und…… im Herausfinden welche/r Action/Filter geeignet ist

Page 10: Entwickeln mit Wordpress

Entwickeln mit Wordpress – Wordcamp Switzerland 2011

Hooks: Grobes Geschütz

Beispiel 1:

Anwendung einiger wichtiger Actions

Beispiel 2:Sinnvolle Anwendung eines Filters (Spamcheck)

* Download der Code-Beispiele auf letzter Folie

Page 11: Entwickeln mit Wordpress

Entwickeln mit Wordpress – Wordcamp Switzerland 2011

Shortcodes

- Codes die im Editor angewendet werden können

- Syntax: [tag_name]

- Attribute: [tag_name attr1=“wert1“ attr2=“attr3“]

- Einschliessen: [tag_name]Irgend ein Text[/tag_name]

<?php

add_shortcode('hello_box',‘my_hello_box');

function my_hello_box($args,$content) {

// $html generieren mit etwas Code hier…

return($html);

}

Page 12: Entwickeln mit Wordpress

Entwickeln mit Wordpress – Wordcamp Switzerland 2011

Sidebars / Themes

- Definition einer Sidebar (z.B. in der functions.php)

<?php

register_sidebar(array(

'name' => 'Sidebar (Aktuelles)',

'id' => 'sidebar-news',

));

- Anwendung in einer Themedatei / Pagetemplate

<ul class="sidebar">

<?php dynamic_sidebar('sidebar-news'); ?>

</ul>

Page 13: Entwickeln mit Wordpress

Entwickeln mit Wordpress – Wordcamp Switzerland 2011

Sidebars / Themes

- Neue Sidebar erscheint im Backend

Page 14: Entwickeln mit Wordpress

Entwickeln mit Wordpress – Wordcamp Switzerland 2011

Widgets für die Sidebar

- Widgets sind als Klassen umzusetzen

- Einfache Einstellungsdialoge

- Mehrfach in verschiedenen Sidebars verwendbar

<?php

// PHP > 5.3 müssen “create_function” verwenden

add_action('widgets_init', function() { return register_widget('My_Widget');});

* Download der Code-Beispiele auf letzter Folie

Page 15: Entwickeln mit Wordpress

Entwickeln mit Wordpress – Wordcamp Switzerland 2011

Back- und Frontend Ajax

- Ajax über „/wp-admin/admin-ajax.php“

- Unterschiedliche Calls für eingeloggte/nicht eingeloggte User

- Kein Plugin (mehr) nötig, geht out-of-the-box

Beispiel 1:Basis für einen Ajax Request

* Download der Code-Beispiele auf letzter Folie

Page 16: Entwickeln mit Wordpress

Entwickeln mit Wordpress – Wordcamp Switzerland 2011

Questions / Downloads

Downloadshttp://static.blog.blogwerk.com/files/wp-development.zip

(Codebeispiele)

Fragen? Anregungen?