Einführung in die Entwicklung von WordPress-Plugins: Erstellen Sie Ihr erstes benutzerdefiniertes Plugin von Grund auf.

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

Warum sollte man eigene WordPress-Plugins entwickeln?

In der WordPress-Ökologie sind Plugins der Kern zur Erweiterung der Funktionalität eines Webseites. Obwohl es auf dem Markt Tausende von Plugins gibt, bietet die Entwicklung eigener Plugins besondere Vorteile. Zunächst einmal ermöglicht es Ihnen, Funktionen genau nach Ihren eigenen Anforderungen zu erstellen, wodurch Sie umfangreichen Code oder unnötige Funktionen von Standard-Plugins vermeiden können. Darüber hinaus lässt sich ein selbst entwickeltes Plugin tief in Ihr Theme oder andere benutzerdefinierte Codebausteine integrieren, was für eine bessere Kompatibilität und Leistung sorgt. Außerdem ermöglicht die Entwicklung von Plugins die Trennung der Geschäftslogik vom Theme-Code – eine bewährte Praxis in der WordPress-Entwicklung. So bleiben die Kernfunktionen auch bei einem späteren Wechsel des Themes weiterhin funktionsfähig, was die Wartbarkeit des Webseites verbessert.

Für Entwickler ist das Erlernen der Plugin-Entwicklung ein hervorragender Weg, um das WordPress-Architekturkonzept tiefer zu verstehen. Dabei werden Sie mit Action-Hooks in Berührung kommen.add_actionFilter-Hooksadd_filterShortcodesadd_shortcodeZu den Kernkonzepten gehören unter anderem die Verarbeitung von Daten, die Steuerung von Abläufen sowie die Kommunikation zwischen verschiedenen Komponenten eines Systems. Das Beherrschen dieser Kenntnisse ermöglicht es Ihnen nicht nur, eigene Plugins zu entwickeln, sondern auch bestehende Themes und Plugins effizienter anzupassen und zu verbessern.

Umgebungskonfiguration und Vorbereitungen vor der Entwicklung

Bevor Sie mit dem Schreiben der ersten Zeile Code beginnen, ist es von entscheidender Bedeutung, eine geeignete Entwicklungsumgebung einzurichten. Dies verbessert nicht nur die Effizienz, sondern verhindert auch Fehler.

Empfohlene Lektüre Einführung in die WordPress-Plug-in-Entwicklung von Anfänger bis Fortgeschrittener: Praxiserfahrungen und gemeinsames Teilen von Kerntechniken.

Aufbau einer lokalen Entwicklungsumgebung

Es wird empfohlen, lokale Server-Software wie Local by Flywheel, XAMPP oder MAMP zu verwenden. Mit diesen Tools können Sie auf Ihrem Computer schnell eine WordPress-Umgebung einrichten, die Apache, MySQL und PHP enthält. Im Vergleich zu Online-Servern ermöglicht die lokale Entwicklung schnelle Tests und Debugging-Vorgänge – außerdem müssen Sie sich keine Sorgen machen, dass die Änderungen den Online-Betrieb Ihrer Website beeinträchtigen.

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.

Nachdem Sie WordPress lokal installiert haben, müssen Sie…wp-content/pluginsErstelle im Verzeichnis einen eigenen Ordner für dein neues Plugin. Es wird empfohlen, einen kurzen, kleinen englischen Namen ohne Leerzeichen zu verwenden, zum Beispiel…my-first-plugin

Erfahren Sie die grundlegende Struktur von Plugins.

Die einfachste WordPress-Plugin kann aus nur einer Hauptdatei bestehen. Diese Datei muss spezifische Kommentare am Anfang enthalten, anhand derer WordPress die Informationen über das Plugin erkennt. Außerdem ist eine Sicherheitsmaßnahme erforderlich – nämlich der Schutz vor direkten Zugriffen, der in der Regel durch Überprüfungen gewährleistet wird.ABSPATHWird eine Konstante definiert, um ihre Werteigenschaften umzusetzen bzw. ihre Funktionalität zu realisieren?

Hier ist ein Beispiel für eine minimierte Hauptdatei eines Plugins. Die Datei kann den Namen „plugin_main.min.js“ tragen.my-first-plugin.phpUnd legen Sie es in das gerade erst erstellte Verzeichnis:

<?php
/**
 * Plugin Name:       我的第一个插件
 * Plugin URI:        https://yourwebsite.com/my-first-plugin
 * Description:       这是一个用于学习的入门级WordPress插件。
 * Version:           1.0.0
 * Author:            你的名字
 * License:           GPL v2 or later
 */

// 防止直接访问此文件
if ( ! defined( 'ABSPATH' ) ) {
	exit;
}

