Vorbereitung der Entwicklungsumgebung für WordPress-Plugins
Bevor du mit dem Schreiben des Codes beginnst, ist eine stabile und isolierte Entwicklungsumgebung von entscheidender Bedeutung. Sie schützt nicht nur deine Produktionswebsite, sondern ermöglicht es dir auch, frei zu testen und zu debuggen. Die am meisten empfohlene Methode ist die Verwendung einer lokalen Entwicklungsumgebung – beispielsweise Local by Flywheel, XAMPP oder MAMP. Diese Tools ermöglichen es mit nur einem Klick, die für WordPress erforderlichen Komponenten wie PHP, MySQL und den Webserver auf deinem lokalen Computer zu installieren.
Als Nächstes müssen Sie den Debug-Modus in Ihrer lokalen WordPress-Installation aktivieren. Dies erleichtert es Ihnen, Fehler während des Entwicklungsprozesses schnell zu erkennen. Öffnen Sie das Verzeichnis im Wurzelverzeichnis von WordPress… wp-config.php Datei: Finden oder hinzufügen die folgenden Konstantendefinitionen:
define( 'WP_DEBUG', true );
define( 'WP_DEBUG_LOG', true );
define( 'WP_DEBUG_DISPLAY', false ); Nach dieser Einstellung werden alle Fehler- und Warnmeldungen aufgezeichnet. /wp-content/debug.log Die Datei wird in der Datei gespeichert und nicht direkt auf der Seite angezeigt, was die Benutzererfahrung auf der Frontend-Seite nicht beeinträchtigt.
Empfohlene Lektüre Einführung in die Entwicklung von WordPress-Plugins: Erstellen Sie Ihr erstes benutzerdefiniertes Plugin von Grund auf.。
Zum Schluss benötigen Sie einen Code-Editor. Visual Studio Code, PhpStorm oder Sublime Text sind alle hervorragende Wahlmöglichkeiten, da sie eine gute Syntaxhervorhebung sowie Code-Vorschläge für die Entwicklung mit PHP und WordPress bieten. Stellen Sie sicher, dass Ihr Editor einfach auf die Projektdateien auf Ihrem lokalen Server zugreifen kann.
Erstellen Sie Ihr erstes Plugin.
Ein WordPress-Plugin ist im Wesentlichen ein oder mehrere Dateien, die sich in der Dateistruktur von WordPress befinden. Diese Dateien enthalten die Code, der die zusätzlichen Funktionen oder Anpassungen des Plugins ermöglicht. wp-content/plugins Die PHP-Dateien im Verzeichnis. Jedes Plugin muss eine Hauptdatei haben, und der Anfang dieser Datei muss standardisierte Kommentare mit Informationen zum Plugin enthalten, damit WordPress es erkennen kann.
Erstellen Sie die Kopfinformationen für das Plugin.
In deinem wp-content/plugins Erstellen Sie unter dem Verzeichnis einen neuen Ordner, zum Beispiel my-first-pluginIn diesem Ordner erstellen Sie die Hauptdatei. my-first-plugin.phpAm Anfang des Files muss eine Anmerkung in der folgenden Formatierung enthalten sein:
<?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
*/ In diesem Kommentar ist “Plugin Name” eine Pflichtangabe; alle anderen Felder sind optional. WordPress liest diese Informationen und zeigt sie auf der Backend-Seite zur Verwaltung der Plugins an.
Eine einfache Funktion implementieren
Jetzt fügen wir dieser Erweiterung die erste praktische Funktion hinzu: Das automatische Hinzufügen eines benutzerdefinierten Textes am Ende des Artikelinhalts. Dafür werden wir… the_content Dieser Filter-Hook.
Empfohlene Lektüre Einführung in die WordPress-Plug-in-Entwicklung von Anfänger bis Fortgeschrittener: Praxiserfahrungen und gemeinsames Teilen von Kerntechniken.。
Unter den Kopfnotizen fügen Sie den folgenden Code hinzu:
function myfp_add_text_to_content( $content ) {
if ( is_single() && in_the_loop() && is_main_query() ) {
$custom_text = '<p><em>Vielen Dank für das Lesen dieses Artikels – präsentiert von “Mein erster Plugin”.</em></p>';
$content .= $custom_text;
}
return $content;
}
add_filter( 'the_content', 'myfp_add_text_to_content' ); Nachdem Sie die Datei gespeichert haben, gehen Sie zur “Plugins”-Seite im WordPress-Backend. Dort sollten Sie “Mein erstes Plugin” sehen. Aktivieren Sie es, und anschließend prüfen Sie einen Artikel auf Ihrer Website – Sie werden feststellen, dass der von uns definierte Text am Ende des Artikels hinzugefügt wurde.myfp_add_text_to_content Es ist eine von uns definierte Funktion.add_filter() Mounten Sie es auf… the_content Auf dem Haken. Die Bedingungen innerhalb der Funktion sorgen dafür, dass dieser Text nur im Hauptzyklus der einzelnen Artikelseiten auf der Frontend-Seite angezeigt wird.
Verständnis der Kernmechanismen von WordPress-Plugins
Der starke und flexible Kern von WordPress-Plugins ist das Hook-Mechanismus. Hooks ermöglichen es Ihnen, Ihren eigenen Code an bestimmten Stellen im Ausführungskontext des WordPress-Kerns einzufügen, um das Standardverhalten zu ändern oder zu erweitern. Es gibt hauptsächlich zwei Arten von Hooks: Action Hooks und Filter Hooks.
Action Hooks und Filter Hooks
Action-Hooks ermöglichen es Ihnen, benutzerdefinierten Code auszuführen, wenn ein bestimmtes Ereignis stattfindet – beispielsweise nach der Veröffentlichung eines Artikels oder beim Laden der Verwaltungsseite. Es wird keine Rückgabewert erwartet. add_action() Eine Funktion wird verwendet, um etwas zu „montieren“ – beispielsweise eine Aktion auszuführen, wenn ein Plugin aktiviert wird.
function myfp_plugin_activation_task() {
// 创建数据库表、初始化选项等
update_option( 'myfp_plugin_installed', '2026-01-01' );
}
register_activation_hook( __FILE__, 'myfp_plugin_activation_task' ); Hier wurde Folgendes verwendet: register_activation_hookEs handelt sich um einen speziellen Aktionshaken, der ausschließlich für die Aktivierung von Plugins verwendet wird.
Die Filter-Hook-Funktionen ermöglichen es Ihnen, die an sie übergebenen Daten zu ändern. Dabei wird von der Funktion erwartet, dass sie einen Wert entgegennimmt und einen modifizierten Wert zurückgibt. Unser früheres Beispiel, in dem wir den Inhalt eines Artikels geändert haben, ist ein typisches Beispiel für einen solchen Filter. Ein weiteres Beispiel wäre die Änderung der Länge eines Artikelauszugs.
Empfohlene Lektüre Erlernen Sie die Entwicklung von WordPress-Plugins: Ein vollständiger praktischer Leitfaden von Null bis Eins.。
function myfp_custom_excerpt_length( $length ) {
return 20; // 将摘录长度改为20个单词
}
add_filter( 'excerpt_length', 'myfp_custom_excerpt_length' ); Dynamische Inhalte mithilfe von Shortcodes hinzufügen
Neben den sogenannten „Hooks“ sind Shortcodes ein weiteres mächtiges Werkzeug, mit dem Plugins mit dem Inhalt interagieren können. Sie ermöglichen es den Nutzern, durch das Einfügen einer einfachen Tags in einen Artikel oder eine Seite bestimmte Funktionen auszuführen. [my_shortcode]Um die komplexen Inhalte zu nutzen, die von dem Plugin erzeugt werden, wird dieses über eine entsprechende Funktion aufgerufen.
Es ist sehr einfach, einen kurzen Code zu erstellen – man verwendet dazu einfach die entsprechenden Tools und Methoden. add_shortcode() Funktionen. Zum Beispiel: Ein kurzer Code, der die aktuelle Zeit anzeigt:
function myfp_current_time_shortcode( $atts ) {
$atts = shortcode_atts( array(
'format' => 'Y-m-d H:i:s',
), $atts, 'current_time' );
return date( $atts['format'] );
}
add_shortcode( 'current_time', 'myfp_current_time_shortcode' ); Benutzer können im Editor Eingaben tätigen. [current_time format="H:i"] Zeigen Sie nur die Stunden und Minuten an.
Eine Verwaltungseite für das Plugin hinzufügen
Viele Plugins benötigen Konfigurationsoptionen, die in der Regel über die Verwaltungsmenüseite im WordPress-Backend bereitgestellt werden. WordPress bietet eine Reihe von Funktionen, um oberste Menüeinträge oder Untermenüeinträge hinzuzufügen.
Plugin-Einstellungsseite erstellen
Wir werden eine einfache Einstellungsseite für das Plugin hinzufügen, mit der der zuvor am Ende der Artikel eingefügte Textinhalt verwaltet werden kann. Zunächst werden wir… add_menu_page() oder add_options_page() Es gibt Funktionen zur Registrierung von Seiten. In der Regel fügen einfache Plugins die Seiten dem Untermenü “Einstellungen” hinzu.
Fügen Sie den folgenden Code in die Hauptdatei des Plugins ein:
function myfp_add_admin_menu() {
add_options_page(
'我的第一个插件设置', // 页面标题
'我的插件设置', // 菜单标题
'manage_options', // 所需权限
'myfp-settings', // 菜单slug
'myfp_settings_page_html' // 用于输出页面内容的回调函数
);
}
add_action( 'admin_menu', 'myfp_add_admin_menu' ); Dieser Code teilt WordPress mit, dass beim Erstellen des Administrationsmenüs im Hintergrund (…)admin_menu Aktion ausführen. myfp_add_admin_menu Eine Funktion, um eine Seite hinzuzufügen.
Erstellen einer Form für die Konfigurationsseite
Als nächstes müssen wir definieren, myfp_settings_page_html Die Funktion generiert den HTML-Inhalt der Seite und kümmert sich um die Speicherung der Formulare. Um die Einstellungen sicher zu speichern, verwenden wir WordPress. options API (Application Programming Interface).
function myfp_settings_page_html() {
// 检查用户权限
if ( !current_user_can( 'manage_options' ) ) {
return;
}
// 处理表单提交
if ( isset( $_POST['myfp_footer_text'] ) ) {
update_option( 'myfp_footer_text', sanitize_textarea_field( $_POST['myfp_footer_text'] ) );
echo '<div class="notice notice-success"><p>Die Einstellungen wurden gespeichert!</p></div>';
}
// 获取现有值
$current_text = get_option( 'myfp_footer_text', '感谢阅读本文,由“我的第一个插件”为您呈现。' );
?>
<div class="wrap">
<h1>Die Einstellungen meines ersten Plugins</h1>
<form method="post" action="">
<?php wp_nonce_field( 'myfp_settings_action', 'myfp_settings_nonce' ); ?>
<table class="form-table">
<tr>
<th scope="row"><label for="footer_text">Artikel-Fußzeilen-Text</label></th>
<td>
<textarea name="myfp_footer_text" id="footer_text" rows="4" cols="50" class="large-text"><?php echo esc_textarea( $current_text ); ?></textarea>
<p class="description">Dieser Text wird am Ende jedes Artikels angezeigt.</p>
</td>
</tr>
</table>
<?php submit_button(); ?>
<input type="hidden" name="trp-form-language" value="de"/></form>
</div>
<?php
} Zuletzt vergessen Sie nicht, die Funktion zu ändern, die zuvor den Inhalt der Artikel gefiltert hat, sodass sie nun auch die angegebenen Optionen berücksichtigt. myfp_footer_text Der Text wird aus einer Datei gelesen, anstatt von fest eingebetteten („härt gekodierten“) Zeichenketten verwendet. Damit ist eine Backend-Einstellungsseite mit grundlegenden Verwaltungsfunktionen fertiggestellt.
Zusammenfassungen
Durch die Schritte in diesem Artikel hast du von Grund auf ein voll funktionsfähiges WordPress-Plugin erstellt. Du hast gelernt, wie man eine Entwicklungsumgebung einrichtet, die Grundstruktur eines Plugins erstellt, die Hook-Mechanismen (Aktionen und Filter) von WordPress nutzt, um Funktionen zu erweitern, Shortcodes implementiert sowie eine Backend-Verwaltungsoberfläche erstellt. Der Kern der Plugin-Entwicklung liegt darin, die Funktionsweise von Hooks und Ereignissteuerung zu verstehen – dadurch kannst du das Verhalten von WordPress ohne Änderungen am Kerncode tiefgreifend anpassen. Denke daran: Eine gute Codestruktur, sichere Verarbeitung von Eingaben und Ausgaben sowie Unterstützung für die Internationalisierung sind die Grundlagen für die Entwicklung hochwertiger Plugins. Als Nächstes kannst du versuchen, dem Plugin weitere Funktionen hinzuzufügen, wie z. B. benutzerdefinierte Artikeltypen, Widgets oder REST-API-Endpunkte, und die unbegrenzten Möglichkeiten der WordPress-Ökologie weiter erkunden.
FAQ Häufig gestellte Fragen
Muss ein Plugin nur eine einzige PHP-Datei enthalten?
Nicht unbedingt. Ein Plugin kann aus einer einzelnen PHP-Datei bestehen; für komplexe Plugins wird jedoch eine modulare Struktur empfohlen. Verschiedene Funktionen können in verschiedene Klassen oder Dateien aufgeteilt werden, während die Hauptdatei lediglich die entsprechenden Dateien einbindet und das Plugin initialisiert. Dies erleichtert die Wartung und Organisation des Codes. Zum Beispiel kann man… includes/ Die Verzeichnisfunktion enthält Klassen für die Verwaltung von Funktionen.admin/ Das Verzeichnis enthält den Code, der mit der Backend-Verarbeitung zusammenhängt.public/ Die Verzeichnisse enthalten die Frontend-Logik.
Wie kann man Benutzereingaben in Plugins sicher verarbeiten?
Bei der Verarbeitung von Benutzereingaben – wie Formulardaten oder URL-Parametern – ist es unerlässlich, diese zu überprüfen (Validation), zu bereinigen (Sanitization) und zu entschärfen (Escaping). Für die in die Datenbank gespeicherten Daten sollte dies ebenfalls erfolgen. sanitize_text_field()、sanitize_textarea_field()、intval() Funktionen zur Bereinigung werden verwendet. Beim Ausgeben der Daten auf eine HTML-Seite werden diese Funktionen ebenfalls eingesetzt. esc_html()、esc_attr()、esc_url() oder wp_kses() Es wird eine Escape-Sequenz verwendet, um Cross-Site-Scripting (XSS)-Angriffe zu verhindern.
Wie fügt man beim Plugin-Entwicklung Code hinzu und wie debuggt man ihn?
Neben der Aktivierung… WP_DEBUG Außerdem können Sie auch folgende Methoden verwenden: error_log() Die Funktion protokolliert benutzerdefinierte Informationen im Debugging-Log. Dies dient der Überprüfung der Werte der Variablen.var_dump() oder print_r() In Kombination mit die() Es handelt sich um eine schnelle, aber grobe Methode. Es wird dringend empfohlen, die Funktionen, die WordPress standardmäßig bietet, zu verwenden. wp_die() und wp_send_json()(Die Funktion dient der AJAX-Debugging.) Darüber hinaus ermöglichen professionelle Debugging-Plugins wie Query Monitor eine übersichtlichere Anzeige von Informationen zur Ausführung von Datenbankabfragen, Hooks, Scripts usw. während des Programmbetriebs.
Wie kann ich meine Erweiterung so gestalten, dass sie mehrere Sprachen unterstützt?
Um das Plugin für die Internationalisierung (i18n) zu unterstützen, müssen die Übersetzungsfunktionen von WordPress verwendet werden. Zuerst müssen diese Funktionen in den Kommentaren am Anfang des Plugins korrekt konfiguriert werden. Text Domain(Wie ‘my-first-plugin’). Im Code sollten für alle an die Benutzer gerichteten Zeichenketten diese Konvention angewendet werden. () oder _e() Funktionen werden „verpackt“ (also in eine spezielle Struktur eingefasst), zum Beispiel… ( ‘Hello World’, ‘my-first-plugin’ )Anschließend wird mit Tools wie Poedit eine Übersetzung erstellt. .pot Template-Dateien – Übersetzer können darauf basierend Übersetzungen in verschiedenen Sprachen erstellen. .po und .mo Die Dateien werden gespeichert und in dem Plugin abgelegt. languages/ Im Ordner.
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