Vorbereitung der Entwicklungsumgebung für WordPress-Plugins
Bevor Sie mit dem Schreiben des Codes beginnen, benötigen Sie eine geeignete lokale Entwicklungsumgebung. Es wird dringend empfohlen, keine Plugins direkt auf einem produktiven Online-Server zu entwickeln. Eine typische WordPress-Entwicklungsumgebung umfasst lokale Server-Software (wie XAMPP, MAMP, Local by Flywheel oder Docker), einen Code-Editor (wie VS Code oder PHPStorm) sowie eine brandneue WordPress-Installation.
Sie müssen sicherstellen, dass Ihre PHP-Version den Anforderungen der gewünschten WordPress-Version entspricht. In der Regel ist das WordPress-Core mit mehreren PHP-Versionen kompatibel. Für die Entwicklung von Plugins wird empfohlen, PHP 7.4 oder eine höhere Version zu verwenden, um die neueren Syntaxen und Funktionen nutzen zu können. Außerdem müssen Sie dies im WordPress-Backend aktivieren.WP_DEBUGMuster – das kann Ihnen dabei helfen, Fehler während des Entwicklungsprozesses schnell zu lokalisieren.wp-config.phpIn der Datei finden Sie die folgenden Konstanten und setzen Sie sie entsprechend ein:
define( 'WP_DEBUG', true );
define( 'WP_DEBUG_LOG', true );
define( 'WP_DEBUG_DISPLAY', false ); Mit dieser Einstellung werden Fehlermeldungen aufgezeichnet./wp-content/debug.logDie Datei wird in der Datei gespeichert und nicht direkt auf der Seite angezeigt, um die Benutzererfahrung der Frontend-Software nicht zu beeinträchtigen. Dies ist die beste Praxis.
Empfohlene Lektüre Vom Nullpunkt zum Erfolg: Ein autoritatives Handbuch und Praktikum zur Entwicklung von WordPress-Plugins。
Erstellen Sie Ihre erste Plugin-Datei.
Alle WordPress-Plugins sind gespeichert in …/wp-content/plugins/Im Verzeichnis befinden sich die einzelnen Plugins. Jedes Plugin besitzt in der Regel eine eigene, unabhängige Verzeichnisstruktur. Die Namen dieser Verzeichnisse sollten prägnant und den Funktionen des jeweiligen Plugins entsprechen. Jetzt erstellen wir das erste Plugin.
Erstellen Sie die Hauptdatei des Plugins.
In Ihrem Plugin-Verzeichnis müssen Sie eine Haupt-PHP-Datei erstellen. Die Bezeichnung dieser Datei entspricht in der Regel dem Namen des Verzeichnisses, zum Beispiel:my-first-plugin.phpDieses Datei ist der Einstiegspunkt für den Plugin-Code. Darin muss eine bestimmte Plugin-Hauptanmerkung („Plugin Header Comment“) enthalten sein. WordPress liest diese Metadaten ab, um Ihr Plugin auf der Backend-Plugin-Verwaltungseite anzuzeigen.
<?php
/**
* Plugin Name: 我的第一个定制插件
* Plugin URI: https://example.com/my-first-plugin
* Description: 这是一个学习WordPress插件开发的入门示例插件。
* Version: 1.0.0
* Author: 你的名字
* Author URI: https://example.com
* License: GPL v2 or later
* Text Domain: my-first-plugin
* Domain Path: /languages
*/ Nachdem Sie diese Datei gespeichert haben, können Sie sie auf der “Plugins”-Seite im WordPress-Backend sehen. Sie können sie jetzt aktivieren – auch wenn sie noch keine praktischen Funktionen bietet, ist dies ein wichtiger Meilenstein. Im Plugin-Header…Text DomainundDomain PathZur Internationalisierung und Lokalisierung – und als Vorbereitung auf die zukünftige Veröffentlichung von Plugins.
Grundlegende Sicherheit und Struktur von Plugins
Sicherheit ist die oberste Priorität bei der Entwicklung von Plugins. Eine grundlegende Maßnahme besteht darin, direkten Zugriff auf die Dateien Ihres Plugins zu verhindern. Dies können Sie erreichen, indem Sie an der Spitze der Datei eine Überprüfung auf direkten Zugriff hinzufügen. Ändern Sie Ihre Hauptdatei und fügen Sie nach den Kommentaren am Anfang des Plugins den folgenden Code hinzu:
// 防止直接文件访问
if ( ! defined( 'ABSPATH' ) ) {
exit;
} Dieser Code überprüft Konstanten.ABSPATHEs sollte überprüft werden, ob die Funktion definiert ist. Falls nicht (was darauf hindeutet, dass jemand versucht, auf die PHP-Datei direkt über die URL zuzugreifen), sollte die Ausführung des Skripts abgebrochen werden. Dies ist eine Sicherheitsmaßnahme, die alle hochwertigen WordPress-Plugins besitzen sollten.
Empfohlene Lektüre Kompletter Leitfaden für die Entwicklung von WordPress-Plugins: Ein praktischer Tutorial von Grundlagen bis zur Veröffentlichung im Live-Betrieb。
Die Kernfunktionen für das Plugin hinzufügen
Die Funktion von Plugins besteht darin, die Möglichkeiten von WordPress zu erweitern. Lassen Sie uns anhand von zwei einfachen Beispielen lernen, wie man neue Funktionen hinzufügt: die Erstellung einer Verwaltungsseite sowie das Hinzufügen von Inhalten auf der Benutzeroberfläche.
Fügen Sie ein einfaches Verwaltungsmenü hinzu.
Zunächst lernen wir, wie man in der Backend-Administraturoberfläche eine Menüseite für eigene Plugins hinzufügt. Dafür wird das “Hook”-System von WordPress verwendet, insbesondere…admin_menuAction Hook.
Wir fügen in die Hauptdatei des Plugins eine Funktion hinzu, zum Beispiel…mfp_add_admin_menuUnd dann verwenden Sie es.add_actionDie Funktion montiert es.admin_menuAuf dem Haken.
function mfp_add_admin_menu() {
add_menu_page(
'我的插件设置', // 页面标题
'我的插件', // 菜单标题
'manage_options', // 权限要求
'my-first-plugin', // 菜单Slug
'mfp_admin_page_html', // 用于渲染页面内容的回调函数
'dashicons-admin-generic', // 图标(使用Dashicons)
30 // 菜单位置
);
}
add_action( 'admin_menu', 'mfp_add_admin_menu' ); Als Nächstes müssen wir die oben verwendeten Callback-Funktionen definieren.mfp_admin_page_htmlBitte geben Sie den HTML-Inhalt der Seite an, um die Ausgabe des HTML-Codes zu erhalten. Hier ist ein sehr einfaches Beispiel:
function mfp_admin_page_html() {
// 再次检查用户权限
if ( ! current_user_can( 'manage_options' ) ) {
return;
}
?>
<div class="wrap">
<h1>\n</h1>
<p>Hallo Welt! Das ist meine erste Seite zur Verwaltung von Plugins.</p>
</div>
<?php
} Jetzt aktualisieren Sie Ihre WordPress-Backend-Verwaltungsoberfläche. In der linken Navigation sollten Sie nun einen neuen Menüeintrag mit der Bezeichnung “Meine Plugins” sehen.
Text am unteren Rand der Frontend-Seite hinzufügen
Neben der Verwaltung der Backend-Systeme müssen wir häufig auch die Frontend-Elemente ändern. Zum Beispiel möchten wir am unteren Rand aller Artikel und Seiten einen Hinweis zur Urheberrechtsinformation hinzufügen. Dieses Mal verwenden wir dazu…the_contentFilter-Hook.
Empfohlene Lektüre Einführung in die Entwicklung von WordPress-Plugins: Erstellen Sie Ihre erste Funktionserweiterung von Grund auf。
Filter Hooken ermöglichen es Ihnen, die an eine Funktion übergebenen Daten zu ändern. Wir werden eine solche Funktion erstellen.mfp_add_footer_textEs nimmt den Inhalt des Artikels als Parameter entgegen und fügt anschließend unseren eigenen Text hinzu.
function mfp_add_footer_text( $content ) {
// 仅对主循环中的单篇文章和页面生效
if ( is_single() && in_the_loop() && is_main_query() ) {
$footer_text = '<p><em>Dieser Artikel wird durch mein erstes Plugin unterstützt.</em></p>';
$content .= $footer_text;
}
return $content;
}
add_filter( 'the_content', 'mfp_add_footer_text' ); Dieser Code prüft zunächst, ob sich die aktuelle Umgebung auf einen einzelnen Artikel oder eine einzelne Seite bezieht und ob sich der Code innerhalb der Hauptabfrage-Schleife befindet, um zu verhindern, dass Text an anderen Stellen (z. B. in Widgets oder Zusammenfassungen) doppelt hinzugefügt wird. Anschließend fügt der Code einen HTML-Absatz mit den Urheberrechtsangaben zum ursprünglichen Inhalt hinzu und gibt das Ergebnis zurück.
Fortgeschrittene Praktiken im Plugin-Entwicklung
Nachdem Sie die Grundlagen beherrscht haben, wird das Verständnis einiger fortgeschrittener Praktiken Ihr Plugin professioneller und robuster machen.
Implementierbare Plugin-Optionen
Ein ausgereiftes Plugin sollte in der Regel es den Nutzern ermöglichen, eigene Einstellungen vorzunehmen. WordPress stellt eine Setup-API bereit, um den Prozess der Erstellung von Einstellungsseiten zu vereinfachen. Dazu gehören das Registrieren von Einstellungsoptionen, das Hinzufügen von Einstellungsfeldern sowie die Organisation der Einstellungen in sogenannten „Settings-Partitionen“. Obwohl dieser Ansatz komplizierter ist als das direkte Hinzufügen von Menüseiten, übernimmt WordPress automatisch die Sicherheitsaspekte (z. B. die Überprüfung von Nonces) sowie die Speicherung der Formulardaten.
In der Regel speichern wir die Plugin-Einstellungen in Form eines Arrays in WordPress.wp_optionsIn der Tabelle. Du kannst dies verwenden.add_option()、get_option()undupdate_option()Eine Funktion, die mit den Daten deines Plugins arbeitet.
Verwenden Sie Klassen, um den Code der Plugins zu organisieren.
Wenn die Funktionen eines Plugins zunehmen, kann es sehr einfach zu Konflikten bei den Funktionsnamen kommen, wenn alle Funktionen im globalen Namespace abgelegt werden. Die beste Praxis besteht darin, die Funktionen des Plugins mit PHP-Klassen zu verpacken. Dies ermöglicht nicht nur eine bessere Organisation des Codes, sondern nutzt auch objektorientierte Merkmale wie die automatische Ladung von Klassen, Namespaces (falls PHP 5.3 oder später verwendet wird) sowie eine verbesserte Abgeschottung der Funktionen.
Eine Hauptdatei für ein klassenbasiertes Plugin könnte so aussehen:
if ( ! defined( 'ABSPATH' ) ) exit;
class My_First_Plugin {
public function __construct() {
// 在构造函数中挂载所有钩子
add_action( 'admin_menu', array( $this, 'add_admin_menu' ) );
add_filter( 'the_content', array( $this, 'add_footer_text' ) );
}
public function add_admin_menu() { /* ... */ }
public function add_footer_text( $content ) { /* ... */ }
}
// 初始化插件
new My_First_Plugin(); Diese Vorgehensweise sammelt alle relevanten Methoden in einer Klasse, was die Wartbarkeit des Codes erheblich verbessert.
Zusammenfassungen
Diese Anleitung hat Sie durch den gesamten Prozess der Erstellung eines benutzerdefinierten WordPress-Plugins von Grund auf geführt. Sie haben gelernt, wie Sie eine geeignete Umgebung einrichten, eine sichere Struktur für die Plugin-Dateien erstellen, Action-Hooks und Filter-Hooks nutzen, um sowohl die Backend-Verwaltung als auch die Frontend-Anzeige zu erweitern, sowie die Grundlagen objektorientierter Programmierung und die Nutzung von APIs für die Weiterentwicklung von Plugins kennengelernt. Der Kern der Plugin-Entwicklung besteht darin, das Hook-System von WordPress zu verstehen – dieses bietet unzählige Möglichkeiten, die Funktionsweise der Plattform zu verändern, ohne den Kerncode anzupassen. Durch kontinuierliches Üben, indem Sie zunächst kleine Funktionen implementieren und schrittweise komplexere Plugins entwickeln, gelangen Sie am besten zu einer guten Beherrschung dieser Fähigkeit.
FAQ Häufig gestellte Fragen
Welche PHP-Kenntnisse sind für die Entwicklung des Plugins ### erforderlich?
Sie müssen die Grundlagen der PHP-Sprache beherrschen, einschließlich Variablen, Arrays, Funktionen, bedingter Ausdrücke und Schleifen. Noch wichtiger ist es, zu verstehen, wie Sie mit der WordPress-API interagieren – beispielsweise, wie Sie Hooks verwenden.add_action, add_filterZusätzlich zu den gängigen WordPress-Funktionen sind auch Kenntnisse der objektorientierten Programmierung (OOP) bei der Entwicklung komplexerer Plugins von großem Vorteil.
Wie fügt man ein von sich selbst entwickeltes Plugin hinzu?
AktivierenWP_DEBUGDas Festlegen des Musters ist der entscheidende Schritt. Schauen Sie sich das an.wp-content/debug.logFehlerprotokolle aus der Datei. Außerdem können Sie diese in Ihrem Code verwenden.var_dump()odererror_log()Die Funktion gibt Debugging-Informationen aus. Zum Beispiel…error_log( print_r( $variable, true ) );Es ist möglich, den Inhalt jeder Variable in die Datei „debug.log“ zu schreiben. Die Verwendung professioneller Debugging-Plugins wie Query Monitor kann die Effizienz ebenfalls erheblich steigern.
Kann ich in einem Plugin Drittanbieter-PHP-Bibliotheken verwenden?
Ja, das ist möglich – allerdings muss dies mit Vorsicht erfolgen. Um Versionskonflikte mit anderen Plugins oder den von Themes verwendeten Bibliotheken zu vermeiden, empfiehlt sich die Nutzung des PHP-Abhängigkeitsmanagers Composer sowie seiner Funktion zur automatischen Ladung von Bibliotheken. Beim Verpacken und Veröffentlichen deines Plugins kannst du entscheiden, die Bibliotheksfachdateien in dein Plugin einzubinden (wenn du die Lizenz der Bibliothek einhältst), oder du kannst die Benutzer auffordern, die entsprechende Abhängigkeit selbst auf ihrem Server zu installieren.
Wie kann man einen nach der Entwicklung fertigen Plugin in das offizielle WordPress-Verzeichnis veröffentlichen?
Sie müssen WordPress.org besuchen, um Ihr Plugin zur Überprüfung einzureichen. Der Code Ihres Plugins muss den offiziellen Kodierstandards und -richtlinien entsprechen – beispielsweise müssen Sicherheitsaspekte berücksichtigt und die Internationalisierung (die Verwendung von Übersetzungen) umgesetzt werden.__()und_e()Die Funktion enthält außerdem eine ausführliche Beschreibung bzw. Dokumentation.readme.txtNach der Genehmigung kann dein Plugin von Nutzern weltweit gesucht und installiert werden.
Was kommt als Nächstes, was kommt als Nächstes?
Erweiterte Lektüre und praktische Kenntnisse
Die folgenden Artikel stehen im Zusammenhang mit dem Thema dieses Artikels und eignen sich für eine vertiefte Lektüre. Oft ist es besser, mit dem Artikel zu beginnen, der Ihrem aktuellen Problem am nächsten kommt, und dann nach und nach die umliegenden Themen zu behandeln.
- Wie wählt und passt man ein perfektes WordPress-Theme für sich selbst aus?
- WordPress-Plugin-Entwicklungshandbuch: Von Null zu Eins – Erstellen Sie Ihr erstes benutzerdefinierte Plugin
- Wie man ein WordPress-Plugin-Entwickler wird: Ein umfassender Leitfaden von Grund auf
- Vom Nullpunkt zum Erfolg: Ein umfassender Leitfaden und praktische Tipps für das Erstellen professioneller Websites mit WordPress
- Komplettanleitung zur Entwicklung von WordPress-Plugins: Von der Grundlagenkenntnis bis zur Meisterschaft – Erstellen Sie professionelle Erweiterungen