Vorbereitungsarbeiten und Umgebungskonfiguration
Bevor Sie mit dem Schreiben von Code beginnen, ist es sehr wichtig, eine professionelle lokale Entwicklungsumgebung einzurichten. Dies verbessert nicht nur die Entwicklungseffizienz, sondern vermeidet auch mögliche Risiken bei Tests auf Online-Servern. Es wird empfohlen, lokale Serversoftware zu verwenden, die Apache/Nginx, MySQL und PHP integriert, wie z. B. Local by Flywheel, XAMPP oder MAMP. Stellen Sie sicher, dass Ihre PHP-Version mit der Ziel-WordPress-Umgebung kompatibel ist. Normalerweise wird die Verwendung von PHP 7.4 oder höher empfohlen.
Sie benötigen einen Code-Editor, z. B. Visual Studio Code, PhpStorm oder Sublime Text. Diese Editoren bieten in der Regel Syntax-Hervorhebung, Code-Vorschläge und Versionskontroll-Integration, was das Codieren erheblich erleichtert. Außerdem ist es für die Entwicklung hochwertiger Plugins unerlässlich, das offizielle „Plugins-Entwicklungs-Handbuch“ und die „Codierungsstandards“ von WordPress zu kennen und deren Richtlinien zu befolgen (z. B. die Verwendung von Präfixen, um Konflikte bei Funktionsnamen zu vermeiden).
Das Verständnis der grundlegenden Struktur eines Plugins.
Ein grundlegendes WordPress-Plugin kann nur aus einer Hauptdatei bestehen. Die Benennung dieser Hauptdatei ist sehr wichtig und erfolgt in der Regel nach der Funktionalität des Plugins, beispielsweise my-custom-plugin.phpDer Anfang des Dokuments muss eine Plugin-Kopfnotiz in einem bestimmten Format enthalten, die für WordPress entscheidend ist, um das Plugin zu erkennen.
Empfohlene Lektüre Mastering WordPress Plugin Development: Erstellen Sie Ihr erstes eigenes Plugin von Null auf Eins。
Die Anmerkungen im Plugin-Header enthalten grundlegende Informationen zum Plugin, wie z. B. Name, Beschreibung, Version, Autor usw. Nachfolgend finden Sie ein Beispiel für einen Standard-Plugin-Header:
<?php
/**
* Plugin Name: 我的自定义功能扩展
* Plugin URI: https://example.com/my-custom-plugin
* Description: 这是一个用于演示的 WordPress 自定义插件。
* Version: 1.0.0
* Author: 你的名字
* Author URI: https://example.com
* License: GPL v2 or later
* Text Domain: my-custom-plugin
* Domain Path: /languages
*/ Kernentwicklung: Aktionen und Filter-Hooks
Der Kern der WordPress-Plug-in-Entwicklung besteht darin, das “Hooks”-System zu verstehen und anzuwenden. Hooks werden in zwei Kategorien unterteilt: Aktionen (Actions) und Filter (Filters). Aktionen ermöglichen es Ihnen, benutzerdefinierten Code zu einem bestimmten Zeitpunkt im WordPress-Lebenszyklus auszuführen (z. B. beim Initialisieren, Laden einer Seite oder Veröffentlichen eines Artikels). Filter ermöglichen es Ihnen, die von WordPress oder anderen Plug-ins während der Ausführung erzeugten Daten zu ändern.
Mit Action-Hooks Funktionen hinzufügen
Aktions-Hooks werden durch add_action() Funktionsmontage. Wenn Sie beispielsweise eine benutzerdefinierte Benachrichtigung oben im Administrationsbereich einer Website hinzufügen möchten, können Sie dazu Folgendes verwenden: admin_notices Dieser Aktions-Hook. Sie müssen eine Funktion erstellen, um die Benachrichtigungsinhalte auszugeben, und diese Funktion dann an den Hook anhängen.
Im folgenden Beispiel haben wir eine Funktion erstellt. my_custom_admin_notice Geben Sie eine einfache Hinweismeldung aus und senden Sie sie über add_action Binden Sie es an… admin_notices Haken.
Funktion my_custom_admin_notice() {
echo '<div class="notice notice-success is-dismissible"><p>Mein benutzerdefiniertes Plugin wurde erfolgreich aktiviert!</p></div>';
}
add_action( 'admin_notices', 'my_custom_admin_notice' ); Inhalte mithilfe von Filter-Hooks ändern
Die Filter-Hooks werden durch add_filter() Funktionsmontage. Sie wird verwendet, um die an sie übergebenen Daten zu ändern. Ein häufiges Beispiel ist die Änderung des Endes eines Artikels, um automatisch einen Urheberrechtsvermerk hinzuzufügen.
Empfohlene Lektüre Die Entwicklung von WordPress-Plugins beherrschen: Erstellen Sie Ihr erstes erweiterbares Funktionsmodul von Grund auf.。
Im folgenden Beispiel haben wir eine Funktion erstellt. append_copyright_to_contentEs erhält den Artikelinhalt als Parameter, fügt am Ende einen Abschnitt mit Copyright-Informationen hinzu und gibt den geänderten Inhalt zurück. Wir verwenden add_filter Binden Sie es an… the_content Filter.
Funktion append_copyright_to_content( $content ) {
if ( is_single() ) { // Nur auf der Seite eines einzelnen Artikels aktiv
$copyright = '<p><em>© 2026 Alle Rechte vorbehalten. Dieser Artikel wurde von „Mein Plugin“ generiert.</em></p>'if ( ! function_exists( 'append_copyright_to_content' ) ) {
function append_copyright_to_content( $content ) {
$content = preg_replace( '/<p>/', '<p><small>Copyright: $author</small></p>', $content );
return $content;
}
add_filter( 'the_content', 'append_copyright_to_content' );
}; Erstellen einer Verwaltungsseite sowie von Einstellungsoptionen
Viele Plugins müssen Benutzern eine Konfigurationsoberfläche bieten, was normalerweise durch Hinzufügen einer separaten Einstellungsseite im WordPress-Backend erreicht wird. WordPress bietet eine umfangreiche API, um diesen Prozess zu vereinfachen, zum Beispiel add_menu_page() und add_options_page()。
Fügen Sie ein Menü für die oberste Verwaltungsebene hinzu.
ausnutzen add_menu_page() Funktionen können einen Hauptmenüpunkt für Ihr Plugin erstellen. Sie müssen Parameter wie den Seitentitel, den Menütitel, die Benutzerberechtigungen, den Menüalias, den Callback-Funktion zur Darstellung des Seiteninhalts usw. definieren.
Der folgende Code zeigt, wie eine übergeordnete Menüseite mit dem Namen “Meine Plugin-Einstellungen” erstellt wird. Rückruffunktion render_my_plugin_settings_page Er ist dafür verantwortlich, den HTML-Inhalt der Seite auszugeben.
function mein_plugin_add_menu_page() {
add_menu_page(
'Meine Plugin-Einstellungen', // Seitentitel
'Meine Plugins', // Titel des Menüs
manage_options', // erforderliche Benutzerrechte
my-plugin-settings', // Menü-Alias (Slug)
render_my_plugin_settings_page', // Callback-Funktion
'dashicons-admin-generic', // Symbol (wahlweise)
30 // Menüposition (optional)
);
}
add_action( 'admin_menu', 'my_plugin_add_menu_page' );
function render_my_plugin_settings_page() {
? >
<div class="wrap">
<h1>Meine Plugin-Einstellungen</h1>
<form method="post" action="/de/options.php/" data-trp-original-action="options.php">
<p><strong>Dies ist ein PHP-Codebeispiel für die Verwendung der Funktionen settings_fields() und do_settings_sections() zur Konfiguration von Einstellungen für ein WordPress-Plugin.</strong></p>
<input type="hidden" name="trp-form-language" value="de"/></form>
</div>
<?php
} Registrierungs- und Verifizierungs-Einstellungsfelder
Um die Benutzereingaben sicher zu speichern, muss die WordPress-Einstellungs-API verwendet werden. Dazu gehört auch die Verwendung von register_setting()、add_settings_section() und add_settings_field() einschließlich Funktionen wie. Die Einrichtung der API übernimmt automatisch die Datenvalidierung, die Überprüfung von nicht sicheren Anfragen (Nonce) und die Speicherung in der Datenbank.
Der folgende Code zeigt, wie man eine Einstellungsgruppe, einen Einstellungsbereich und ein Text-Eingabefeld registriert. Die Funktion sanitize_my_setting Es wird verwendet, um Benutzereingaben zu bereinigen und zu validieren, bevor sie in der Datenbank gespeichert werden.
Empfohlene Lektüre Lernen Sie WordPress-Plugins von Grund auf entwickeln: Erstellen Sie Ihre erste benutzerdefinierte Funktion。
function my_plugin_settings_init() {
// 注册一个设置
register_setting( 'my_plugin_settings_group', 'my_plugin_option_name', 'sanitize_my_setting' );
// 添加一个设置区域
add_settings_section(
'my_plugin_main_section',
'主要设置',
null, // 可选的区域描述回调函数
'my-plugin-settings'
);
// 在区域内添加一个字段
add_settings_field(
'my_plugin_text_field',
'示例文本字段',
'my_plugin_text_field_callback',
'my-plugin-settings',
'my_plugin_main_section'
);
}
add_action( 'admin_init', 'my_plugin_settings_init' );
function sanitize_my_setting( $input ) {
// 清理输入,例如移除 HTML 标签
return sanitize_text_field( $input );
}
function my_plugin_text_field_callback() {
$value = get_option( 'my_plugin_option_name', '默认值' );
echo '<input type="text" name="my_plugin_option_name" value="' . esc_attr( $value ) . '" class="regular-text" />';
} Plugin-Internationalisierung und Sicherheitspraktiken
Ein ausgereiftes Plugin sollte mehrere Sprachen unterstützen und den höchsten Sicherheitsstandards entsprechen. Die Internationalisierung (i18n) stellt sicher, dass das Plugin von Nutzern auf der ganzen Welt problemlos übersetzt werden kann. Sicherheitspraktiken schützen Ihr Plugin und die Websites Ihrer Nutzer vor häufigen Angriffen.
Die Unterstützung für Textübersetzungen implementieren.
WordPress nutzt das GNU-Gettext-Framework zur Internationalisierung. Sie müssen alle Zeichenketten, die in Plugins für die Benutzer ausgegeben werden, mit bestimmten Funktionen einhüllen. Die am häufigsten verwendete Funktion ist __()(Zur Rückgabe des übersetzten Strings) und _e()(Zur direkten Anzeige des übersetzten Strings.) Sie müssen außerdem die Einstellungen im Plugin-Header korrekt vornehmen. Text Domain und Domain PathUnd verwenden Sie… load_plugin_textdomain() Der Funktion wird zum richtigen Zeitpunkt das Übersetzungs-File geladen.
Der folgende Code zeigt, wie man den Textbereich eines Plugins lädt und einen übersetzbaren String ausgibt.
function my_plugin_load_textdomain() {
load_plugin_textdomain( 'my-custom-plugin', false, dirname( plugin_basename( __FILE__ ) ) . '/languages/' );
}
add_action( 'init', 'my_plugin_load_textdomain' );
// 在需要的地方使用翻译函数
$greeting = __( '你好,世界!', 'my-custom-plugin' );
_e( '这是一个直接输出的消息。', 'my-custom-plugin' ); Folgen Sie den grundlegenden Sicherheitsregeln.
Die Sicherheit von Plugins ist eine der obersten Prioritäten bei der Entwicklung. Alle Benutzereingaben müssen validiert und bereinigt werden. Die Validierung besteht darin, zu überprüfen, ob die Daten dem erwarteten Format entsprechen (z. B. ob es sich um eine E-Mail-Adresse handelt), und hierfür können verschiedene Methoden verwendet werden. filter_var() U. a. Funktionen. Die Sanitisierung besteht darin, unsichere Zeichen aus den Daten zu entfernen. WordPress bietet eine Vielzahl von Funktionen, wie z. B. sanitize_text_field()、esc_html()、esc_url() usw.
Bei der Ausgabe von Daten an den Browser muss eine Escape-Behandlung durchgeführt werden, um Cross-Site-Scripting (XSS)-Angriffe zu verhindern. Hierfür können Funktionen wie esc_html()、esc_attr()、wp_kses_post()Bei der Ausführung von Datenbankoperationen muss man unbedingt Folgendes verwenden: $wpdb Verwenden Sie Klassen und ihre Präprozessoranweisungen, um SQL-Injection zu verhindern. Fügen Sie Benutzereingaben niemals direkt in SQL-Abfragen ein.
Zusammenfassungen
Die Entwicklung von WordPress-Plugins ist ein Prozess, bei dem kreative Ideen in funktionale Erweiterungen umgesetzt werden. Der Schlüssel liegt in einem tiefen Verständnis des Hook-Systems. Angefangen beim Aufbau einer lokalen Umgebung und dem Schreiben von standardmäßigen Plugin-Header-Anmerkungen müssen Entwickler Aktionen und Filter-Hooks geschickt einsetzen, um in den Lebenszyklus und den Datenfluss von WordPress einzugreifen. Die Erstellung von Backend-Verwaltungsseiten und Einstellungsoptionen bietet dem Plugin eine Benutzeroberfläche für die Interaktion, während Internationalisierung und strenge Sicherheitspraktiken (Validierung, Bereinigung, Escape-Sequenzen, sichere Datenbankoperationen) die Grundlage für einen professionellen und zuverlässigen Einsatz des Plugins auf globaler Ebene bilden. Die Einhaltung der WordPress-Programmierstandards und der schrittweise Aufbau komplexer Logik von einfachen Funktionen sind ein effektiver Weg, um die Kunst der Plugin-Entwicklung zu beherrschen.
FAQ Häufig gestellte Fragen
Wie viele Dateien benötigt ein Plugin mindestens?
Ein voll funktionsfähiges WordPress-Plugin kann nur aus einer einzigen PHP-Datei bestehen. Solange diese Datei die richtigen Kommentare zum Plugin-Header enthält, wird sie von WordPress als eigenständiges Plugin erkannt. Natürlich können Sie den Code je nach Komplexität auf mehrere Dateien aufteilen und Ressourcen wie CSS, JavaScript und Bilder einbinden.
Wie kann man verhindern, dass der Name einer Plugin-Funktion mit dem eines anderen Plugins kollidiert?
WordPress empfiehlt offiziell, für alle Ihre Funktionen, Klassen, Variablen und Konstanten eindeutige Präfixe zu verwenden. Dieses Präfix ist normalerweise mit Ihrem Plugin-Namen oder Firmennamen verknüpft und sollte einzigartig sein. Wenn Ihr Plugin beispielsweise “Awesome Slider” heißt, können Sie ein Präfix wie folgt verwenden: aslider_init()、ASLIDER_VERSION Eine solche Namensgebung. Eine moderne und elegantere Methode besteht darin, PHP-Namensräume (Namespace) zu verwenden, womit Namenskonflikte grundsätzlich gelöst werden können.
Was sollte man tun, wenn das Plugin aktiviert wird?
Die Plugin-Aktivierung ist ein idealer Zeitpunkt, um einmalige Einrichtungsaufgaben auszuführen. Sie können dies durch die Registrierung eines Aktivierungshooks erreichen. Erstellen Sie eine Funktion, in der Sie die Umgebungskompatibilität (z. B. PHP-Version) überprüfen, notwendige Datenbanktabellen erstellen oder aktualisieren und Standardwerte für Plugin-Optionen initialisieren. Verwenden Sie dazu register_activation_hook( FILE, ‘your_setup_function’ ) Um diese Funktion zu binden.
Wie kann ich mein Plugin sicher vom Benutzer deinstallieren lassen?
Um ein vollständiges Benutzererlebnis zu bieten, sollte Ihr Plugin in der Lage sein, die von ihm erstellten Daten zu bereinigen. Dies kann durch die Registrierung eines Deinstallations-Hooks erreicht werden. WordPress bietet zwei Deinstallationsmethoden: über register_uninstall_hook( FILE, ‘your_cleanup_function’ ) Der registrierte Funktion wird ausgeführt, wenn der Benutzer auf das Plugin “Löschen” klickt. In dieser Funktion können Sie alle vom Plugin erstellten Datenbankoptionen, benutzerdefinierte Datenbanktabellen usw. sicher löschen. Beachten Sie, dass Sie niemals direkt Folgendes verwenden sollten: register_deactivation_hook Das sollte eine permanente Datenlöschung sein, da Deaktivierung nicht gleichbedeutend mit Deinstallation ist.
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
- Kompletter Leitfaden für die Entwicklung von WordPress-Themen: Ein Praktikum, um von Grund auf Meister zu werden
- Kompletter Leitfaden für die Entwicklung von WordPress-Themen: Erstellen Sie von Grund auf professionelle Website-Vorlagen
- Komplettanleitung zur Entwicklung von WordPress-Plugins: Von der Grundlagenkenntnis bis zur Meisterschaft – Erstellen Sie professionelle Erweiterungen