Entwicklung von WordPress-Plugins: Eine Einführung in die Erweiterung des verbreiteten Content-Management-Systems durch eigene Plugins
Von Onno Gabriel
()
Über dieses E-Book
Das Buch beginnt mit dem Aufbau von WordPress-Plugins. Es wird beschrieben, wie sich diese Plugins in WordPress integrieren und wie sie dabei die mächtige WordPress-API für sich nutzen können. Ausführlich wird auf die verschiedenen Möglichkeiten eingegangen, wie Plugins in den Administrationsbereich einer WordPress-Installation eingebunden werden können. Viel Wert wird auch auf das wichtige Thema Sicherheit gelegt und wie WordPress-Plugins gegen Angriffe von außen geschützt werden können. Und schließlich wird ausführlich beschrieben, wie selbst geschriebene WordPress-Plugins veröffentlicht werden können, um sie der weltweiten Gemeinschaft von WordPress-Nutzern zur Verfügung zu stellen.
Ähnlich wie Entwicklung von WordPress-Plugins
Ähnliche E-Books
Webentwicklung mit dem Play Framework Bewertung: 0 von 5 Sternen0 BewertungenZend Framework 2: Für Einsteiger und Umsteiger Bewertung: 0 von 5 Sternen0 BewertungenPraxiswissen Drupal 7 Bewertung: 0 von 5 Sternen0 BewertungenDeep Learning kompakt für Dummies Bewertung: 0 von 5 Sternen0 BewertungenMach's einfach: Erste Schritte mit WordPress 5: So gelingt Ihnen der Einstieg schnell und ganz leicht Bewertung: 0 von 5 Sternen0 BewertungenWordPress-Tricks und -Tweaks: Bohren Sie WordPress mit selbst programmierten Funktionen auf! Bewertung: 0 von 5 Sternen0 BewertungenWordPress Alles-in-einem-Band für Dummies Bewertung: 3 von 5 Sternen3/5PHP 7 und MySQL: Ihr praktischer Einstieg in die Programmierung dynamischer Websites Bewertung: 0 von 5 Sternen0 BewertungenWebseiten-Layout mit CSS: Der perfekte Einstieg in Cascading Style Sheets Bewertung: 0 von 5 Sternen0 BewertungenWordPress 4.9 Praxishandbuch: Step-by-Step Anleitungen für Einsteiger Bewertung: 0 von 5 Sternen0 BewertungenWordPress 5.0: Step-by-Step Anleitungen für Einsteiger Bewertung: 0 von 5 Sternen0 BewertungenSoftwarequalität in PHP-Prozessen: Installation und Betrieb eines Jenkins-Servers Bewertung: 0 von 5 Sternen0 BewertungenDynamische Webseiten: Einstieg in HTML, PHP und MySQL Bewertung: 0 von 5 Sternen0 BewertungenEinstieg in WordPress Bewertung: 0 von 5 Sternen0 BewertungenKompaktenstieg: Das EPUB Format für Programmierer - Eine Basis-Konstruktionsanleitung Bewertung: 0 von 5 Sternen0 BewertungenModerne Datenzugriffslösungen mit Entity Framework 6 Bewertung: 0 von 5 Sternen0 BewertungenTypo 3: Das Praxisbuch für Entwickler Bewertung: 0 von 5 Sternen0 BewertungenApache OFBiz: Schnellstarterbuch Bewertung: 0 von 5 Sternen0 BewertungenPHP für WordPress: Themes und Templates selbst entwickeln Bewertung: 0 von 5 Sternen0 BewertungenVirtueMart - Der Joomla!-Shop: Der erfolgreiche E-Commerce-Start mit Joomla! und VirtueMart Bewertung: 0 von 5 Sternen0 BewertungenWebtechnologien - All in One: Eine praxisorientierte Einführung in moderne Webtechnologien Bewertung: 0 von 5 Sternen0 BewertungenBenutzerhandbuch zu ProjectLibre 1.9.3 Bewertung: 0 von 5 Sternen0 BewertungenJava EE 6: Enterprise-Anwendungsentwicklung leicht gemacht Bewertung: 0 von 5 Sternen0 BewertungenJavaScript und Ajax: Das Praxisbuch für Web-Entwickler Bewertung: 0 von 5 Sternen0 BewertungenExtensions für TYPO3: So entwickeln Sie maßgeschneiderte TYPO3-Erweiterungen Bewertung: 0 von 5 Sternen0 BewertungenJoomla!-Extensions entwickeln: Eigene Komponenten, Module und Plugins programmieren Bewertung: 0 von 5 Sternen0 BewertungenApache Tapestry: Einstieg in die komponentenorientierte Webentwicklung Bewertung: 0 von 5 Sternen0 BewertungenGroovy – kurz & gut Bewertung: 0 von 5 Sternen0 BewertungenVue.js kurz & gut Bewertung: 0 von 5 Sternen0 Bewertungen
Rezensionen für Entwicklung von WordPress-Plugins
0 Bewertungen0 Rezensionen
Buchvorschau
Entwicklung von WordPress-Plugins - Onno Gabriel
Vorwort
Dieses Buch bietet einen Einstieg in das Thema Plugin-Entwicklung für WordPress. Es richtet sich an Entwicklerinnen und Entwickler, die sich kurz und bündig über alle relevanten Themen rund um die Plugin-Entwicklung informieren wollen. Die Lektüre dieses Buches soll Sie also in die Lage versetzen, für WordPress eigene Plugins zu entwickeln. Es setzt dabei allein etwas Erfahrung im Umgang mit WordPress sowie hinreichende Kenntnisse in der Programmiersprache PHP voraus.
Wo immer möglich wird im Text auf weitere Informationsquellen verwiesen, insbesondere auf die entsprechenden Teile der offiziellen WordPress-Dokumentation. Dabei werden frei verfügbare Quellen wie beispielsweise Webseiten bevorzugt und aktuelle Quellen bevorzugt.
Dieses Buch ist auf Deutsch geschrieben und soll damit auch eine Lücke schließen zur sonstigen Literatur und Dokumentation zur WordPress-Plugin-Entwicklung, die fast ausschließlich auf Englisch verfügbar ist. Es werden deutschsprachige Fachbegriffe verwendet, wo immer sich diese bewährt haben: also beispielsweise Webseite, Verzeichnis oder Datei. Bei Begriffen, für sich noch keine deutsche Bezeichnung eingebürgert hat, wird das englischsprachige Original beibehalten: also Plugin, Hook oder auch Frontend und Backend. Auch werden in den Programm-Beispielen die englischsprachigen Variablen- und Funktionsnamen aus der WordPress-Dokumentation übernommen, um einen Wechsel zwischen diesem Buch und der offiziellen Dokumentation zu erleichtern.
Das Buch beginnt mit dem grundsätzlichen Aufbau von WordPress-Plugins und zeigt die verschiedenen Möglichkeiten auf, wie Plugins in WordPress integriert und mit dem verschiedenen Bestandteilen des Kernsystems interagieren können. Auf eine mögliche Mehrsprachigkeit von Plugins wird ebenso eingegangen wie auch auf die Gestaltung eines Administrationsbereichs für ein Plugin. Besonderer Wert wird auf Sicherheit des Programmcodes eigener Plugins gelegt. Abschließend wird die Veröffentlichung eines selbst geschriebenen Plugins in dem offiziellen Plugin-Verzeichnis auf wordpress.org beschrieben. Im Anhang findet sich eine Auflistung von nützlichen Erweiterungen für aktuelle Quellcode-Editoren sowie ein Glossar der wichtigsten Fachbegriffe.
Alle Code-Beispiele sind möglichst kurz gehalten und beziehen sich auf WordPress ab Version 4 und PHP ab Version 5.3.
Über Fragen, Kritik oder Anregungen zu diesem Buch würde ich mehr sehr freuen und diese in zukünftige Auflagen dieses Buches einfließen lassen – Kontaktmöglichkeiten finden sich im Impressum.
Berlin, September 2018
Onno Gabriel
Was ist ein WordPress-Plugin?
Ein Grund für den Erfolg von WordPress ist die leichte Erweiterbarkeit des Kernsystems mit Hilfe von Plugins ¹. Ein WordPress-Plugin ist dabei im einfachsten Fall eine in PHP geschriebene Funktion, die dem Kernsystem eine neue Eigenschaft oder einen neuen Dienst hinzufügt. Komplexere Plugins können WordPress um ganze Diskussionsforen oder Shopsysteme erweitern.
Plugins sind neben dem Kernsystem und den Themes die dritte Komponente aus denen eine WordPress-Installation besteht. Der Kern ist das Grundsystem, welches ausschließlich von den WordPress-Entwicklerinnen und Entwicklern bearbeitet und durch offizielle Updates verbreitet wird. Im Kern findet unter Anderem die Verwaltung der Seiten und Beiträge und das Benutzermanagement statt. Der Kern stellt dabei auch die Anbindung zur Datenbank zur Verfügung, in der die Inhalte dauerhaft gespeichert sind.
Neue Funktionen können diesem Kernsystem entweder über das Theme oder über Plugins hinzugefügt werden. Es gibt keine scharfen Regeln, ob eine neue Funktion besser im Theme oder in einem Plugin untergebracht ist. Kleinere, nur das jeweilige Frontend betreffende Funktionen können zum Beispiel gut in das Theme integriert werden. Aufwendigere Änderungen, Backend-Erweiterungen oder auch neue Funktionen, die unabhängig vom Theme für verschiedene WordPress-Installationen zur Verfügung gestellt werden sollen, sind sinnvoller als eigenes Plugin zu realisieren.
Alle Plugins einer WordPress-Installation sind standardmäßig im Verzeichnis /wp-content/plugins/ zu finden ², wobei jedes Plugin dort in einem eigenen Unterverzeichnis untergebracht ist. Minimal besteht ein Plugin aus einer einzelnen PHP-Datei, wohingegen der Programmcode komplexerer Plugins auf mehrere Dateien verteilt werden kann. WordPress erkennt ein Plugin automatisch als solches, sobald eine der PHP-Dateien im Pluginverzeichnis in ihrem Header bestimmte, das Plugin charakterisierende Informationen enthält, mindestens aber den Plugin-Namen. Ein ausführlicher Header sieht beispielsweise wie folgt aus:
/* Plugin Name: Beispiel-Plugin-Name Plugin URI: https://www.meine-plugin-domain.de Description: Eine kurze Beschreibung des Plugins Version: 1.3 Author: Paul Progger Author URI: https://www.entwickler-paul-progger.org/ License: GPL2 License URI: https://www.gnu.org/licenses/gpl-2.0.html Text Domain: plugin-name Domain Path: /languages */ ?>
Die einzelnen Zuweisungen haben folgende Bedeutung:
Plugin Name: der Name des Plugins, wie er auch in der Plugin-Liste im Administrationsbereich auftauchen wird.
Plugin URI: die Webseite zum Plugin. Wichtig bei Veröffentlichung des Plugins: Falls hier eine Webseite angegeben wird, muss diese auch tatsächlich von diesem Plugin handeln.
Description: Eine kurze Beschreibung des Plugins. Diese wird ebenfalls im Administrationsbereich angezeigt werden.
Version: Versionsnummer des Plugins, also z.B. 1.0 oder 2.1.3.
Author und Author URI sind der Name und die Webseite der Autorin oder des Autors des Plugins.
License und License URI Sind die Abkürzung und die Webseite der Lizenz, unter der das Plugin veröffentlicht wird.
Text Domain: Textdomäne des Plugins; wichtig für mehrsprachige Plugins, siehe Kapitel Mehrsprachigkeit .
Domain Path: Pfad zu den Übersetzungen des Plugins.
Oft besteht ein Plugin aus mehr als nur einer Datei. Neben verschiedenen PHP-Dateien mit dem Programmcode können auch noch weitere Dateien zum Beispiel für Grafiken, Stylesheets oder auch JavaScript hinzukommen. Für diese Dateien hat sich eine Verzeichnisstruktur wie folgt bewährt:
plugin-name |-- includes/ |-- languages/ |--
assets/
|--
css/
|--
images/
|-- js/ |-- plugin-name.php |-- uninstall.php
Wird der Programmcode des Plugins auf mehrere PHP-Dateien verteilt, können diese in das Unterverzeichnis includes/ und dort wiederum in weiteren Unterverzeichnissen einsortiert werden.
Das Verzeichnis languages/ enthält die verschiedenen Sprachdateien mit den Übersetzungen des Plugin (mehr dazu im Kapitel Mehrsprachigkeit).
Das Verzeichnis assets/ wird mitunter auch public/ genannt. In ihm werden sonstige, vor allem für die Darstellung benötigte Dateien gespeichert, wie beispielsweise Bilder, CSS-Dateien oder auch JavaScript-Bibliotheken.
Zusätzlich zu dieser Grundstruktur können weitere Unterverzeichnisse angelegt werden, zum Beispiel admin/ für Funktionen oder Klassen, über die der Administrationsbereich erzeugt wird (mehr dazu im Kapitel Administrationsbereich eines Plugins) oder auch vendor/ für Programmcode von Drittanbietern.
Die Datei plugin-name.php ist der Einstiegspunkt des