Legen Sie den Ordner, der diese Datei enthält, in die entsprechende Position.wp-content/pluginsNach dem Erstellen des Verzeichnisses können Sie das Plugin auf der “Plugins”-Seite im WordPress-Backend sehen und es aktivieren.

Empfohlene Lektüre Die ultimative Anleitung zur Entwicklung von WordPress-Plugins: Von Null auf Eins beim Erstellen benutzerdefinierter Funktionserweiterungen

Erstellen der ersten Kernfunktion

Jetzt fügen wir dem Plugin einige praktische Funktionen hinzu. Wir werden eine einfache Funktion erstellen, die automatisch einen benutzerdefinierten Text am Ende des Artikelinhalts anfügt.

Die Inhalte eines Artikels mit einem Filter ändern.

WordPress bietet eine große Anzahl an Filter-Hooks, die es Ihnen ermöglichen, Daten zu ändern, bevor sie in die Datenbank gespeichert oder in den Browser ausgegeben werden. Um den Inhalt eines Artikels zu modifizieren, können wir diese Filter-Hooks verwenden.the_contentFilter.

In Ihrer Haupt-Plugin-Datei fügen Sie nach der Aktivierung der Hook-Funktionen die folgenden Funktionen sowie die zugehörigen Hook-Aufrufe hinzu:

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%
// 定义向文章内容追加文本的函数
function my_first_plugin_add_text_to_content( $content ) {
    // 确保只在主循环的单篇文章页面执行
    if ( is_single() &amp;&amp; in_the_loop() &amp;&amp; is_main_query() ) {
        $additional_text = '<p><em>Vielen Dank, dass Sie diesen Artikel gelesen haben! Dieser Artikel wurde von “Mein erster Plugin” unterstützt.</em></p>';
        $content .= $additional_text;
    }
    return $content;
}
// 将函数挂载到‘the_content’过滤器上
add_filter( 'the_content', 'my_first_plugin_add_text_to_content' );

Diese Funktion führt zunächst eine Reihe von Bedingungsprüfungen durch, um sicherzustellen, dass der zusätzliche Text nur auf den einzelnen Artikelseiten angezeigt wird und die Startseite, die Archivseite oder andere Seiten nicht beeinträchtigt. Anschließend fügt sie einen benutzerdefinierten HTML-Absatz zum ursprünglichen Inhalt hinzu.$contentNach der Änderung des Variablenwerts wird der modifizierte Inhalt zurückgegeben.

Erstellen einer einfachen Verwaltungsseiten-Einstellung

Damit die Benutzer den zu hinzufügenden Text selbst definieren können, müssen wir für sie eine Einstellmöglichkeit erstellen. Dazu gehört das Hinzufügen eines Menüpunkts sowie einer Einstellseite im WordPress-Administrationsbereich.

Zunächst verwenden Sieadd_actionDer Hook fügt eine Untermenüseite zum Administratormenü hinzu:

Empfohlene Lektüre Mastering WordPress Plugin Development: Erstellen Sie Ihr erstes eigenes Plugin von Null auf Eins

// 创建管理菜单
function my_first_plugin_add_admin_menu() {
    add_options_page(
        '我的第一个插件设置', // 页面标题
        '我的插件设置',       // 菜单标题
        'manage_options',     // 所需权限
        'my-first-plugin',    // 菜单slug
        'my_first_plugin_settings_page' // 显示页面的回调函数
    );
}
add_action( 'admin_menu', 'my_first_plugin_add_admin_menu' );

Anschließend wird die Callback-Funktion definiert, die die Seite mit den Anzeigeeinstellungen anzeigt.my_first_plugin_settings_pageUnd kümmern Sie sich um die Logik zur Speicherung des Formulars:

// 设置页面的HTML内容
function my_first_plugin_settings_page() {
    ?&gt;
    <div class="wrap">
        <h2>Die Einstellungen meines ersten Plugins</h2>
        <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>
    &lt;?php
}

