Von Null auf Eins: Eine vollständige Anleitung zur Entwicklung von WordPress-Plugins mit praktischen Übungen

3-Minuten-Lesung
2026-03-11
2026-06-04
2,201
Ich bekomme eine Provision, wenn du über die untenstehenden Links einkaufst – ohne zusätzliche Kosten für dich.

Warum ist es notwendig, eigene WordPress-Plugins zu entwickeln?

Die Kernfunktionen von WordPress sind sehr leistungsfähig, doch angesichts der ständig wechselnden Geschäftsanforderungen reichen die voreingestellten Funktionen oft nicht aus. Die Entwicklung eigener Plugins ermöglicht es Ihnen, Ihrer Website einzigartige Funktionen hinzuzufügen, ohne die WordPress-Kerndateien ändern zu müssen – dies gewährleistet die Stabilität und Upgradefähigkeit Ihrer Website. Egal, ob Sie eine einfache Kontaktform erstellen, ein komplexe Produktpräsentationssystem oder ein Tool entwickeln möchten, das mit Drittanbieter-APIs integriert wird: Plugins sind die flexibelste und standardisierteste Methode, dies zu erreichen.

Durch die Entwicklung von Plugins kannst du Funktionen modularisieren, wodurch sie leichter zwischen verschiedenen Websites wiederverwendet und verteilt werden können. Dies verbessert nicht nur die Entwicklungseffizienz, sondern ist auch ein hervorragender Weg, um das WordPress-Design sowie die PHP-Programmierung tiefer zu verstehen. Die Beherrschung von Plugin-Entwicklungsfähigkeiten bedeutet, dass du jede Idee in tatsächliche Funktionen für deine Webseiten umsetzen kannst.

Erstellen Sie Ihr erstes WordPress-Plugin

Erstellen Sie ein WordPress-Plugin, indem Sie mit einer einfachen Verzeichnisstruktur und einer Hauptdatei beginnen. Alle Plugins werden in dieser Verzeichnisstruktur abgelegt./wp-content/plugins/Im Verzeichnis.

Empfohlene Lektüre Einführung in die Entwicklung von WordPress-Themen: Wie Sie von Grund auf ein benutzerdefiniertes Thema erstellen

Erstellen Sie die Hauptdatei des Plugins.

Die Hauptdatei eines Plugins ist das „Herz“ des Plugins – sie enthält die Metadaten des Plugins. Zunächst einmal…/wp-content/plugins/Erstellen Sie einen neuen Ordner im Verzeichnis, z. B.my-first-pluginDanach erstellen Sie in diesem Ordner die Haupt-PHP-Datei, die in der Regel den gleichen Namen wie der Ordner trägt:my-first-plugin.php

UltaHost – WordPress-Hosting-Anbieter
30-tägige Geld-zurück-Garantie, unbegrenztes Bandbreiten- und Datenbankvolumen, kostenlose DDoS-Schutzmaßnahmen sowie ein Rabatt von 501 auf 4 Terabyte bei einer Kaufdauer von 3 Jahren.

Am Anfang dieses Hauptfiles musst du einen standardmäßigen Plugin-Comment hinzufügen, um WordPress über deine Erweiterung zu informieren. Dies ist entscheidend dafür, dass die Erweiterung von WordPress erkannt wird und im Backend-Management-Interface angezeigt wird.

<?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
 */

Nachdem du die Datei gespeichert hast, logge dich in das WordPress-Backend ein und gehe auf die Seite “Plugins”. Dort sollst du “Mein erstes Plugin” in der Liste der Plugins sehen. Aktiviere es – auch wenn es noch keine Funktionen bietet, ist dein erstes Plugin-Framework damit bereits eingerichtet.

Basische Funktionen für das Plugin hinzufügen

Ein Plugin ohne Funktionen ist sinnlos. Lassen Sie uns ihm eine einfache Funktion hinzufügen: Einen Zeilentext, der im Fußbereich der Website angezeigt wird. Dafür müssen wir das “Hook”-Mechanismus von WordPress verwenden.

