Wordpress Plugins - Basics: Unterschied zwischen den Versionen
Aus Wikizone
(Die Seite wurde neu angelegt: „ == 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-wor…“) |
|||
| (12 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt) | |||
| Zeile 1: | Zeile 1: | ||
| − | |||
== Links / Quellen == | == Links / Quellen == | ||
| − | + | https://developer.wordpress.org/plugins/ | |
http://bueltge.de/wp-tutorial-wir-schreiben-ein-simples-wp-plugin-teil-0/211/ | http://bueltge.de/wp-tutorial-wir-schreiben-ein-simples-wp-plugin-teil-0/211/ | ||
| Zeile 7: | Zeile 6: | ||
http://bueltge.de/wp-hinweise-fuer-das-schreiben-eines-wordpress-plugins/150/ | 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 | ||
| + | |||
| + | == Tipps für das Pluginschreiben == | ||
| + | * Plugins werden von WP über include() integriert und stehen dann überall zur Verfügung. | ||
| + | * Im Prinzip reicht eine Datei im Pluginordner (z.B. mein_plugin.php), besser ist aber ein Ordner | ||
| + | * WP erkennt ein Plugin anhand der Kommentare im Header. | ||
| + | |||
| + | == Ein einfaches Plugin == | ||
| + | Plugins landen in '''wp-content/plugins/pluginname'''. Sie brauchen keinen eigenen Ordner aber sinnvoll ist dies. | ||
=== Grundstruktur einer Plugin Datei === | === Grundstruktur einer Plugin Datei === | ||
| − | Am Anfang stehen Kommentarzeilen über die WP das Plugin erkennt. | + | Am Anfang stehen Kommentarzeilen über die WP das Plugin erkennt. Die letzten 3 Zeilen sind nur für Plugins mit Installer notwendig. |
<pre> | <pre> | ||
<?php | <?php | ||
/* | /* | ||
| − | Plugin Name: | + | Plugin Name: Hello World |
| − | Plugin URI: http://. | + | Plugin URI: http://geo-bit.de/ |
| − | Description: | + | Description: Hello World - ein einfaches WP-Plugin |
| − | + | Version: 1.0 | |
| − | Version: 1. | + | Author: Stephan Schlegel |
| − | + | Author URI: http://geo-bit.de/ | |
| − | Author URI: http:// | + | Update Server: http://download.tripmaps.de/wp/ |
| − | Update Server: http:// | ||
Min WP Version: 1.5 | Min WP Version: 1.5 | ||
| − | Max WP Version: | + | Max WP Version: 4.1.0 |
| − | */ | + | */ |
| + | ?> | ||
</pre> | </pre> | ||
| + | |||
| + | === Ein Filter Hook === | ||
| + | <pre> | ||
| + | // 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); | ||
| + | } | ||
| + | |||
| + | </pre> | ||
| + | === Ein Action Hook === | ||
| + | <pre> | ||
| + | // 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'); | ||
| + | </pre> | ||
| + | |||
| + | === 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. | ||
| + | <pre> | ||
| + | add_action ('Hook_Name', 'Funktion_Name', [Priorität], [Argumente]); | ||
| + | add_action('wp_head', 'hello_world_head', 1); | ||
| + | </pre> | ||
| + | ==== Beispiele für Hooks ==== | ||
| + | publish_post – called when a post is published or when status is changed into “published” | ||
| + | save_post – called when a post/page is created from start or updated | ||
| + | wp_head – called when the template is loaded and runs the wp_head() function | ||
| + | loop_end – called immediately after the final post has been processed through the WordPress loop | ||
| + | trackback_post – called whenever a new trackback is added into a post | ||
| + | |||
| + | == Verschiedene Funktionen in Plugins == | ||
| + | === Ein Plugin mit Datenbank Zugriffen === | ||
| + | [[Wordpress - Datenbank-Zugriffe in Plugins]] | ||
| + | === Taxonomien wie Kategorien und Tags nutzen === | ||
| + | [[Wordpress Plugina - Taxonomien nutzen]] | ||
Aktuelle Version vom 19. Januar 2015, 13:32 Uhr
Links / Quellen[Bearbeiten]
https://developer.wordpress.org/plugins/
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
Tipps für das Pluginschreiben[Bearbeiten]
- Plugins werden von WP über include() integriert und stehen dann überall zur Verfügung.
- Im Prinzip reicht eine Datei im Pluginordner (z.B. mein_plugin.php), besser ist aber ein Ordner
- WP erkennt ein Plugin anhand der Kommentare im Header.
Ein einfaches Plugin[Bearbeiten]
Plugins landen in wp-content/plugins/pluginname. Sie brauchen keinen eigenen Ordner aber sinnvoll ist dies.
Grundstruktur einer Plugin Datei[Bearbeiten]
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://geo-bit.de/ Description: Hello World - ein einfaches WP-Plugin Version: 1.0 Author: Stephan Schlegel Author URI: http://geo-bit.de/ Update Server: http://download.tripmaps.de/wp/ Min WP Version: 1.5 Max WP Version: 4.1.0 */ ?>
Ein Filter Hook[Bearbeiten]
// 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[Bearbeiten]
// 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[Bearbeiten]
Ü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);
Beispiele für Hooks[Bearbeiten]
publish_post – called when a post is published or when status is changed into “published” save_post – called when a post/page is created from start or updated wp_head – called when the template is loaded and runs the wp_head() function loop_end – called immediately after the final post has been processed through the WordPress loop trackback_post – called whenever a new trackback is added into a post
Verschiedene Funktionen in Plugins[Bearbeiten]
Ein Plugin mit Datenbank Zugriffen[Bearbeiten]
Wordpress - Datenbank-Zugriffe in Plugins