Das Beherrschen der Entwicklung von WordPress-Plugins ist eine Schlüsselkompetenz, um die Funktionalität von Webseiten zu erweitern und individuelle Anforderungen zu erfüllen – im Gegensatz zur einfachen Anpassung von Themes. functions.php Im Vergleich zu herkömmlichen Dateien sorgen Plugins dafür, dass die Funktionen unabhängig von der verwendeten WordPress-Thematik bleiben – was die Migration, Verwaltung und Wartung der Plugins erleichtert. In diesem Artikel werden Sie Schritt für Schritt angeleitet, von Grund auf ein Plugin zu erstellen, das eine vollständige Struktur aufweist und den WordPress-Codestandards entspricht.
Vorbereitungsarbeiten und Umgebungseinstellungen
Bevor Sie die erste Zeile Code schreiben, benötigen Sie eine geeignete Entwicklungsumgebung sowie ein grundlegendes Verständnis der WordPress-Architektur.
Entwicklungsumgebungskonfiguration
Eine standardisierte lokale Entwicklungsumgebung ist die Grundlage für effizientes Arbeiten. Es wird empfohlen, Tools wie XAMPP, MAMP oder Local by Flywheel zu verwenden – diese ermöglichen die einstufige Installation von Apache, MySQL/Nginx, PHP und WordPress. Außerdem sollten Sie sicherstellen, dass Ihre Texteditor oder IDE (z. B. VS Code, PhpStorm) PHP-Syntax-Highlighting sowie Code-Vorschläge unterstützt, da dies die Entwicklungseffizienz erheblich verbessert.
Empfohlene Lektüre Tiefgehende Analyse der WordPress-Plug-in-Entwicklung: vom Einstieg bis hin zu effizienter Anpassung.。
Verständnis der Architektur von WordPress-Plugins
Ein WordPress-Plugin ist im Wesentlichen eine oder mehrere PHP-Dateien, die in einem bestimmten Verzeichnis auf der Website gespeichert werden. wp-content/plugins/ Es befindet sich im Verzeichnis. Sein Kernprinzip ist das “Hook”-Mechanismus: Plugins führen Code zu bestimmten Zeitpunkten aus, indem sie “Aktionshooks” verwenden, oder sie ändern die Daten, die von anderen Funktionen ausgegeben werden, indem sie “Filterhooks” nutzen. Verstanden? add_action und add_filter Diese beiden Funktionen sind die Schlüssel zum Einstieg in die Entwicklung von Plugins.
Erstellen Sie Ihr erstes Plugin: Die Begrüßungshilfe
Wir werden ein einfaches Plugin namens “Tägliche Grüße” erstellen. Es wird ein benutzerdefiniertes Willkommens-Widget auf dem Dashboard des Website-Management-Bereichs anzeigen.
Erstellen Sie die Hauptdatei des Plugins.
Zunächst einmal… wp-content/plugins/ Erstellen Sie in dem Verzeichnis ein neues Verzeichnis und nennen Sie es „…“ (füllen Sie das Leerzeichen mit dem gewünschten Namen aus). my-first-greeting-pluginIn diesem Ordner erstellen Sie die Haupt-Plugin-Datei. my-first-greeting-plugin.php。
Jeder Plugin muss mit einer standardisierten Kommentarzeile am Anfang beginnen – diese dient als Kennzeichnung für die Plugin-Informationen, die von WordPress erkannt werden. Öffnen Sie die Hauptdatei und fügen Sie den folgenden Code hinzu:
<?php
/**
* Plugin Name: 每日问候
* Plugin URI: https://www.yourwebsite.com/my-first-greeting-plugin
* Description: 这是一个示例插件,用于在仪表盘显示个性化问候。
* Version: 1.0.0
* Author: Your Name
* Author URI: https://www.yourwebsite.com
* License: GPL v2 or later
* Text Domain: my-first-greeting
*/ Nachdem Sie die Datei gespeichert haben, gehen Sie zur “Plugins”-Seite im WordPress-Backend. Dort sollten Sie das “Daily Greetings”-Plugin in der Liste sehen und es aktivieren können. Derzeit verfügt das Plugin noch über keine Funktionen.
Empfohlene Lektüre Der ultimative Leitfaden zur WordPress-Plugin-Entwicklung: Erstellen Sie Ihr erstes Plugin von Null auf Eins。
„Widgets für das Dashboard hinzufügen“
Als Nächstes werden wir WordPress verwenden… wp_dashboard_setup Verwenden Sie Action-Hooks, um ein benutzerdefiniertes Dashboard-Widget hinzuzufügen. Fügen Sie den folgenden Code unter die Kommentare am Anfang der Hauptdatei hinzu:
// Dashboard-Widget hinzufügen
function mfgp_add_dashboard_widget() {
wp_add_dashboard_widget(
'mfgp_dashboard_widget', // Widget-Unique-ID
'Täglicher Gruß', // Widget-Titel
'mfgp_dashboard_widget_content' // Anzeigeinhalt-Callback-Funktion
);
}
add_action( 'wp_dashboard_setup', 'mfgp_add_dashboard_widget' );
// Widget-Inhalt definieren
function mfgp_dashboard_widget_content() {
$user = wp_get_current_user();
$hour = date('G'); // Aktuelle Stunde (24-Stunden-Format) abrufen
if ( $hour >= 5 && $hour < de <= 12 && $hour < 18 ) {
$greeting = '下午好';
} else {
$greeting = '晚上好';
}
echo '<p>' . sprintf( esc_html__( '%s, %s! Willkommen zurück.', 'my-first-greeting' ), $greeting, esc_html( $user->display_name ) ) . '</p>'echo '<p>'\n' . esc_html__( 'Das ist das Hallo-Widget, das von deinem ersten Plugin erstellt wurde.', 'my-first-greeting' ) . '</p>';
} Dieser Code erfüllt zwei Aufgaben: Zunächst definiert er eine Funktion. mfgp_add_dashboard_widgetVerwenden Sie wp_add_dashboard_widget Die Funktion registriert ein kleines Tool. Danach wird es definiert. mfgp_dashboard_widget_content Eine Funktion wird verwendet, um den Inhalt der kleinen Hilfsapps zu generieren. Diese zeigt je nach Tageszeit unterschiedliche Begrüßungen an und nennt außerdem den aktuellen eingeloggten Benutzernamen. Beachten Sie, dass wir dabei bestimmte Techniken oder Methoden angewendet haben. esc_html__() und esc_html() Die Funktion bereitet die Übersetzung vor und generiert die notwendigen Auszeichnungen („Escapes“), was eine wichtige Praxis zur Gewährleistung von Sicherheit und Internationalisierung ist.
Nach der Aktivierung des Plugins und dem Neuladen der Dashboard-Seite wirst du die “Tägliche Begrüßung”-Applet sehen.
Erweiterte Plugin-Funktionen und Sicherheitspraktiken
Ein grundlegender Plugin-Entwurf ist bereits fertiggestellt, aber um es robuster und professioneller zu machen, müssen wir uns auf Aspekte wie Sicherheit, Wartbarkeit sowie die Möglichkeit der Benutzereinstellungen konzentrieren.
Hinzufügen der Seite zur Einstellung von Plugins
Es wäre nützlicher, wenn die Benutzer ihre eigenen Begrüßungsworte definieren könnten. Wir werden für das Plugin eine einfache Einstellungsseite erstellen.
Zunächst verwenden Sie admin_menu Zum Action-Hook wird eine Untermenü-Seite hinzugefügt:
Empfohlene Lektüre Leitfaden für den Einstieg in die WordPress-Plugin-Entwicklung: Erstelle von Grund auf dein erstes eigenes Plugin。
// 添加设置菜单
function mfgp_add_admin_menu() {
add_options_page(
'每日问候设置', // 页面标题
'每日问候', // 菜单标题
'manage_options', // 所需权限
'my-first-greeting-plugin', // 菜单slug
'mfgp_settings_page_content' // 回调函数
);
}
add_action( 'admin_menu', 'mfgp_add_admin_menu' ); Anschließend erstellt man den Inhalt der Einstellungsseite, die Optionen für die Registrierung sowie die Funktionen zum Speichern der ausgefüllten Formulare.
// 设置页面内容
function mfgp_settings_page_content() {
?>
<div class="wrap">
<h1>\n</h1>
<form action="/de/options.php/" method="post" data-trp-original-action="options.php">
<?php
settings_fields( 'mfgp_settings_group' ); // 输出安全字段
do_settings_sections( 'my-first-greeting-plugin' ); // 输出设置区块
submit_button(); // 输出提交按钮
?>
<input type="hidden" name="trp-form-language" value="de"/></form>
</div>
<?php
}
// 初始化设置
function mfgp_settings_init() {
register_setting(
'mfgp_settings_group', // 选项组名
'mfgp_custom_message', // 选项名
array( 'sanitize_callback' => 'sanitize_text_field' ) // 清理回调
);
add_settings_section(
'mfgp_section', // 区块ID
'自定义问候设置', // 区块标题
null, // 区块描述回调(无)
'my-first-greeting-plugin' // 所属页面
);
add_settings_field(
'mfgp_field',
'自定义问候语前缀',
'mfgp_field_callback', // 输出字段HTML的回调
'my-first-greeting-plugin',
'mfgp_section'
);
}
add_action( 'admin_init', 'mfgp_settings_init' );
// 设置字段的回调函数
function mfgp_field_callback() {
$value = get_option( 'mfgp_custom_message', '祝您有愉快的一天,' );
echo '<input type="text" name="mfgp_custom_message" value="' . esc_attr( $value ) . '" class="regular-text" />'echo '<p class="description">Dieser Text wird vor die Begrüßung gesetzt.</p>';
} Schließlich muss die Funktion zur Anpassung des Inhalts der kleinen Hilfsprogramme so modifiziert werden, dass die von den Benutzern eingestellten persönlichen Einstellungen wirksam werden.
// 更新小工具内容函数,使用自定义消息
function mfgp_dashboard_widget_content() {
$user = wp_get_current_user();
$hour = date('G');
$custom_msg = get_option( 'mfgp_custom_message', '祝您有愉快的一天,' );
if ( $hour >= 5 && $hour <= 12 && $hour < 18 ) {
$greeting = '下午好';
} else {
$greeting = '晚上好';
}
echo '<p>'\n' . esc_html( $custom_msg ) . sprintf( esc_html__( '%s, %s!', 'my-first-greeting' ), $greeting, esc_html( $user->display_name ) ) . '</p>';
} Jetzt erscheint unter dem “Einstellungen”-Menü im WordPress-Backend eine Seite mit der Option “Tägliche Begrüßung”, auf der Administratoren einen benutzerdefinierten Begrüßungssatz speichern können.
Befolgen Sie Sicherheits- und Kodierungsstandards.
Während des Entwicklungsprozesses müssen die Sicherheitsrichtlinien von WordPress befolgt werden: Für alle Daten, die von Benutzern oder der Datenbank stammen und ausgegeben werden sollen, müssen geeignete Entschlüsselungsfunktionen verwendet werden. esc_html, esc_attr, esc_url) ; Alle von den Benutzern eingegebenen Daten werden überprüft und bereinigt (z. B. mithilfe von…) sanitize_text_field);Verwendung wp_kses_post oder wp_kses Es wird erlaubt, sicheren HTML-Code zu verwenden. Gleichzeitig wird empfohlen, bestimmte Richtlinien und Vorgaben einzuhalten. Offizielle PHP-Code-Standards von WordPressDamit der Code klar und einheitlich ist.
Plugin-Internationalisierung und Vorbereitung auf die Veröffentlichung
Damit Ihre Erweiterung von Nutzern auf der ganzen Welt genutzt werden kann, ist die Internationalisierung ein unerlässlicher Schritt. Gleichzeitig müssen auch einige Standards beachtet werden, wenn Sie Ihre Erweiterung für die Veröffentlichung in den offiziellen Verzeichnissen vorbereiten.
Die Internationalisierung des Plugins umsetzen.
Wir haben dies bereits im Code verwendet. esc_html__() Um die zu übersetzenden Zeichenketten zu verpacken. Um die Internationalisierung abzuschließen, müssen Sie einen Ordner im Plugin-Verzeichnis erstellen. languages Ordnern. Fügen Sie anschließend den folgenden Code nach den Kommentaren am Anfang der Hauptdatei hinzu, um das Textfeld zu laden:
// 加载文本域以实现国际化
function mfgp_load_textdomain() {
load_plugin_textdomain( 'my-first-greeting', false, dirname( plugin_basename( __FILE__ ) ) . '/languages/' );
}
add_action( 'plugins_loaded', 'mfgp_load_textdomain' ); Danach kannst du Tools wie Poedit verwenden, um die Übersetzungsstrings im Plugin-Code zu scannen und eine Übersetzungsdatei zu generieren. .pot Template-Dateien, die für verschiedene Sprachen (z. B. Chinesisch) geeignet sind. zh_CNErstellen .po Und das kompilierte… .mo Datei hineinlegen. languages Mappe.
Bereit zur Veröffentlichung im offiziellen Verzeichnis.
Falls Sie planen, das Plugin in den WordPress.org-Plugin-Katalog einzustellen, müssen Sie sicherstellen, dass die Codequalität hoch ist und die notwendigen Metadatendateien vorhanden sind. Zum Beispiel sollten Sie… readme.txt Die Datei muss in einem bestimmten Format vorliegen, das den Anforderungen entspricht. Spezifische Vorgaben für WordPressDie Informationen sollten den Namen des Plugins, eine Beschreibung, Anweisungen zur Installation, häufig gestellte Fragen sowie Aktualisierungsprotokolle enthalten. Zudem sollte ein Deinstallationsmechanismus hinzugefügt werden, der sicherstellt, dass bei der Deinstallation des Plugins die entsprechenden Einträge aus der Datenbank gelöscht werden.
// 插件卸载时清理选项
function mfgp_uninstall_hook() {
delete_option( 'mfgp_custom_message' );
}
register_uninstall_hook( __FILE__, 'mfgp_uninstall_hook' ); Zusammenfassungen
Durch die Entwicklung dieses “Täglichen Grußes”-Plugins haben wir den gesamten Kernprozess der WordPress-Plugin-Entwicklung durchlaufen: Von der Erstellung der grundlegenden Dateistruktur über die Nutzung von Aktionshaken zur Hinzufügung von Funktionen bis hin zur Erstellung einer Verwaltungsoberfläche, der Umsetzung von Sicherheitsstandards und der Vorbereitung auf die Internationalisierung. Der Schlüssel liegt darin, das WordPress-Haken-System zu verstehen und geschickt zu nutzen – und dabei stets Sicherheit sowie Codestandards an erste Stelle zu setzen. Dieses einfache Beispiel ist der Ausgangspunkt für Ihre eigene Plugin-Entwicklung. Auf dieser Grundlage können Sie weitere komplexe Funktionen wie Shortcodes, benutzerdefinierte Artikeltypen oder REST-API-Endpunkte erforschen und so leistungsstarke, professionelle Plugins entwickeln.
FAQ Häufig gestellte Fragen
In welchem Verzeichnis müssen die Plugins platziert werden?
WordPress-Plugins müssen auf der Website platziert werden. wp-content/plugins/ Im Verzeichnis befinden sich die Plugins. Jedes Plugin kann eine eigenständige PHP-Datei sein, doch es ist üblicher, dass es sich um einen Ordner mit dem Namen des Plugins handelt, der die Hauptdatei sowie weitere Ressourcen enthält.
Warum wird mein Plugin nicht in der Liste der Plugins im Hintergrund angezeigt?
Bitte überprüfen Sie, ob die Formatierung der Kopf-Anmerkungen (Plugin Name, Beschreibung usw.) in der Haupt-Plugin-Datei korrekt und vollständig ist. Stellen Sie sicher, dass die Datei sich im richtigen Verzeichnis befindet und dass WordPress die Berechtigung hat, diese Datei zu lesen. Außerdem sollten Sie überprüfen, ob am Anfang des PHP-Codes keine überflüssigen Leerzeichen oder Zeichen vorhanden sind.
Wie fügt man PHP-Fehler in einem Plugin hin?
„In“ wp-config.php In der Datei wird Folgendes festgelegt: WP_DEBUG Die Konstante ist auf trueDies ermöglicht es WordPress, PHP-Fehler, Warnungen und Benachrichtigungen auf der Seite anzuzeigen. Bitte beachten Sie, dass diese Funktion nur in der Entwicklungsumgebung aktiviert werden sollte und unbedingt vor der Veröffentlichung der Website deaktiviert werden muss.
Was ist der Unterschied zwischen den Funktionen (.php-Dateien) von Plugins und Themes?
In Bezug auf das Thema… functions.php Die in die Software hinzugefügten Funktionen sind an ein bestimmtes Thema gebunden. Wenn das Thema gewechselt wird, können diese Funktionen möglicherweise nicht mehr funktionieren. Die von Plugins bereitgestellten Funktionen hingegen sind unabhängig vom verwendeten Thema und sind immer verfügbar, solange das Plugin aktiviert ist. Für allgemein nutzbare Funktionen ist es daher die bessere Wahl, Plugins zu entwickeln.
Wie kann ich andere Entwickler dazu ermutigen, mein Plugin zu erweitern?
Sie können anderen Entwicklern ermöglichen, Ihr Plugin zu erweitern, indem Sie benutzerdefinierte “Aktionshaken” (Action Hooks) und “Filterhaken” (Filter Hooks) bereitstellen. do_action() Erstellen Sie Aktionshaken (Action Hooks), die an den Stellen “Aktionen ausführen”, an denen Code eingefügt werden muss. apply_filters() Es wird Filter-Hooks erstellt, die es ermöglichen, bestimmte Datewerte in Ihrem Plugin zu ändern. Dies ist ein gängiges Muster für die Zusammenarbeit zwischen Plugins in der WordPress-Ökologie.
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