entwickeln mit wordpress
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.zipTRANSCRIPT
Entwickeln mit Wordpress – Wordcamp Switzerland 2011
Entwickeln mit WordpressWordcamp Switzerland 2011
Michael SebelBlogwerk AG
07. Mai 2011
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
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
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
*/
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
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
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
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
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
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
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);
}
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>
Entwickeln mit Wordpress – Wordcamp Switzerland 2011
Sidebars / Themes
- Neue Sidebar erscheint im Backend
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
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
Entwickeln mit Wordpress – Wordcamp Switzerland 2011
Questions / Downloads
Downloadshttp://static.blog.blogwerk.com/files/wp-development.zip
(Codebeispiele)
Fragen? Anregungen?