Wordpress Plugins - Basics
Aus Wikizone
Version vom 24. September 2013, 15:09 Uhr von 87.180.124.28 (Diskussion) (→Ein Plugin mit Datenbank Zugriffen)
Links / Quellen
http://bueltge.de/wp-tutorial-wir-schreiben-ein-simples-wp-plugin-teil-0/211/
http://bueltge.de/wp-hinweise-fuer-das-schreiben-eines-wordpress-plugins/150/
http://codex.wordpress.org/Plugin_API
http://wphooks.flatearth.org/ (Erklärungen und Übersicht zu Wordpress Hooks)
http://www.code-styling.de/deutsch/eigene-datenbanktabellen-in-wordpress-plugins-teil-1
Ein einfaches Plugin
Plugins landen in wp-content/plugins. Sie brauchen keinen eigenen Ordner aber sinnvoll ist dies.
Grundstruktur einer Plugin Datei
Am Anfang stehen Kommentarzeilen über die WP das Plugin erkennt. Die letzten 3 Zeilen sind nur für Plugins mit Installer notwendig.
<?php /* Plugin Name: hello world Plugin URI: http://bueltge.de/ Description: hello world - wir schreiben ein einfaches WP-Plugin Version: 1.0 Author: Frank Bueltge Author URI: http://bueltge.de/ Update Server: http://bueltge.de/wp-content/download/wp/ Min WP Version: 1.5 Max WP Version: 2.0.4 */ ?>
Ein Filter Hook
// Ein Filter wird auf the_content angewandt (das ist der Inhalt von Beiträgen)
//und die Funktion hello_world soll aufgerufen werden
add_filter('the_content', 'hello_world');
// Die Funktion wandelt den Inhalt in Kleinbuchstaben um.
function hello_world($content) {
return strtolower($content);
}
Ein Action Hook
// JS wird in den Headerbereich eingefügt
function hello_world_head() {
echo "<script type=\"text/javascript\">alert(\"hello world\");</script>\n";
}
// Dies erfolgt über den wp_head Hook
add_action('wp_head', 'hello_world_head');
Hooks in der WP API
Über die WP API können Daten übergeben werden. Es gibt:
- Filter Hooks - nutzt das Plugin um Inhalte (meistens Text) zu finden und zu ändern.
- Action Hooks - nutzt das Plugin um eigene Funktionen zu implementieren, welche bei bestimmten Aktionen vom WP Core ausgelöst werden (z.B. ein Post wird veröffentlicht).
- Hooks enthalten mindestens zwei Argumente. Zusätzlich kann noch ein Prioritätswert (Standard 10) und Argumente übergeben werden.
add_action ('Hook_Name', 'Funktion_Name', [Priorität], [Argumente]);
add_action('wp_head', 'hello_world_head', 1);