Wordpress Plugins - Basics: Unterschied zwischen den Versionen

Aus Wikizone
Wechseln zu: Navigation, Suche
(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/
  
== Grundaufbau ==
+
http://codex.wordpress.org/Plugin_API
=== Ordner ===
+
 
Todo
+
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: Sowieso (Plugin-Name)
+
Plugin Name: Hello World
Plugin URI: http://... (Link zur Pluginseite)
+
Plugin URI: http://geo-bit.de/
Description: Beschreibung (Kurzbeschreibung, xhtml möglich)
+
Description: Hello World - ein einfaches WP-Plugin
Author: Frank Bueltge (Autor[n]name[n])
+
Version: 1.0
Version: 1.1 (Versionsnummer)
+
Author: Stephan Schlegel
License: GPL
+
Author URI: http://geo-bit.de/
Author URI: http://bueltge.de (Link zur Website des Autors)
+
Update Server: http://download.tripmaps.de/wp/
Update Server: http://bueltge.de/.. (Link zum Update-Server, wo das Plugin liegt.)
 
 
Min WP Version: 1.5
 
Min WP Version: 1.5
Max WP Version: 2.0.2
+
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

Taxonomien wie Kategorien und Tags nutzen[Bearbeiten]

Wordpress Plugina - Taxonomien nutzen