WordPress: Plugin “Hello World” selbst erstellen

Mit Plugins kann die Funktionalität einer WordPress-Installation auf vielfältige Weise erweitert werden. In diesem Beitrag wird beschrieben, wie ihr die Grundstruktur für ein erstes eigenes Plugin erstellen könnt.

Das Plugin-Grundgerüst

Ein WordPress-Plugin besteht letztendlich aus PHP-Methoden, die in den “/plugins”-Ordner unserer WordPress-Installation hinzugefügt und dort dann automatisch ausgeführt werden. Daher legen wir für unser Plugin zunächst eine passende PHP-Datei im “/plugins”-Ordner an, am besten bereits in einem zugehörigen Unterordner organisiert. Die Dateinamen können jeweils relativ frei gewählt werden, hier nutze ich beispielsweise “cathy-plugin-demo”:

   [wordpress]/wp-content/plugins/cathy-plugin-demo/cathy-plugin-demo.php

Die Eigenschaften eines Plugins, wie Name, Beschreibung, Autor und Version, müssen in dieser PHP-Datei in feste vorgegebenen Meta-Tags, innerhalb eines PHP-Kommentar-Blocks, angegeben werden. Für die erste Version unseres eigenen Plugins könnte dieser Kommentar-Block in der cathy-plugin-demo.php beispielsweise folgendermaßen aussehen:

<?php
/*
Plugin Name: Cathy Plugin Demo
Description: WordPress "Hello World"-Plugin-Demo
Version: 0.1
Author: CathyProductions
Author URI: https://www.cathyprod.de
License: GPL
*/
?>

Sobald wir diese PHP-Datei im oben genannten Ordner abspeichern, zeigt uns WordPress im Plugin-Bereich der Administration das neu gefundene Plugin auch schon an, und wir könnten es auch schon aktivieren:

 

Wordpress Plugin Administration

 

Die erste Funktion

Noch hat unser selbsterstelltes Plugin allerdings keinerlei Funktion. Ein WordPress-Plugin erhält seine Funktionalität, indem es sich an die festgelegten internen Methoden, die beim Aufbau jeder WordPress-Seite aufgerufen werden, dranhängt und dazu entweder zusätzlichen Code ausführt oder die zu verarbeitenden Daten filtert und ändert. Dies geschieht durch die Befehle add_action() und add_filter().

Zur Demonstration fügen wir in die cathy-plugin-demo.php je eine action und einen filter hinzu, einmal auf den Aufbau des footers und einmal auf das Lesen jedes contents eines Blogeintrags. Dann programmieren wir die von uns dazu gewünschte HTML-Erweiterung jeweils in einer gleichnamigen function aus:

<?php
/*
Plugin Name: Cathy Plugin Demo
Description: WordPress "Hello World"-Plugin-Demo
Version: 0.1
Author: CathyProductions
Author URI: https://www.cathyprod.de
License: GPL
*/

add_action('wp_footer', 'cathy_plugin_demo_action_footer');
function cathy_plugin_demo_action_footer() {
  echo '<div>Plugin Demo Add Footer "Hello World"</div>';
}

add_filter('the_content', 'cathy_plugin_demo_filter_content');
function cathy_plugin_demo_filter_content($content) {
  $content .= '<p>Plugin Demo Add One Line - "Hello World"</p>';
  return $content;
}

?>

Wenn wir unser selbsterstelltes Plugin nun in der Administration aktivieren, wird durch die am wp_footer angehängte action am Seitenende eures Blogs die Zeile Plugin Demo Add Footer “Hello World” automatisch über die echo-Funktion mit ausgegeben.

Ausserdem wird über die filter-Methode auf the_content am Ende jedes eurer Blog-Einträge die Zeile Plugin Demo Add One Line – “Hello World” hinzugefügt. Der Filter hängt diesen Text jeweils an die WordPress-Variable $content an, wie dieser Screenshot eines Blogeintrags zeigt:

 

Wordpress Plugin Hello World Ergebnis

 

Source-Code in GitHub

Weiterführende Links:

Mein Kommentar...