Vorbereitungsarbeiten und Umgebungseinstellungen
Bevor du mit dem Schreiben des Codes beginnst, brauchst du eine geeignete Entwicklungsumgebung. Dazu gehören eine lokale WordPress-Installation sowie ein Code-Editor. Es wird empfohlen, XAMPP, Local by Flywheel oder Docker zur Einrichtung einer lokalen Serverumgebung zu verwenden. Stelle sicher, dass deine WordPress-Version auf dem neuesten Stand ist, damit du die neuesten APIs und Sicherheitsfunktionen nutzen kannst.
Sie müssen die grundlegende Struktur von WordPress-Plugins verstehen. Ein minimales Plugin benötigt mindestens eine Hauptdatei, die eine PHP-Datei mit bestimmten Header-Anmerkungen enthält. Der Name dieser Datei ist in der Regel… your-plugin-name.phpEs teilt WordPress mit, dass es sich um ein Plugin handelt, und liefert Informationen wie den Namen, die Beschreibung, die Version sowie den Autor.
Im Code-Editor erstelle einen neuen Ordner für dein Plugin-Projekt, zum Beispiel… my-first-pluginIn diesem Ordner erstellen Sie die Haupt-PHP-Datei.
Empfohlene Lektüre Vom Nullpunkt an: Das ultimative Handbuch und Praxislehrbuch für die Entwicklung von WordPress-Plugins。
Erstellen Sie Ihre erste Plugin-Datei.
Jetzt lassen Sie uns anfangen, die Hauptdatei des Plugins zu erstellen. Diese Datei ist der Einstiegspunkt des Plugins und teilt WordPress durch die Kommentarblöcke am Anfang mit, dass es existiert.
Erstellen Sie die Kopfinformationen für das Plugin.
In der soeben erstellten PHP-Datei musst du den standardmäßigen Plugin-Header hinzufügen. Zum Beispiel kann ein Plugin mit dem Namen “Begrüßung der Website” wie folgt beginnen:
<?php
/**
* Plugin Name: 站点问候语
* Plugin URI: https://example.com/my-first-plugin
* Description: 一个简单的插件,用于在网站前台显示自定义问候语。
* Version: 1.0.0
* Author: 你的名字
* License: GPL v2 or later
* Text Domain: my-first-plugin
* Domain Path: /languages
*/ WordPress scannt die Systeme. wp-content/plugins Alle PHP-Dateien im Verzeichnis sollen auf diese spezifischen Kommentare ausgelesen werden, und diese Informationen sollen auf der Backend-Plattform zur Verwaltung von Plugins angezeigt werden. Text Domain Zur Internationalisierung verwendet.Domain Path Die Position der Sprachdatei wurde angegeben.
Implementierung des Kernfunktionscodes
Unter den Kopfinformationen können Sie mit dem Schreiben des Funktionscodes für das Plugin beginnen. Als Beispiel für eine einfache Funktion nehmen wir an, dass Sie einen Grußtext in der oberen linken Ecke des Website-Fußes ausgeben möchten. Um direkte Änderungen an den Thema-Dateien zu vermeiden, werden wir das Hook-System von WordPress verwenden.
Zuerst müssen wir eine Funktion erstellen, die einen Gruß ausgibt. Anschließend verwenden wir diese Funktion… add_action Die Funktion verbindet diesen Ausgabeinhalt mit einer bestimmten Ausführungsaktion in WordPress, zum Beispiel… wp_footer。
Empfohlene Lektüre Vollständiger Leitfaden zur WordPress-Plugin-Entwicklung: von den Grundlagen bis zur praktischen Veröffentlichung im Store。
// 定义一个函数来输出问候语
function my_first_plugin_display_greeting() {
echo '<p style="position: fixed; bottom: 10px; left: 10px; background: #f1f1f1; padding: 10px; border-radius: 5px;">Hallo, willkommen auf meiner Website!</p>';
}
// 使用 add_action 钩子将函数挂载到 wp_footer 动作
add_action( 'wp_footer', 'my_first_plugin_display_greeting' ); Nachdem Sie den oben genannten Code fertiggestellt haben, legen Sie die Plugin-Ordner (z. B.) my-first-pluginAlles wird in den Verzeichnisbaum Ihrer WordPress-Installation kopiert. wp-content/plugins/ Der Pfad wurde bereits eingegeben. Anschließend loggen Sie sich in das WordPress-Backend ein, gehen Sie zum Menü “Plugins” und Sie sollten das Plugin “Site Greeting” sehen. Klicken Sie darauf, um es zu aktivieren. Jetzt besuchen Sie die Frontseite Ihrer Website – dort sollten Sie die angepasste Begrüßung am unteren Rand der Seite sehen.
Für das Plugin werden Verwaltungsoptionen hinzugefügt.
Ein voll funktionsfähiges Plugin benötigt in der Regel eine Konfigurationsseite, die es Administratoren ermöglicht, Einstellungen im WordPress-Backend vorzunehmen. Dies beinhaltet die Erstellung eines Verwaltungsmenüs sowie die Implementierung der Logik zur Verarbeitung der eingegebenen Optionen.
Plugin-Einstellungsseite erstellen
WordPress bietet Funktionen zur Erstellung von Einstellungsseiten für Plugins. In der Regel verwenden wir diese Funktionen, um den Nutzern eine einfache und übersichtliche Möglichkeit zu bieten, die Einstellungen des Plugins anzupassen. add_options_page oder add_menu_page Funktionen wie diese fügen diese Seite dem Hintergrundmenü hinzu. Das folgende Beispiel zeigt, wie man eine einfache Einstellungsunterseite unter das Hauptmenü “Einstellungen” hinzufügt.
Zuerst erstellen Sie eine Funktion, die die HTML-Inhalte der Einstellungsseite rendernt.
// 渲染插件设置页面的函数
function my_first_plugin_settings_page() {
?>
<div class="wrap">
<h1>Einstellung der Begrüßungsmeldung für die Website</h1>
<form method="post" action="/de/options.php/" data-trp-original-action="options.php">
<?php
settings_fields( 'my_first_plugin_settings_group' );
do_settings_sections( 'my-first-plugin' );
submit_button();
?>
<input type="hidden" name="trp-form-language" value="de"/></form>
</div>
<?php
} Und dann wird es verwendet. add_action Der Haken ist in admin_menu Die Registerkarte „Phasenregistrierung“.
// 将设置页面添加到后台菜单
function my_first_plugin_add_admin_menu() {
add_options_page(
'问候语设置', // 页面标题
'站点问候语', // 菜单标题
'manage_options', // 权限要求
'my-first-plugin', // 菜单别名
'my_first_plugin_settings_page' // 渲染函数
);
}
add_action( 'admin_menu', 'my_first_plugin_add_admin_menu' ); Registrierungs-Einstellungsfelder und Datenspeicherung
Einfach nur eine Seite reicht nicht aus – wir müssen auch konkrete Einstellungsfelder definieren (z. B. Eingabefelder, Auswahlfelder) sowie die Speicherung der Daten verwalten. Dafür müssen wir die Funktionen der WordPress-Settings-API nutzen. register_setting、add_settings_section und add_settings_field Zum Beispiel können Sie die folgenden Funktionen verwenden:
Empfohlene Lektüre Vom Nullpunkt zum Erfolg: Ein autoritatives Handbuch und Praktikum zur Entwicklung von WordPress-Plugins。
Der folgende Code registriert eine Einstellungsgruppe sowie ein Textfeld, mit denen Benutzer den Inhalt ihrer Begrüßungsworte selbst definieren können.
// 初始化插件的设置
function my_first_plugin_settings_init() {
// 注册一个设置,将其保存到 `options` 表的 `my_first_plugin_greeting_text` 字段中
register_setting( 'my_first_plugin_settings_group', 'my_first_plugin_greeting_text' );
// 在页面中添加一个设置区域
add_settings_section(
'my_first_plugin_section',
'自定义问候语',
null,
'my-first-plugin'
);
// 在设置区域中添加一个文本字段
add_settings_field(
'my_first_plugin_field',
'问候语文本',
'my_first_plugin_field_render',
'my-first-plugin',
'my_first_plugin_section'
);
}
add_action( 'admin_init', 'my_first_plugin_settings_init' );
// 渲染文本输入框的函数
function my_first_plugin_field_render() {
$option = get_option( 'my_first_plugin_greeting_text', '你好,欢迎来到我的网站!' );
echo '<input type="text" name="my_first_plugin_greeting_text" value="' . esc_attr( $option ) . '" style="width: 300px;" />';
} Zuletzt müssen wir die Funktion ändern, die zuvor die Begrüßung ausgab, sodass sie die von den Benutzern gespeicherten Einstellungen aus der Datenbank lädt.
function my_first_plugin_display_greeting() {
$greeting_text = get_option( 'my_first_plugin_greeting_text', '你好,欢迎来到我的网站!' );
echo '<p style="position: fixed; bottom: 10px; left: 10px; background: #f1f1f1; padding: 10px; border-radius: 5px;">'`. esc_html($greeting_text)`.'</p>';
} Plugin-Sicherheit und bewährte Praktiken
Beim Entwickeln von Plugins ist Sicherheit das wichtigste zu berücksichtigende Kriterium. Unsicherer Code kann dazu führen, dass eine Website angegriffen wird. Hier sind einige grundlegende Sicherheitsrichtlinien:
Datenvalidierung und -bereinigung
Jederzeit, wenn Sie Daten aus Benutzereingaben (z. B. $_POST, $_GET) oder aus der Datenbank erhalten, müssen Sie davon ausgehen, dass diese unzuverlässig sind. Vor der Ausgabe an den Browser oder der Speicherung in der Datenbank müssen die Daten überprüft und bereinigt werden.
Für den Inhalt, der auf eine HTML-Seite ausgegeben wird, sollte verwendet werden… esc_html()、esc_attr() oder wp_kses_post() Funktionen wie „escape“ werden verwendet, um Zeichen zu kodieren, um Cross-Site-Scripting-Angriffe (XSS-Angriffe) zu verhindern.
Für Variablen, die in Datenbankabfragen verwendet werden, sollten vorkompilierte Anweisungen oder ähnliche Methoden eingesetzt werden. $wpdb->prepare() Eine solche Methode.
In unserem Beispiel wird bei der Speicherung der Einstellungen WordPress verwendet. register_setting Die Funktion führt automatisch einige grundlegende Bereinigungen durch. Bei der Ausgabe haben wir… esc_html() Damit sichergestellt wird, dass die HTML-Tags im Grußtext sicher in normale Textzeichen umgewandelt werden.
Die Verwendung von nicht-CE und Berechtigungsprüfungen
Bei der Verarbeitung von Formularabgaben von der Verwaltungsseite muss die Legitimität der Anfrage überprüft werden. Dazu gehört die Überprüfung der Benutzerrechte sowie die Überprüfung zufällig generierter Zahlen.
Im Formular auf der Einstellungsseite…settings_fields() Die Funktion enthält bereits die Überprüfung auf Nicht-CES-Zertifizierung automatisch. Wenn Sie jedoch benutzerdefinierte AJAX-Verarbeitungen oder nicht standardmäßige Formulare erstellen, müssen Sie die Überprüfung manuell durchführen. Dazu wird in der Regel… current_user_can() Prüfen Sie die Berechtigungen und verwenden Sie sie anschließend. check_admin_referer() oder wp_verify_nonce() Prüfen Sie die Zufallszahl.
Beispielsweise in einer benutzerdefinierten Abwicklungsfunktion für die Dateneingabe:
function my_plugin_handle_form_submit() {
// 检查权限
if ( ! current_user_can( 'manage_options' ) ) {
wp_die( '权限不足' );
}
// 验证随机数
if ( ! isset( $_POST['my_nonce_field'] ) || ! wp_verify_nonce( $_POST['my_nonce_field'], 'my_action' ) ) {
wp_die( '安全校验失败' );
}
// ... 处理安全的数据 ...
} Zusammenfassungen
Mit dieser Anleitung hast du den gesamten Entwicklungsprozess von einer einfachen PHP-Datei zu einem WordPress-Plugin mit Backend-Verwaltungsfunktionen abgeschlossen. Du hast die grundlegende Struktur von Plugins kennengelernt, gelernt, wie man Funktionen mithilfe von Action-Hooks einbindet, wie man die WordPress-Settings-API nutzt, um konfigurierbare Optionenseiten zu erstellen, sowie welche wichtigen Sicherheitspraktiken es gibt. Denke daran: Ein gutes Plugin ist nicht nur leistungsstark, sondern auch durch klaren, sicheren und zuverlässigen Code sowie die Einhaltung der WordPress-Programmierstandards gekennzeichnet. Von diesem kleinen Plugin aus kannst du weitere fortgeschrittene Funktionen wie Shortcodes, Widgets oder benutzerdefinierte Artikeltypen erkunden und schrittweise komplexere Erweiterungen für WordPress entwickeln.
FAQ Häufig gestellte Fragen
Wie fügt man einer Erweiterung (Plugin) Mehrsprachensupport hinzu?
Um die Internationalisierung (i18n) für das Plugin zu unterstützen, sind hauptsächlich die Verwendung von Textfeldern und Übersetzungsfunktionen erforderlich. Zuerst stellen Sie sicher, dass die entsprechenden Einstellungen am Anfang der Plugin-Datei korrekt vorgenommen wurden. Text Domain und Domain PathIm Code werden alle zu übersetzenden Zeichenfolgen mit In the code, all strings that need to be translated are marked with <. __() oder _e() Die Funktionen werden in entsprechende Pakete eingebettet. Anschließend werden mit Tools wie Poedit POT-Template-Dateien erstellt sowie die entsprechenden .mo- und .po-Übersetzungsdateien generiert. Diese werden in den für die jeweilige Sprache definierten Verzeichnissen des Plugins abgelegt.
Beispiel:echo esc_html( __( ‘Hello, World!’, ‘my-first-plugin’ ) );Wenn der Benutzer auf die entsprechende Sprache wechselt, lädt WordPress automatisch die entsprechenden Übersetzungsdateien herunter.
Wie kann man vermeiden, dass die Funktionsnamen in einem Plugin mit denen anderer Plugins konfliktieren?
Die beste Praxis, um Konflikte bei Funktionsnamen zu vermeiden, besteht darin, Namensräume (PHP 5.3+) zu verwenden oder allen Funktionen, Klassen und Konstanten ein eindeutiges Präfix zuzuweisen. Das Präfix sollte ausreichend einzigartig sein und häufig eine Abkürzung oder der vollständige Name eines Plugins sein.
Zum Beispiel: Verwenden Sie dies nicht. display_greeting()…und stattdessen sollte man verwenden… my_first_plugin_display_greeting()Wenn Sie PHP-Namespaces verwenden, können Sie diese am Anfang des Files deklarieren. namespace MyFirstPlugin;Anschließend werden im Inneren kurze Funktionsnamen verwendet, während bei Aufrufen von außen die Funktionsnamen über Namensräume aufgelöst werden.
Wie wird ein Plugin nach der Fertigstellung im offiziellen Verzeichnis veröffentlicht?
Um ein Plugin im offiziellen WordPress.org-Katalog zu veröffentlichen, musst du zunächst ein Konto auf WordPress.org erstellen und das Plugin dort einreichen. Der Prozess umfasst folgende Schritte: Stelle sicher, dass der Code der GPL-Lizenz entspricht, überprüfe ihn auf Einhaltung der PHPCS-Standards, bereite eine readme.txt-Datei (in einem bestimmten Format) vor, füge klare Screenshots und Dokumentation hinzu. Nach der Einreichung wird dein Code von Prüfern überprüft; wenn er genehmigt wird, kann das Plugin veröffentlicht werden. Danach können Nutzer das Plugin direkt über das WordPress-Backend suchen und installieren.
Wie können Plugins mit älteren Versionen von WordPress kompatibel sein?
Um die Rückwärtskompatibilität zu gewährleisten, sollte bei der Entwicklung die aktuelle WordPress-Version überprüft werden und der Code, der auf APIs neuerer Versionen basiert, mit Bedingungssätzen geschützt werden. Zudem sollte der Einsatz veralteter Funktionen vermieden werden; falls deren Nutzung unvermeidlich ist, müssen alternative Lösungen bereitstehen. In der readme.txt-Datei des Plugins sollte die minimale erforderliche WordPress-Version eindeutig angegeben werden und die Nutzer sollten darüber informiert werden. Regelmäßige Tests, um zu überprüfen, wie das Plugin in älteren Versionen funktioniert, sind entscheidend für die Aufrechterhaltung der Kompatibilität.
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
- Warum haben Sie sich für WooCommerce als Ihre E-Commerce-Lösung entschieden?
- Wie man ein WordPress-Plugin-Entwickler wird: Ein umfassender Leitfaden von Grund auf
- WooCommerce-Complete-Guide: Erstellen Sie Ihren Online-Shop von Grund auf und entwickeln Sie Ihre Verkaufsstrategie
- 10 ausgewählte, unverzichtbare WordPress-Plugins zur umfassenden Verbesserung der Website-Leistung und Sicherheit