Um ein WordPress-Plugin zu entwickeln, muss man zunächst in das Installationsverzeichnis von WordPress gehen. wp-content/plugins Erstelle innerhalb des Ordners einen eigenen Unterordner. Der Name dieses Unterordners sollte mit der Kernfunktion oder dem Namen deines Plugins in Verbindung stehen und am besten aus kleinen Buchstaben sowie Bindestrichen bestehen, zum Beispiel: my-first-plugin。
Als Nächstes müssen Sie innerhalb dieses Ordners die Haupt-Plugin-Datei erstellen. Diese Datei wird in der Regel nach dem Namen des Plugins benannt, zum Beispiel… my-first-plugin.phpDieses Datei ist der Einstiegspunkt für ein Plugin, und an seiner Spitze muss eine Plugin-Hauptanmerkung enthalten sein, die den WordPress-Standards entspricht. Dieser Anmerkungsbereich dient dazu, dem WordPress-System grundlegende Informationen über das Plugin zu liefern – er ist entscheidend dafür, dass das Plugin erkannt und aktiviert werden kann.
Eine typische Kommentarzeile am Anfang eines Plugins sieht wie folgt aus:
Empfohlene Lektüre Vom Nullpunkt aus die WordPress-Plugin-Entwicklung meistern: Ein umfassender Leitfaden und praktische Übungen。
<?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 erstellt und ausgefüllt haben, können Sie Ihr Plugin auf der “Plugins”-Seite im WordPress-Backend sehen und es aktivieren. Damit beginnt offiziell Ihre Reise als Plugin-Entwickler.
Verständnis der grundlegenden Struktur von Plugins
Ein gut strukturiertes WordPress-Plugin ist nicht nur einfach für die eigene Wartung, sondern auch für andere Entwickler verständlich. Die Befolgung standardisierter Organisationsmethoden macht deinen Code klarer und professioneller.
Organisation von Kerndateien und -verzeichnissen
Neben der Haupt-Plugin-Datei enthält ein voll funktionsfähiges Plugin in der Regel mehrere Verzeichnisse und Dateien.includes/ Das Verzeichnis dient zum Speichern der wichtigsten PHP-Klasse- oder Funktionen-Dateien.admin/ Das Verzeichnis enthält den Code, der mit der Backend-Verwaltungsoberfläche zusammenhängt.public/ oder frontend/ Das Verzeichnis enthält Code, der für die Besucher der Website bestimmt ist.assets/ Der Verzeichnis dient zum Speichern von statischen Ressourcen wie JavaScript-Dateien, CSS-Dateien und Bildern.
Darüber hinaus könnte es auch weitere Anforderungen oder Bedürfnisse geben. languages/ Der Verzeichnis enthält die internationalisierten Übersetzungsdateien (.po/.mo) sowie eine weitere Datei. uninstall.php Die Dateien dienen dazu, die Reinigungsarbeiten nach dem Deinstallieren von Plugins zu durchführen. Eine sinnvolle Verzeichnisstruktur ist die Grundlage für die Entwicklung von wartbaren und erweiterbaren Plugins.
Plugin-Lebenszyklus und Standard-Hooks
WordPress-Plugins interagieren mit dem Kernsystem mithilfe einer Reihe von “Hooks”. Um den Lebenszyklus eines Plugins zu verstehen, ist es entscheidend, die Reihenfolge der Ausführung dieser Hooks zu kennen. Wenn WordPress eine Anfrage bearbeitet, lädt es nacheinander die Kerndateien, das Theme sowie die aktivierten Plugins.
Empfohlene Lektüre Die vollständige Anleitung zur Entwicklung von WordPress-Plugins: Von den Grundlagen bis hin zur praktischen Anwendung。
Plugin-Entwickler können dies nutzen. register_activation_hook Einen einmaligen Vorgang ausführen, wenn ein Plugin aktiviert wird – beispielsweise die Erstellung einer Datenbanktabelle. Ebenso…register_deactivation_hook Dient zur Verarbeitung von Aktionen, die ausgeführt werden, wenn ein Plugin deaktiviert wird (Bitte beachten: Es handelt sich nicht um eine Löschung des Plugins). register_uninstall_hook Oder eine unabhängige… uninstall.php Die Dateien dienen dazu, Daten zu löschen, wenn das Plugin aus WordPress entfernt wird.
Im täglichen Betrieb sind die beiden am häufigsten verwendeten Hook-Typen „Action“ und „Filter“. Mit „Actionen“ können Sie zu bestimmten Zeitpunkten bestimmte Aktionen ausführen – zum Beispiel… initUm eine Funktion auszuführen, wird Code eingefügt; Filter hingegen ermöglichen es Ihnen, die Daten zu ändern, die an andere Funktionen übergeben werden. the_content)。
Implementierung der Kernfunktionen sowie der sicheren Interaktionen
Der Hauptzweck der Entwicklung von Plugins besteht darin, WordPress neue Funktionen hinzuzufügen. Egal ob es darum geht, einen Shortcode zu erstellen, ein kleines Hilfsmittel zu entwickeln oder Daten aus Formularen zu verarbeiten – es ist immer notwendig, die Sicherheits- und Interaktionsstandards von WordPress einzuhalten.
Erstellen Sie einen Shortcode, um Inhalte auszugeben.
Shortcodes sind eine leistungsstarke Funktion, die es Nutzern ermöglicht, dynamischen Inhalt mithilfe eines einfachen Tags in Artikeln oder Seiten einzufügen. Sie können sie gerne verwenden. add_shortcode Es gibt eine Funktion, mit der Sie Ihren eigenen Kurzcode registrieren können.
Beispielsweise registriert der folgende Code eine Einheit mit dem Namen… greet Der Kurzcode akzeptiert ein Argument. name „Attribute“ und einen Gruß an die Benutzer:
function myplugin_greet_shortcode( $atts ) {
// 使用 shortcode_atts 函数设置默认值并合并用户属性,确保安全性
$atts = shortcode_atts( array(
'name' => '访客',
), $atts, 'greet' );
// 在输出前对用户输入进行转义
$name = esc_html( $atts['name'] );
return '<p>Hallo, '.$name.'! Willkommen auf dieser Website.</p>'Hallo, Welt!';
function myplugin_greet_shortcode( $atts, $content ) {
return 'Hallo, Welt!';
}
add_shortcode( 'greet', 'myplugin_greet_shortcode' ); Benutzer können im Artikel-Editor Text eingeben. [greet name=“小明”]Dann wird an der Frontend-Seite der Text “Hallo, Xiaoming! Willkommen auf dieser Website.” angezeigt. Denken Sie daran: Alle von den Benutzern eingehenden Daten müssen vor der Ausgabe entsprechend entschlüsselt oder überprüft werden – genau wie im obigen Beispiel. esc_html。
Empfohlene Lektüre Einführung in die Entwicklung von WordPress-Plugins: Erstellen Sie Ihr erstes benutzerdefiniertes Plugin von Grund auf.。
Eine Einstellungsseite für das Plugin hinzufügen
Für Plugins, die eine Konfiguration durch den Benutzer erfordern, ist es üblich, eine Backend-Optionenseite zu erstellen. Sie können die “Settings-API” von WordPress nutzen, um Seiten und Felder sicher und einfach hinzuzufügen. Diese API kümmert sich automatisch um die Sicherheitsüberprüfung (z. B. durch die Verwendung von Nonces) sowie die Speicherung der Daten.
Zunächst verwenden Sie add_options_page oder add_menu_page Fügen Sie die entsprechenden Funktionen in das Menü sowie auf die entsprechende Seite im Management-Bereich hinzu. Anschließend verwenden Sie diese Funktionen. register_setting、add_settings_section und add_settings_field Verwende Funktionen wie diese, um deine Einstellungsoptionen zu definieren.
Hier ist ein Rahmencode für die Erstellung einer einfachen Einstellungsseite:
function myplugin_add_admin_menu() {
add_options_page(
'我的插件设置', // 页面标题
'我的插件', // 菜单标题
'manage_options', // 所需权限
'myplugin-settings', // 菜单 Slug
'myplugin_settings_page' // 用于渲染页面的回调函数
);
}
add_action( 'admin_menu', 'myplugin_add_admin_menu' );
function myplugin_settings_init() {
register_setting( 'myplugin_settings_page', 'myplugin_settings' );
add_settings_section( 'myplugin_section', '基础设置', null, 'myplugin_settings_page' );
add_settings_field(
'api_key',
'API 密钥',
'myplugin_api_key_field_render', // 渲染输入字段的函数
'myplugin_settings_page',
'myplugin_section'
);
}
add_action( 'admin_init', 'myplugin_settings_init' );
function myplugin_api_key_field_render() {
$options = get_option( 'myplugin_settings' );
$value = isset( $options['api_key'] ) ? esc_attr( $options['api_key'] ) : '';
echo '<input type="text" name="myplugin_settings[api_key]" value="' . $value . '" />';
}
function myplugin_settings_page() {
?>
<form action='/de/options.php/' method='post' data-trp-original-action="options.php">
<h2>Meine Plugin-Einstellungen</h2>
<?php
settings_fields( 'myplugin_settings_page' );
do_settings_sections( 'myplugin_settings_page' );
submit_button();
?>
<input type="hidden" name="trp-form-language" value="de"/></form>
<?php
} Die Verwendung der Setup-API stellt sicher, dass die Einstellungen deines Plugins sicher gespeichert werden. wp_options Die Daten befinden sich in einer Tabelle, und die Benutzeroberfläche entspricht dem Stil von WordPress.
Befolgen Sie die besten Entwicklungspraktiken.
Um einen Plugin zu entwickeln, der langfristig stabil läuft, leicht zu warten ist und sich harmonisch mit anderen Plugins verträgt, müssen einige wichtige Best Practices befolgt werden.
Sichere die Sicherheit des Codes.
Sicherheit ist von größter Bedeutung bei der Entwicklung von Plugins. Alle von Benutzern eingegebenen Daten – einschließlich solcher aus URLs, Formularen, Cookies und Datenbanken – müssen überprüft, gereinigt und entsprechend formatiert („geescaped“) werden. Dazu stehen eine Reihe von Funktionen zur Verfügung, die WordPress anbietet. esc_html、esc_url、sanitize_text_field Verarbeiten Sie die Ausgabe und verwenden Sie sie. wp_verify_nonce und check_admin_referer Dazu dient die Überprüfung der Legitimität der Anfrage, um Angriffe des Typs Cross-Site Request Forgery (CSRF) zu verhindern.
Bei der Durchführung von Datenbankabfragen ist es unerlässlich, $wpdb Die von der Klasse bereitgestellten Methoden (z. B.) prepareDamit SQL-Injection-Angriffe verhindert werden, sollte niemals die Benutzereingaben direkt in SQL-Anweisungen eingefügt werden.
Internationalisierung und Lokalisierung umsetzen
Damit dein Plugin von WordPress-Nutzern auf der ganzen Welt genutzt werden kann, ist die Internationalisierung (i18n) unerlässlich. Das bedeutet, dass du die Übersetzungsfunktionen von WordPress verwenden musst, um alle für die Benutzer bestimmten Zeichenketten zu umschließen.
Definieren Sie dies in den Kommentaren am Anfang Ihres Plugins. Text Domain(Zum Beispiel) my-first-pluginUnd Domain PathIm Code sollten für alle zu übersetzenden Zeichenketten spezielle Mechanismen oder Konventionen verwendet werden, um die Übersetzung ordnungsgemäß durchzuführen. __() Um eine Übersetzung durchzuführen, verwenden Sie _e() Bitte geben Sie den Text zur Übersetzung an. _n() Behandlung von Singular- und Pluralformen.
Beispiel:$text = __(‘Hello World’, ‘my-first-plugin’);Danach können Sie Tools wie Poedit verwenden, um die Übersetzung zu erstellen. .pot Vorlagen-Dateien, die Übersetzer zum Erstellen verwenden können. .po und .mo Dateien: Legen Sie die zu übersetzenden Dateien in den Hauptverzeichnis des Plugins. /languages Wenn Sie eine Verzeichnisstruktur erstellen, lädt WordPress automatisch die entsprechenden Übersetzungen entsprechend der Sprache der Website herunter.
Code-Optimierung und Leistungsbeurteilung durchführen
Plug-ins mit schlechter Leistung können die gesamte Website verlangsamen. Es sollte vermieden werden, bei jedem Seitenladen große Mengen an unnötigem Code auszuführen. Skripte und Styles, die nur im Hintergrund verwendet werden, sollten mithilfe von Bedingungen (z. B. durch if-Anweisungen) nur dann ausgeführt werden, wenn sie tatsächlich benötigt werden. is_admin()Diese Funktion wird nur im Hintergrund geladen; die Frontend-Ressourcen werden über einen anderen Weg bereitgestellt. wp_enqueue_script() und wp_enqueue_style() In den entsprechenden Hook-Funktionen (z. B.…) wp_enqueue_scriptsDie Inhalte werden in der Warteschlange geladen.
Für zeitaufwendige Operationen oder Aufrufe externer APIs sollten Sie die Transients-API von WordPress in Betracht ziehen.set_transient, get_transientDer Cache wird aktualisiert. Gleichzeitig wird sichergestellt, dass das Plugin bei Deaktivierung oder Deletion ordnungsgemäß entfernt werden kann. uninstall.php Die von Ihnen erstellten Datenbanktabellen und Optionen sollten gereinigt werden, jedoch mit Vorsicht. Den Benutzern sollte die Möglichkeit gegeben werden, selbst zu entscheiden, ob die Daten gelöscht werden sollen oder nicht.
Debugging, Testing, and Publishing
Vor der Übergabe Ihres Plugins an die Nutzer sind gründliche Debugging-, Test- und Vorbereitungsarbeiten entscheidende Schritte, um den Erfolg zu gewährleisten.
Verwendung der WordPress-Debugging-Tools
Während der Entwicklungsphase wird dringend empfohlen, den Debug-Modus von WordPress einzuschalten. wp-config.php Einstellungen im File define(‘WP_DEBUG’, true);Dadurch werden alle PHP-Fehler, Warnungen und Benachrichtigungen angezeigt, was Ihnen dabei hilft, Probleme schnell zu lokalisieren. Sie können dies auch gleichzeitig aktivieren. WP_DEBUG_LOG Führen Sie die Fehlerprotokollierung in eine Log-Datei durch oder aktivieren Sie diese Funktion. SCRIPT_DEBUG Damit unkomprimierte JavaScript- und CSS-Dateien geladen werden können, um das Debuggen zu erleichtern.
Vorbereitung der Informationen für die Veröffentlichung des Plugins
Wenn Sie planen, das Plugin in den offiziellen WordPress.org-Plugin-Katalog einzustellen, müssen Sie eine Reihe von Unterlagen vorbereiten. Dazu gehört unter anderem eine ausführliche… readme.txt Die Datei muss in einem Format erstellt werden, das den Anforderungen von WordPress entspricht. Sie sollte Beschreibungen, Installationsanleitungen, häufig gestellte Fragen sowie Aktualisierungsprotokolle enthalten. Außerdem sind hochwertige Banner- und Icon-Bilder erforderlich, sowie eine Beschreibung des SVN-Repositories des Plugins.
Auf Code-Ebene solltest du sicherstellen, dass alle internationalisierungsrelevanten Vorkehrungen getroffen wurden, und alle Code-Teile sorgfältig auf Einhaltung der WordPress-Code-Standards überprüfen. Du kannst dazu lokal PHP_CodeSniffer verwenden, der über Regeln für die Einhaltung der WordPress-Code-Standards verfügt.
Cross-environment compatibility testing durchführen
Vor der Veröffentlichung muss dein Plugin in verschiedenen Umgebungen getestet werden. Dazu gehören verschiedene Versionen von WordPress – insbesondere die aktuelle Version sowie die vorherige Hauptversion – verschiedene PHP-Versionen (z. B. PHP 7.4, 8.0, 8.1) sowie verschiedene Datenbankversionen (MySQL/MariaDB). Außerdem ist eine Kompatibilitätsprüfung mit beliebten Themes und anderen Plugins erforderlich. Stelle sicher, dass dein Plugin in allen Phasen des Aktivierens, Deaktivierens, der Einstellung und des Gebrauchs keine Fehler oder Warnungen ausgibt.
Zusammenfassungen
Die Entwicklung von WordPress-Plugins ist ein Prozess, bei dem Kreativität in funktionale Lösungen umgewandelt und in ein umfangreiches Ökosystem integriert wird. Beginnen Sie mit der Erstellung einer standardkonformen Hauptdatei, erstellen Sie anschließend eine klare Struktur der Verzeichnisse und verstehen Sie die Kernmechanismen der Interaktion – insbesondere die Aktionen (Actions) und Filter-Hooks (Filters). Bei der Implementierung spezifischer Funktionen wie Shortcodes oder Einstellseiten müssen Sie Sicherheitsaspekte (Validierung, Entschlüsselung, Injectionsschutz) sowie die Internationalisierung zu Ihren Programmiergewohnheiten machen. Befolgen Sie bewährte Methoden, um die Leistung zu optimieren und Ressourcen effektiv zu verwalten, und nutzen Sie Debugging-Tools, um die Qualität Ihres Codes zu gewährleisten. Schließlich wird Ihr Plugin durch umfassende Tests in verschiedenen Umgebungen sowie eine sorgfältige Vorbereitung auf die Veröffentlichung zu einem zuverlässigen und sicheren Tool für WordPress-Nutzer weltweit. Das kontinuierliche Lernen aus der offiziellen Dokumentation und den Ressourcen der Community ist der Schlüssel, um Ihre Fähigkeiten im Plugin-Entwicklungsbereich stetig zu verbessern.
FAQ Häufig gestellte Fragen
Was sind die grundlegenden Kenntnisse, die man benötigt, um WordPress-Plugins zu entwickeln?
Sie benötigen eine solide Grundlage in der PHP-Programmierung, da die Kernlogik des Plugins hauptsächlich in PHP geschrieben ist. Außerdem sollten Sie über grundlegende Kenntnisse von HTML, CSS und JavaScript verfügen, um Benutzeroberflächen und Interaktionen zu erstellen. Am wichtigsten ist jedoch, dass Sie sich mit der Grundarchitektur von WordPress auskennen – einschließlich seines Hook-Systems (Aktionen und Filter), des Theme-Cycles, der Datenbankstruktur sowie der Verwendung verschiedener Kernfunktionen und Klassen.
Wie kann ich verhindern, dass meine Erweiterung mit anderen Erweiterungen Konflikte verursacht?
Das effektivste Mittel, um Konflikte zu vermeiden, ist es, allen Ihren Funktionen, Klassen, Konstanten, Action/Filter-Taggen sowie Optionennamen ein eindeutiges Präfix hinzuzufügen. Verwenden Sie keine allgemeinen Namen. add_user() oder $countIm Gegenteil: Sie sollten einen Präfix verwenden, der mit Ihrem Plugin zusammenhängt. Zum Beispiel… myplugin_add_user() oder $myplugin_countEs ist auch eine gute Praxis, Ihren Code in Klassen oder Namensräumen zu verpacken. Darüber hinaus sollten Sie bei der Verwaltung von Warteschlangenskripten und Styles eindeutige Identifikatoren („Handles“) verwenden und berücksichtigen, dass Ressourcen nur auf Abruf geladen werden.
Wo sollte ich die Daten des Plugins speichern?
Für einfache Konfigurationsoptionen kann die WordPress Options-API verwendet werden.add_option, get_option, update_optionSpeichern Sie die Daten in … wp_options Die Tabelle stellt die einfachste und standardisierteste Methode dar. Wenn Sie jedoch eine große Menge strukturierter, benutzerdefinierter Daten speichern müssen (z. B. Produkte, Bestellungen usw.), sollten Sie benutzerdefinierte Datenbanktabellen erstellen. $wpdb Objekt und wird beim Aktivieren des Plugins verwendet. dbDelta() Es gibt Funktionen zur Erstellung und Aktualisierung der Tabellenstruktur, die die Kompatibilität zwischen verschiedenen Datenbankversionen gewährleisten.
Wie kann man die von einem Plugin erstellten Daten löschen, nachdem es deinstalliert wurde?
WordPress bietet zwei Hauptmöglichkeiten. Die erste besteht darin, register_uninstall_hook() Die Funktion registriert einen Deinstallations-Hook. Die zweite und empfohlene Methode besteht darin, in dem Root-Verzeichnis des Plugins ein separates Datei- oder Verzeichnisobjekt zu erstellen, das für die Deinstallationsprozesse verwendet wird. uninstall.php Datei. In dieser Datei musst du überprüfen, ob eine Aufrufung aus dem Inneren von WordPress erfolgt hat. WP_UNINSTALL_PLUGIN Konstanten, und anschließend die Option zur Löschung der benutzerdefinierten Einstellungen ausführen (verwenden). delete_optionAußerdem umfassen die Bereinigungsaktionen auch das Löschen von benutzerdefinierten Datenbanktabellen usw. Bitte beachten Sie, dass Sie in der Beschreibung des Plugins unbedingt mitteilen müssen, welche Daten durch die Löschvorgänge entfernt 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.
- 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
- Komplettanleitung zur Entwicklung von WordPress-Plugins: Von der Grundlagenkenntnis bis zur Meisterschaft – Erstellen Sie professionelle Erweiterungen
- WordPress-Plugin-Entwicklung von der Grundlage bis zur Meisterschaft: Erstellen Sie Ihr erstes benutzerdefiniertes Plugin
- Vom Nullpunkt zum Erreichen des ersten Erfolgs: Ein umfassender Leitfaden zur schrittweisen Entwicklung deines ersten WordPress-Plugins