// 注册设置、区域和字段
function my_first_plugin_settings_init() {
    register_setting( &#039;my_first_plugin_settings_group&#039;, &#039;my_first_plugin_custom_text&#039; );

add_settings_section(
        &#039;my_first_plugin_section&#039;,
        &#039;自定义文本设置&#039;,
        null,
        &#039;my-first-plugin&#039;
    );

add_settings_field(
        &#039;my_first_plugin_text_field&#039;,
        &#039;要在文末添加的文本&#039;,
        &#039;my_first_plugin_text_field_render&#039;,
        &#039;my-first-plugin&#039;,
        &#039;my_first_plugin_section&#039;
    );
}
add_action( &#039;admin_init&#039;, &#039;my_first_plugin_settings_init&#039; );

// 渲染文本输入字段
function my_first_plugin_text_field_render() {
    $option = get_option( &#039;my_first_plugin_custom_text&#039;, &#039;感谢您阅读这篇文章!本文由“我的第一个插件”提供支持。&#039; );
    echo &#039;<textarea name="my_first_plugin_custom_text" rows="3" cols="50">' . esc_textarea( $option ) . '</textarea>';
}

Zuletzt soll die Funktion, die zuvor Text hinzufügt, so modifiziert werden, dass sie dies aus einer Liste von Optionen heraus tut.my_first_plugin_custom_textInhalt auslesen:

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.
function my_first_plugin_add_text_to_content( $content ) {
    if ( is_single() &amp;&amp; in_the_loop() &amp;&amp; is_main_query() ) {
        $custom_text = get_option( 'my_first_plugin_custom_text', '' );
        if ( ! empty( $custom_text ) ) {
            $additional_text = '<p><em>'. wp_kses_post( $custom_text ) . '</em></p>';
            $content .= $additional_text;
        }
    }
    return $content;
}

Plugin-Sicherheit, Optimierung und Vorbereitung auf die Verbreitung

Ein qualitativ hochwertiges Plugin muss nicht nur funktionstüchtig sein, sondern auch sicher, effizient und einfach zu warten sein.

Datenvalidierung, Entschlüsselung und Sicherheit

Sicherheit ist die Lebensader bei der Entwicklung von Plugins. Vertrauen Sie niemals auf Daten, die von Benutzern eingegeben werden oder direkt aus der Datenbank abgerufen werden. Bevor Daten auf die Seite ausgegeben werden, müssen sie sicherheitstechnisch verarbeitet („geëscapet“) werden. Im vorherigen Code haben wir dies bereits umgesetzt.esc_textarea()Auf der Verwaltungsebene wird die Ausgabe entschlüsselt („geecht“) und anschließend verwendet.wp_kses_post()Auf der Artikelseite werden HTML-Inhalte gefiltert, wobei nur sicherer Post-Inhalts-Code durchgelassen wird. Für die Verarbeitung von Formularen sollte die von WordPress bereitgestellte Funktionalität zur Überprüfung von Daten, zur Überprüfung von Berechtigungen sowie weitere Sicherheitsmechanismen verwendet werden.sanitize_text_field()Funktionen wie diese werden verwendet, um Daten zu bereinigen.

Codeorganisation und Leistungsoptimierung

Mit der zunehmenden Anzahl von Plugin-Funktionen wird es schwierig, den gesamten Code in einer einzigen Hauptdatei zu verwalten. Eine gute Vorgehensweise besteht darin, den Code nach Funktionen in verschiedene Dateien aufzuteilen. Zum Beispiel können Sie…includes/admin/Das Verzeichnis enthält den gesamten Code, der mit der Administrationsoberfläche zusammenhängt.includes/public/Das Verzeichnis enthält den Code für die Frontend-Funktionen.includes/class-*.phpSpeichert die Definitionen der Klassen.

Hinsichtlich der Leistung sollte die Verwendung von „Hooken“ (speziellen Mechanismen zur Ausführung von Code) mit Vorsicht erfolgen. Stellen Sie sicher, dass die Funktionen innerhalb dieser Hooks nur dann ausgeführt werden, wenn es wirklich notwendig ist – beispielsweise durch bedingte Abfragen. Für Optionswerte, die aus der Datenbank abgerufen werden müssen und auf der Frontend-Seite mehrfach verwendet werden, kann es sinnvoll sein, diese Werte in globalen Variablen zu speichern oder in einem Objekt-Cache zu halten, um unnötige Datenbankabfragen zu vermeiden.

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

Wenn Sie vorhaben, das Plugin im offiziellen WordPress-Plugin-Verzeichnis zu veröffentlichen oder es weiteren Nutzern zur Verfügung zu stellen, müssen Sie mehrere Aspekte verbessern. Zunächst sollten Sie sicherstellen, dass die Kommentare im Kopfbereich des Plugins vollständig und korrekt sind. Außerdem sollten Sie eine klare Beschreibung des Plugins verfassen, die alle wichtigen Funktionen und Eigenschaften deutlich macht.readme.txtDie Datei sollte den offiziellen Formatanforderungen von WordPress entsprechen und die Funktionen des Plugins, die Installationsanweisungen sowie häufig gestellte Fragen beschreiben. Abschließend sollten umfassende Tests durchgeführt werden, einschließlich der Überprüfung der Kompatibilität mit verschiedenen PHP-Versionen, verschiedenen WordPress-Versionen sowie in Kombination mit verschiedenen Themes und anderen beliebten Plugins.

Zusammenfassungen

Mit dieser Anleitung haben wir den gesamten Prozess der Erstellung eines voll funktionsfähigen WordPress-Plugins von Grund auf abgeschlossen – einschließlich der Entwicklung einer Verwaltungsoberfläche. Wir haben die grundlegende Struktur von Plugins kennengelernt, gelernt, wie man mit Aktionen und Filter-Hooks mit dem WordPress-Kern interagiert, sowie wie man Verwaltungsseiten erstellt. Zudem haben wir die Bedeutung der Sicherheit und Organisation von Plugins erkannt. Der Kern der Plugin-Entwicklung besteht darin, die ereignisgesteuerte Architektur von WordPress zu verstehen und zu wissen, wann man seinen eigenen Code zum richtigen Zeitpunkt einbinden sollte. Von hier aus können Sie weitere fortgeschrittene Themen wie benutzerdefinierte Artikeltypen, Metadaten, REST-API-Endpunkte und die Erstellung von Datenbanktabellen erkunden und schrittweise ein leistungsstarkes, professionelles Plugin entwickeln.

FAQ Häufig gestellte Fragen

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

Sie müssen die Grundlagen der PHP-Programmiersprache sowie die Konzepte der objektorientierten Programmierung beherrschen und über einen grundlegenden Überblick über HTML, CSS und JavaScript verfügen. Es ist sehr hilfreich, sich mit den grundlegenden Funktionen und Konzepten von WordPress vertraut zu machen, insbesondere mit Artikeln, Seiten und Kategorien. Am wichtigsten ist es, das Hook-Mechanismus (Actions und Filters) von WordPress zu verstehen – dies ist die Hauptmethode der Interaktion zwischen Plugins und WordPress.

Was ist der Unterschied zwischen den Funktionen von Plugins und Themes, und wie sollte man zwischen ihnen wählen?

Die Themes steuern hauptsächlich das Erscheinungsbild und die Struktur einer Website, während Plugins dazu dienen, zusätzliche Funktionen hinzuzufügen. Ein gutes Prinzip lautet: Wenn eine Funktion eng mit der visuellen Darstellung verbunden ist, eignet sie sich besser für ein Theme; sind die Funktionen hingegen unabhängig (z. B. Kontaktformulare, SEO-Optimierung, E-Commerce), sollten sie als Plugins implementiert werden. Die Implementierung von Funktionen als Plugins sorgt dafür, dass diese auch bei einem Wechsel des Themes weiterhin verfügbar bleiben – dies ist eine der besten Praktiken im WordPress-Entwicklungsumfeld.

Kann ich in einem Plugin mehrere PHP-Dateien erstellen?

Das ist durchaus möglich – und für komplexe Plugins ist dies sogar die empfohlene Vorgehensweise. Du kannst die verschiedenen Funktionsmodule in separate Dateien aufteilen und diese anschließend über die Haupt-Plugin-Datei zusammenführen.require_onceoderinclude_onceVerwenden Sie entsprechende Anweisungen, um diese Elemente einzuführen. Eine gute Dateistruktur trägt zur Organisation des Codes sowie zur effektiven Zusammenarbeit im Team bei.

Wie füre ich das von mir entwickelte Plugin zum Debuggen?

Eine häufig verwendete Debugging-Methode bei der Entwicklung mit WordPress ist das Aktivieren von…WP_DEBUGSie können dies auf der Website tun.wp-config.phpIn der Datei wird Folgendes festgelegt:define( 'WP_DEBUG', true );Das wird alle PHP-Fehler, Warnungen und Benachrichtigungen auf dem Bildschirm anzeigen. Eine sicherere Methode ist es, beides gleichzeitig einzustellen.WP_DEBUG_LOGFürtrueFühren Sie die Fehlerprotokollierung durch…wp-content/debug.logIm Dateiinhalt. Darüber hinaus können die Nutzung von Browser-Entwicklungstools sowie Debugging-Plugins wie Query Monitor die Effizienz erheblich steigern.

Mein Plugin muss mit verschiedenen, älteren Versionen von WordPress kompatibel sein.

Das hängt von deinen Zielnutzern ab. In der Regel wird empfohlen, mindestens mit den ersten beiden Versionen der aktuellen Hauptversion kompatibel zu sein. Du kannst die offiziellen Statistiken von WordPress einsehen, um die Versionenverteilung zu erfahren. Im Code kannst du Bedingungssätze verwenden, um die Kompatibilität entsprechend zu gewährleisten.function_exists()Um zu überprüfen, ob eine bestimmte Funktion oder Klasse verfügbar ist, wird die Rückwärtskompatibilität gewährleistet. Dies geschieht im Rahmen der Entwicklung von Plugins.readme.txtIn der Datei muss die WordPress-Version, für die die Tests erfolgreich durchgeführt wurden, eindeutig angegeben werden.