Wir können es verwenden.wp_footerDieser Aktion-Hook befindet sich im Hauptdatei des Plugins.my-first-plugin.phpUnter der Kopfzeile-Anmerkung fügen Sie den folgenden Code hinzu:

Empfohlene Lektüre Wie man hochwertige WordPress-Plugins auswählt und entwickelt: Ein Leitfaden für Einsteiger und Profis

// 在网站页脚输出自定义文本
function my_first_plugin_add_footer_text() {
    echo '<p style="text-align: center; color: #666;">Vielen Dank, dass Sie mein erstes WordPress-Plugin verwendet haben!</p>'functions.php':  
function my_first_plugin_add_footer_text() {  
    echo '\n';  
}
add_action( 'wp_footer', 'my_first_plugin_add_footer_text' );

Nachdem Sie die Datei gespeichert haben, aktualisieren Sie die Frontend-Seite Ihrer Website und scrollen Sie bis zum unteren Teil der Seite. Dort sollten Sie den hinzugefügten Text sehen. Mit diesem einfachen Beispiel haben Sie das Kernmodell der Plugin-Entwicklung praktiziert: Funktionen definieren und diese anschließend nutzen.add_action()oderadd_filter()Befestigen Sie es an einem bestimmten Hook von WordPress.

Verständnis der Kernmechanismen von WordPress-Plugins: Hooks und Filter

Die Flexibilität und Erweiterbarkeit von WordPress ist größtenteils dem “Hook”-System zu verdanken. Hooks ermöglichen es Entwicklern, ihren eigenen Code zu bestimmten Zeitpunkten während der Ausführung des WordPress-Kerncodes einzubinden. Es gibt hauptsächlich zwei Arten von Hooks: Aktionen (Actions) und Filter (Filters).

Action Hooks führen Ihren Code aus, wenn ein bestimmtes Ereignis stattfindet – beispielsweise beim Veröffentlichen eines Artikels oder beim Laden des Fußballs. Sie erwarten keine Rückgabewerte und dienen hauptsächlich dazu, eine bestimmte Aktion auszuführen. Das haben wir oben bereits verwendet.wp_footerEs handelt sich dabei um einen Action-Hook.

hosting.com Shared Hosting
Hohe Leistung mit AMD EPYC-CPUs, NVMe-SSD-Speicher und LiteSpeed, fachkundiger Inhouse-Support rund um die Uhr, erweiterte Sicherheitsmaßnahmen einschließlich SSL, Brute-Force-, Malware- und DDoS-Schutz, Einsparungen von bis zu 73%

Die Filter-Hooks dienen dazu, Daten zu verändern. Sie ermöglichen es Ihnen, die Daten vor ihrer Verwendung – beispielsweise vor dem Speichern in einer Datenbank oder der Ausgabe in einem Browser – zu bearbeiten. Die Filterfunktion erhält einen Wert und muss den veränderten Wert zurückgeben.

Verwenden Sie Aktionshaken, um ein Verwaltungsmenü hinzuzufügen.

Ein voll funktionsfähiges Plugin benötigt in der Regel eine eigene Menüseite, die in der Seitenleiste der WordPress-Backend-Verwaltung hinzugefügt wird. Dies kann durch…admin_menuDiese Aktion wird mit einem Hook umgesetzt.

// 在后台管理菜单中添加一个新页面
function my_first_plugin_add_admin_menu() {
    add_menu_page(
        '我的插件设置',          // 页面标题
        '我的插件',             // 菜单标题
        'manage_options',       // 所需权限
        'my-first-plugin',      // 菜单slug
        'my_first_plugin_settings_page', // 显示页面内容的回调函数
        'dashicons-admin-generic', // 图标(可选)
        80                      // 菜单位置
    );
}
add_action( 'admin_menu', 'my_first_plugin_add_admin_menu' );

// 定义设置页面的内容
function my_first_plugin_settings_page() {
    ?&gt;
    <div class="wrap">
        <h1>Die Einstellungen meines ersten Plugins</h1>
        <p>Willkommen auf der Einstellungsseite des Plugins. Hier können in Zukunft verschiedene Konfigurationsoptionen hinzugefügt werden.</p>
        <form method="post" action="/de/options.php/" data-trp-original-action="options.php">
            <!-- 未来可以在这里添加设置字段 -->
            <?php submit_button(); ?>
        <input type="hidden" name="trp-form-language" value="de"/></form>
    </div>
    &lt;?php
}

Die Inhalte eines Artikels mit einem Filter ändern.

Angenommen, wir möchten automatisch einen Urheberrechtsvermerk am Ende jedes Artikels hinzufügen – dabei verwenden wir einen Filter-Hook.the_contentUnd genau da kam es zum Einsatz.

Empfohlene Lektüre Wie man hochwertige WordPress-Plugins auswählt und entwickelt: Vom Anfänger zum Meister

// 在文章内容末尾自动添加版权声明
function my_first_plugin_add_copyright( $content ) {
    // 确保只在主循环的单篇文章页面执行
    if ( is_single() &amp;&amp; in_the_loop() &amp;&amp; is_main_query() ) {
        $copyright_text = '<div class="plugin-copyright"><p><em>Das Urheberrecht dieses Artikels liegt bei dieser Website. Bei einer Weiterveröffentlichung ist ein Hinweis auf die Quelle erforderlich.</em></p></div>';
        $content .= $copyright_text;
    }
    return $content; // 必须返回修改后的内容
}
add_filter( 'the_content', 'my_first_plugin_add_copyright' );

Plugin-Sicherheit und bewährte Praktiken

Bei der Entwicklung von Plugins ist Sicherheit das wichtigste zu berücksichtigende Kriterium. Ein unsicheres Plugin kann ein Sicherheitsrisiko für die gesamte Website darstellen.

Datenvalidierung, -bereinigung und -vermeidung

Vertrauen Sie niemals auf Benutzereingaben oder externe Daten. Alle Informationen, die von außen stammen, sollten mit Vorsicht behandelt werden.$_GET$_POST$_COOKIEDie Daten aus Datenbanken müssen vor ihrer Verwendung immer überprüft und bereinigt werden.

InterServer Shared Hosting
Shared Hosting $2.50 USD pro Monat, erster Monat $0.1 USD Promo-Code tryinterserver, 461 Cloud-Apps Skripte, ein Klick installieren.
  • Validierung: Überprüfung, ob die Daten dem erwarteten Format entsprechen (z. B. ob es sich um eine E-Mail-Adresse, eine Zahl usw. handelt). Hierfür können Siefilter_var()Function orsanitize_*()Eine Reihe von Funktionen.
  • Sanitization: Entfernung unerlaubter oder unsicherer Zeichen aus Daten. Beispielsweise wird dies bei Texteingaben durchgeführt.sanitize_text_field()
  • Entkommen (Escaping): Stellen Sie sicher, dass Sonderzeichen bei der Ausgabe von Daten in HTML, JavaScript oder URLs korrekt codiert werden, um XSS-Angriffe zu verhindern. Verwenden Sie hierfür <esc_html()esc_js()esc_url()Zum Beispiel können Sie die folgenden Funktionen verwenden:
// 不安全的做法
echo $_GET['user_input'];

// 安全的做法:先清理,再转义
$safe_input = sanitize_text_field( $_GET['user_input'] );
echo esc_html( $safe_input );

Verwendung von WordPress ohne CE (Core Edition) und ohne Überprüfung von Berechtigungen

Bei der Bearbeitung von Formularabgaben – insbesondere wenn es um Änderungen oder Löschungen von Daten geht – muss unbedingt…wp_nonce(Ein einmaliger Zahlencode) dient zur Überprüfung der Legitimität der Anfrage, um CSRF-Angriffe zu verhindern. Zudem muss geprüft werden, ob der aktuelle Benutzer die Berechtigung hat, diese Aktion auszuführen.

// 在处理表单提交时检查权限和nonce
function my_first_plugin_handle_form_submit() {
    // 1. 检查nonce
    if ( ! isset( $_POST['my_plugin_nonce'] ) || ! wp_verify_nonce( $_POST['my_plugin_nonce'], 'my_plugin_action' ) ) {
        wp_die( '安全校验失败!' );
    }

// 2. 检查用户权限
    if ( ! current_user_can( 'manage_options' ) ) {
        wp_die( '权限不足!' );
    }

// 3. 清理和保存数据(此处省略)
    // ...
}

Bereitest du dich darauf vor, deinen Plugin zu veröffentlichen?

Sobald die Funktionen des Plugins vollständig entwickelt und die Tests abgeschlossen sind, kannst du darüber nachdenken, es mit anderen WordPress-Nutzern zu teilen.

Internationalisierung und Lokalisierungsvorbereitungen

Damit Nutzer aus aller Welt deinen Plugin nutzen können, musst du die Internationalisierung (i18n) vorbereiten. Das bedeutet, dass alle für die Benutzer bestimmten Zeichenketten mit den Übersetzungsfunktionen von WordPress versehen werden müssen. Wir haben dies bereits in den Kommentaren am Anfang des Plugins angegeben.Text Domain: my-first-plugin

Im Code wird dies verwendet.__()Eine Funktion, die Zeichenketten übersetzt und zurückgibt, wird verwendet._e()Funktion zur Übersetzung – und die Ergebnisse werden direkt ausgegeben.

// 将之前页脚输出的文本改为可翻译
function my_first_plugin_add_footer_text_i18n() {
    $text = __( '感谢使用我的第一个WordPress插件!', 'my-first-plugin' );
    echo '<p style="text-align: center; color: #666;">'`. esc_html($text).`'</p>';
}
add_action( 'wp_footer', 'my_first_plugin_add_footer_text_i18n' );

Danach kannst du Tools wie Poedit verwenden, um die Erstellung vorzunehmen..potTemplate-Dateien – Der Übersetzer kann darauf basierend Übersetzungen in verschiedene Sprachen erstellen..pound.moDokumente.

Verbessern Sie die Metadaten des Plugins sowie die Readme-Datei.

Wenn Sie planen, das Plugin in den offiziellen WordPress-Plugin-Katalog einzustellen, müssen Sie ein Plugin erstellen, das den Standards entspricht.readme.txtDatei: Diese Datei verwendet ein spezifisches Markdown-Format, um auf WordPress.org Informationen wie die Beschreibung deines Plugins, die Installationsanweisungen, Screenshots sowie Aktualisierungsprotokolle anzuzeigen.

Gleichzeitig stellen Sie sicher, dass die Metadaten am Anfang der Hauptdatei Ihres Plugins vollständig und korrekt sind – insbesondere die Versionsnummer. Befolgen Sie dabei semantische Versionierungsmethoden (z. B.…)MAJOR.MINOR.PATCHEs ist eine gute Angewohnheit.

Zusammenfassungen

Die Entwicklung von WordPress-Plugins ist ein Prozess, bei dem Ideen in leistungsstarke Website-Funktionen umgewandelt werden. Wir begannen mit der Erstellung einer ganz grundlegenden Plugin-Datei und lernten schrittweise, wie man das leistungsstarke Hook-System von WordPress (Aktionen und Filter) nutzt, um Code einzufügen, Backend-Menüs hinzuzufügen und Inhalte zu ändern. Noch wichtiger ist, dass wir die für die Plugin-Entwicklung entscheidenden Sicherheitspraktiken ausführlich behandelt haben – darunter Datenvalidierung, Datenreinigung, Ausgabeentschlüsselung sowie Berechtigungsüberprüfungen. Diese Aspekte bilden die Grundlage dafür, dass Ihre Plugins zuverlässig sind und nicht missbraucht werden können.

Zum Schluss haben wir uns die nächsten Schritte bei der Entwicklung von Plugins angeschaut: die Vorbereitung auf die Internationalisierung sowie den Veröffentlichungsprozess. Wenn du diese Kernkonzepte und Fähigkeiten beherrschst, verfügst du über die nötigen Grundlagen, um maßgeschneiderte Lösungen für jedes WordPress-Projekt zu erstellen. Denk daran: Die beste Lernmethode ist die praktische Anwendung – beginne mit einer einfachen Anforderung und erweitere schrittweise die Funktionen deines Plugins.

FAQ Häufig gestellte Fragen

Welche Grundkenntnisse sind erforderlich, um WordPress-Plugins zu entwickeln?

Um WordPress-Plugins zu entwickeln, sind grundlegende Kenntnisse der PHP-Programmiersprache erforderlich, da der Plugin-Code hauptsächlich in PHP geschrieben wird. Außerdem sind ein grundlegendes Verständnis von HTML, CSS und JavaScript erforderlich, um die Benutzeroberfläche sowie die Interaktionen mit dem Plugin zu erstellen. Am wichtigsten ist es, die grundlegende Architektur von WordPress zu verstehen – insbesondere das Hook-System, welches die Hauptverbindung zwischen Plugins und dem Kern von WordPress darstellt.

Was ist der Unterschied zwischen den Funktionen-Dateien „functions.php“ von Plugins und Themes?

„Themenbezogen“functions.phpDie Dateien dienen dazu, Code hinzuzufügen, der mit dem Aussehen und den Funktionen eines bestimmten Themes zusammenhängt. Dieser Code wird beim Wechsel des Themes ungültig. Plugins hingegen sind unabhängige Funktionseinheiten, die unabhängig davon, welches Theme aktiviert ist, ihre Funktionen erfüllen, solange sie aktiviert sind. Es ist eine bessere Praxis, allgemeine Funktionen in Plugins zu integrieren, da dies die Unabhängigkeit und Portabilität der Funktionen gewährleistet.

Wie debugge ich mein WordPress-Plugin?

Zunächst stellen Sie sicher, dass aufwp-config.phpDie Datei wurde geöffnet.WP_DEBUGDieser Modus zeigt PHP-Fehler und Warnungen auf dem Bildschirm an.error_log()Die Funktion schreibt Debugging-Informationen in das Fehlerprotokoll des Servers. Darüber hinaus können die “Konsole” und die “Netzwerk”-Panel der Browser-Entwicklungstools zur Fehlersuche bei JavaScript- und AJAX-Anfragen genutzt werden. Bei komplexer Logik ist es sinnvoll, spezielle Debugging-Methoden anzuwenden.var_dump()oderprint_r()Die Variablewerte werden ausgegeben, aber vergessen Sie nicht, diesen Debugging-Code vor der Veröffentlichung zu entfernen.

Wie interagiert meine Erweiterung mit der Datenbank?

WordPress bietet$wpdbDie globale Objektbibliothek ermöglicht sichere Datenbankoperationen. Sie verschlüsselt SQL-Abfragen und bietet außerdem Funktionen zur Datenbereinigung. Für das Erstellen, Aktualisieren und Löschen benutzerdefinierter Datentabellen wird empfohlen, diese Vorgänge erst nach Aktivierung des Plugins durchzuführen.dbDelta()Für die meisten Einstellungsdaten ist es eine einfachere und sicherere Methode, die WordPress-Options-API zu verwenden (z. B.).add_option(), update_option(), get_option()Diese Struktur wird verwendet, um Paare aus Schlüsseln und Werten zu speichern.

Wie erstelle ich eine konfigurierbare Einstellungsseite für mein Plugin?

Die Erstellung einer Einstellungsseite umfasst in der Regel mehrere Schritte:add_menu_page()oderadd_submenu_page()Menüeinträge und Seiten werden hinzugefügt, anschließend wird die Settings API verwendet, um Einstellungen, Abschnitte und Felder zu registrieren. Die Settings API kümmert sich automatisch um die Überprüfung der CE-Zertifizierung sowie der Berechtigungen und bietet eine standardisierte Darstellung der Felder. Sie stellt somit die empfohlene Methode dar, sichere, standardisierte Backend-Einstellungsseiten zu erstellen.