Begriffe vorab
- WPCS: die WordPress Coding Standards, ein Regelwerk für Stil und gute Praxis.
- PHPCS: PHP_CodeSniffer, das Werkzeug, das Code gegen solche Regeln prüft.
- Plugin Check (PCP): ein offizielles Plugin, das ein anderes Plugin auf Verzeichnis-Anforderungen prüft.
- Stable Tag: Angabe in der
readme.txt, welche Version Nutzer als aktuelle sehen. - SemVer: Versionierung nach dem Schema Haupt.Neben.Fehlerkorrektur.
Automatische Prüfung als Routine
Gute Plugins prüfen sich selbst, bevor jemand anderes es tut. Drei Werkzeuge decken die wichtigsten Ebenen ab:
- PHPCS mit WPCS findet Stilverstöße und typische Sicherheitsmängel (fehlendes Escaping, ungeprüfte Eingaben).
- PHPUnit mit der WordPress-Testumgebung prüft Verhalten. Das Gerüst erzeugt WP-CLI mit
wp scaffold plugin-tests. - Plugin Check prüft statisch (über PHP_CodeSniffer) und dynamisch (das Plugin wird aktiviert) auf Anforderungen des WordPress.org-Verzeichnisses sowie auf Hinweise zu Internationalisierung, Barrierefreiheit, Performance und Sicherheit.
# Stil und Sicherheit prüfen
composer require --dev wp-coding-standards/wpcs
vendor/bin/phpcs --standard=WordPress includes/ merkzettel.php
# Testgerüst erzeugen
wp scaffold plugin-tests merkzettel
Ein einfacher Test
class Test_Store extends WP_UnitTestCase {
public function test_add_is_unique_per_user_and_post() {
$user = self::factory()->user->create();
$post = self::factory()->post->create();
$this->assertNotFalse( MZ_Store::add( $user, $post ) );
$this->assertFalse( @MZ_Store::add( $user, $post ) ); // eindeutiger Schlüssel greift
}
}
Kompatibilität pflegen
- Mindestversionen von WordPress und PHP im Header ehrlich angeben und tatsächlich testen.
- Mit eingeschaltetem
WP_DEBUGentwickeln, damit Hinweise zu veralteten Funktionen sichtbar werden. - Versionsnummern nach SemVer vergeben und Änderungen in einer Änderungsliste festhalten.
Veröffentlichung im WordPress.org-Verzeichnis
Die Richtlinien sind klar: Plugins müssen GPL-kompatibel lizenziert sein (empfohlen: „GPLv2 or later“), ihr Code muss weitgehend lesbar sein – Verschleierung, etwa durch Umbenennen in unlesbare Namen, ist nicht erlaubt; für minifizierte Dateien sollen lesbare Quellen mitgeliefert oder verlinkt werden – und Nutzer dürfen nicht ohne ihre Einwilligung verfolgt werden; Plugins dürfen keine externen Server ohne ausdrückliche, autorisierte Zustimmung kontaktieren, üblicherweise über ein Opt-in. Die readme.txt beschreibt das Plugin im Verzeichnis; ihr Stable tag bestimmt, welche Version als stabil ausgeliefert wird.
Ein Praxisbeispiel für das Opt-in-Prinzip ist das Tracking im Quiz-Academy-Plugin dieses Projekts: Es ist standardmäßig aus, bindet keinen eigenen Tracker ein und wird erst im Backend bewusst eingeschaltet.
Zum Selbermachen
- Installiere PHPCS mit WPCS und prüfe dein Plugin. Behebe die ersten fünf Meldungen.
- Installiere „Plugin Check“ und führe es für dein Plugin aus.
- Schreibe eine
readme.txtmit Beschreibung, Installation, Änderungsliste undStable tag.
Eine Checkliste vor jedem Release
- Versionsnummer in Header, Konstante und
readme.txtangleichen. - PHPCS und Tests laufen lassen, Plugin Check ausführen.
- Mit der niedrigsten unterstützten WordPress- und PHP-Version testen.
- Änderungsliste ergänzen,
Stable tagsetzen. - Auf einer frischen Installation aktivieren, benutzen, deaktivieren und löschen – und prüfen, dass nichts zurückbleibt.
Prüfstatus: Belegt (Stand 1. Oktober 2026): Jahreszahlen, Zahlen, Namen und Quellenangaben dieser Lektion, soweit die Quellenliste sie nennt, wurden gegen Primärquellen geprüft. Nicht einzeln belegt: erklärende Darstellung nach Lehrbuchstand und Quellen, die in der Liste als „allgemeine Referenz“ markiert sind. Codebeispiele sind nur auf Syntax geprüft, nicht in WordPress ausgeführt.
Quellen
- WordPress Plugin Handbook – „Detailed Plugin Guidelines“ (developer.wordpress.org/plugins/wordpress-org/detailed-plugin-guidelines/) (allgemeine Referenz, nicht Zeile für Zeile geprüft)
- WordPress Plugin Handbook – „Plugin Readmes“ (developer.wordpress.org/plugins/wordpress-org/how-your-readme-txt-works/) (allgemeine Referenz, nicht Zeile für Zeile geprüft)
- Make WordPress Plugins – „Introducing Plugin Check (PCP)“ und Plugin Check im Plugin-Verzeichnis (allgemeine Referenz, nicht Zeile für Zeile geprüft)
- WordPress Coding Standards (github.com/WordPress/WordPress-Coding-Standards) (allgemeine Referenz, nicht Zeile für Zeile geprüft)