WordPress-Plugin-Entwicklung von der Grundlage bis zur Meisterschaft: Wir zeigen Ihnen Schritt für Schritt, wie Sie Ihr erstes eigenes Plugin erstellen.

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

Warum sollte man sich mit der Entwicklung von WordPress-Plugins beschäftigen?

WordPress ist weltweit das beliebteste Content-Management-System – und seine starke Erweiterbarkeit trägt maßgeblich dazu bei. Im Kern dieser Erweiterbarkeit liegen die Plugins. Durch die Entwicklung eigener Plugins kannst du deiner Website jede Funktion hinzufügen, die dir in den Sinn kommt, ohne den Kerncode von WordPress ändern zu müssen. Dies gewährleistet nicht nur die Sicherheit bei Updates des Kernsystems, sondern macht deine Funktionen auch modulär und somit leichter zu verwalten sowie zu übertragen.

Das Erlernen der Plugin-Entwicklung ermöglicht es Ihnen, von einem “Benutzer” von WordPress zu einem “Schöpfer” zu werden. Egal, ob Sie für Kunden individuelle Funktionen entwickeln, spezifische Geschäftsanforderungen erfüllen oder Ihre Ideen in Produkte verwandeln, um sie auf dem Markt zu verkaufen – die Beherrschung dieser Fähigkeit eröffnet Ihnen unendliche Möglichkeiten. Noch wichtiger ist, dass das Verständnis des Arbeitsablaufs der Plugin-Entwicklung Ihnen dabei hilft, andere Plugins effektiver zu nutzen, Fehler zu beheben und diese weiterzuentwickeln.

Ein standardmäßiges WordPress-Plugin besteht strukturell aus einer Ordnerstruktur, die die Haupt-PHP-Datei enthält. Diese Hauptdatei gibt ihre Existenz dem WordPress-System durch spezielle Kommentare bekannt. Sämtliche Geschäftslogiken – sei es das Hinzufügen eines neuen Widgets, das Erstellen eines benutzerdefinierten Artikeltyps oder die Verarbeitung von Formulardaten – werden mithilfe der verschiedenen “Hooks”, die WordPress bietet, angebunden und ausgeführt.

Empfohlene Lektüre WordPress-Plugin-Entwicklung von der Grundlage bis zur Meisterschaft: Schritt für Schritt lernen Sie, Ihre eigenen exklusiven Funktionen zu erstellen

Erstellen Sie Ihr erstes Plugin-Projekt

Bevor Sie mit der Entwicklung beginnen, benötigen Sie eine lokale Entwicklungsumgebung. Wir empfehlen Tools wie XAMPP, MAMP, Local by Flywheel oder Docker, um einen lokalen Server mit PHP, MySQL sowie Apache/Nginx einzurichten. Die Entwicklung auf Ihrer lokalen WordPress-Installation zu durchführen, verhindert, dass der Online-Webshop beeinträchtigt wird.

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.

Die grundlegende Dateistruktur für die Erstellung eines Plugins

Die einfachste Erweiterung (Plugin) kann aus nur einer Datei bestehen. Gehen Sie dazu in den Installationsordner Ihres WordPress-Systems. wp-content/plugins Ordner: Erstellen Sie einen neuen Ordner, zum Beispiel… my-first-pluginDann erstellen Sie in diesem Ordner eine Haupt-PHP-Datei. Der Name der Datei entspricht in der Regel dem Namen des Ordners. my-first-plugin.php

Erstellen Sie die Metadaten-Header für das Plugin.

Im Hauptdatei des Plugins ist der Kommentarblock am Anfang der Datei von großer Bedeutung. Er teilt WordPress mit, welchen Namen das Plugin hat, welche Beschreibung es bietet, welche Version es verwendet, wer der Autor ist und weitere wichtige Informationen. Ein standardisiertes Header-Format sieht wie folgt aus:

<?php
/**
 * Plugin Name:       我的第一个插件
 * Plugin URI:        https://example.com/my-first-plugin
 * Description:       这是一个用于学习 WordPress 插件开发的自定义插件。
 * Version:           1.0.0
 * Author:            你的名字
 * License:           GPL v2 or later
 * License URI:       https://www.gnu.org/licenses/gpl-2.0.html
 * Text Domain:       my-first-plugin
 * Domain Path:       /languages
 */

Nachdem Sie die Datei gespeichert haben, melden Sie sich in Ihrem WordPress-Backend an und gehen Sie auf die Seite “Plugins”. Dort sollten Sie “Mein erstes Plugin” in der Liste der Plugins sehen und es aktivieren können. Damit ist ein “leeres”, aber funktionstüchtiges Plugin erstellt. Es verfügt derzeit über keine Funktionen, aber die Struktur ist korrekt.

Erforschen Sie die Kernmechanismen von WordPress: Hooks und Filter

Der Kern der WordPress-Plugin-Entwicklung besteht darin, das “Hook-System” zu verstehen und anzuwenden. Es gibt zwei Arten von Hooks: Aktionshooks (Action Hooks) und Filterhooks (Filter Hooks). Sie sind die Mechanismen, die WordPress Ihnen ermöglichen, zu bestimmten Zeitpunkten benutzerdefinierten Code einzufügen oder Daten zu ändern.

Empfohlene Lektüre Einführung in die Entwicklung von WordPress-Plugins: Erstellen Sie Ihre erste Funktionserweiterung von Grund auf

Verstehen, wie Action-Hooks funktionieren

Action Hooks ermöglichen es Ihnen, Ihre Funktionen zu bestimmten Zeitpunkten im Ausführungsprozess von WordPress auszuführen – beispielsweise, wenn die Seite vollständig geladen ist oder wenn ein Artikel veröffentlicht wird. add_action() Funktionen können Ihre eigenen benutzerdefinierten Funktionen an einen „Hook“ anschließen. Die grundlegende Syntax lautet:add_action( ‘hook_name’, ‘your_function_name’ );

Lassen Sie uns eine Funktion implementieren, die es ermöglicht, eine benutzerdefinierte Nachricht am unteren Rand der Seiten im Frontend der Website anzuzeigen. Dafür werden wir folgende Techniken verwenden: wp_footer Dieser Aktions-Hook.

function my_custom_footer_message() {
    echo '<p style="text-align: center; color: #666;">Vielen Dank, dass Sie unsere Website besuchen! Dies sind Fußzeilen-Inhalte, die durch ein benutzerdefiniertes Plugin hinzugefügt wurden.</p>';
}
add_action( 'wp_footer’, 'my_custom_footer_message’ );

Fügen Sie den Code in die Hauptdatei Ihres Plugins ein. my-first-plugin.php Speichern Sie die Änderungen und aktualisieren Sie die Webseite. Dann werden Sie diese Zeile am Fuß der Seite sehen.

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 Standardinhalte mithilfe von Filtern ändern.

Filter-Hooks dienen dazu, die während des Verarbeitungsprozesses von WordPress erzeugten Daten zu modifizieren. Im Gegensatz zu Action-Hooks müssen Filter-Funktionen einen Wert zurückgeben. add_filter() Es gibt Funktionen, um Filter zu installieren bzw. anzupassen. Zum Beispiel kann man den Standardinhalt des Artikeltitels ändern.

function modify_post_title( $title ) {
    if ( is_single() ) {
        return '【精选】’ . $title;
    }
    return $title;
}
add_filter( ‘the_title’, 'modify_post_title’ );

Diese Funktion fügt vor den Titeln der Artikelseiten das Präfix “【Ausgewählt】” hinzu, während die Titel auf anderen Seiten (z. B. der Startseite oder den Liste-Seiten) unverändert bleiben. Durch die Kombination von Aktionen und Filtern kannst du nahezu jede Funktion von WordPress steuern.

Erstellen Sie eine praktische Backend-Verwaltungsseite.

Damit Plugin-Nutzer Optionen konfigurieren können, müssen wir in der Regel eine Administrationsseite für sie erstellen. Dies beinhaltet die Nutzung der API des WordPress-Administrationsmenüs.

Empfohlene Lektüre WordPress-Plugin-Entwicklung von der Grundlage bis zur Meisterschaft: Ein umfassender Leitfaden für die Erstellung hochanpassbarer Funktionen

Ein neues Management-Menü-Eintrag hinzufügen

ausnutzen add_menu_page() oder add_options_page() Funktionen wie diese ermöglichen es, eine neue Seite in das linke Menü des WordPress-Backends hinzuzufügen. Als Beispiel nehmen wir die Hinzufügung einer Seite unter dem Untermenü “Einstellungen”.

Zuerst erstellen Sie eine Funktion, die den HTML-Inhalt der Verwaltungsseite rendernt.

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_plugin_settings_page_html() {
    // 检查用户权限
    if ( ! current_user_can( ‘manage_options’ ) ) {
        return;
    }
    ?&gt;
    <div class="wrap">
        <h1>\n</h1>
        <form action="/de/options.php/" method="post" data-trp-original-action="options.php">
            <?php
            // 输出设置字段和安全字段
            settings_fields( ‘my_plugin_settings’ );
            do_settings_sections( ‘my_plugin_settings’ );
            submit_button( ‘保存设置’ );
            ?>
        <input type="hidden" name="trp-form-language" value="de"/></form>
    </div>
    &lt;?php
}

Registrierungseinstellungen, Blöcke und Felder

WordPress bietet… register_setting(), add_settings_section() und add_settings_field() Diese API-Suite dient der standardisierten Verarbeitung von Einstellungen. Sie übernimmt automatisch die Sicherheitsüberprüfung (Nonce) sowie das Speichern und Lesen von Optionen.

Als Nächstes benötigen wir eine Funktion, um diese Einstellungen zu initialisieren. Diese Funktion sollte an die entsprechende Stelle „gemountet“ werden. admin_init Auf dem Haken.

function my_plugin_settings_init() {
    // 注册一个新的设置选项组
    register_setting( ‘my_plugin_settings’, ‘my_plugin_options’ );

// 在页面中添加一个新的区块
    add_settings_section(
        ‘my_plugin_section_1’,
        ‘基础设置’,
        null, // 回调函数,用于输出区块描述,可为空
        ‘my_plugin_settings’
    );

// 在区块内添加一个字段
    add_settings_field(
        ‘my_plugin_field_text’,
        ‘欢迎语’,
        ‘my_plugin_field_text_cb’,
        ‘my_plugin_settings’,
        ‘my_plugin_section_1’,
        [
            ‘label_for’ =&gt; ‘my_plugin_field_text’,
            ‘class’ =&gt; ‘my_plugin_row’,
        ]
    );
}
add_action( ‘admin_init’, ‘my_plugin_settings_init’ );

// 字段的回调函数,用于输出字段的 HTML
function my_plugin_field_text_cb( $args ) {
    $options = get_option( ‘my_plugin_options’ );
    ?&gt;
    <input type="text" id="<?php echo esc_attr( $args[‘label_for’] ); ?>"
           name="my_plugin_options[<?php echo esc_attr( $args[‘label_for’] ); ?>]"
           value="<?php echo esc_attr( $options[ $args[‘label_for’] ] ?? ‘’ ); ?>">
    <p class="“description”">Dieser Text wird auf der Startseite der Website angezeigt.</p>
    &lt;?php
}

Die Seitenlinks in das Menü einfügen.

Zum Schluss wird verwendet… add_options_page() Fügen Sie die von uns erstellte Seite dem Menü “Einstellungen” hinzu.

function my_plugin_add_settings_page() {
    add_options_page(
        ‘我的插件设置’, // 页面标题
        ‘我的插件’, // 菜单标题
        ‘manage_options’, // 所需能力
        ‘my-plugin-settings’, // 菜单别名
        ‘my_plugin_settings_page_html’ // 渲染页面的回调函数
    );
}
add_action( ‘admin_menu’, ‘my_plugin_add_settings_page’ );

Nach der Aktivierung des Plugins findest du im “Einstellungen”-Menü des WordPress-Backends die Option “Meine Plugins”. Klickst du darauf, öffnet sich eine Einstellungsseite mit einem Textfeld, in das du eine Begrüßung eintragen und speichern kannst. Danach kannst du… get_option( ‘my_plugin_options’ ) Diesen Wert wird auf der Frontend-Seite abgerufen und anschließend verwendet.

Implementierung der Frontend-Funktionen des Plugins sowie Sicherheitsüberlegungen

Bei der Implementierung von Frontend-Funktionen in Plugins ist Sicherheit das wichtigste Kriterium. Vertrauen Sie niemals den von den Benutzern eingegebenen Daten – diese müssen stets überprüft, gereinigt und entsprechend entschärft („escaped“) werden.

Angenommen, wir möchten die in den Backend-Einstellungen gespeicherte “Begrüßung” verwenden und sie an der oberen Seite der Website anzeigen. Zunächst müssen wir diese Option aus der Datenbank abrufen und sie anschließend sicher ausgeben.

function display_frontend_greeting() {
    // 1. 获取数据
    $options = get_option( ‘my_plugin_options’ );
    $greeting = $options[‘my_plugin_field_text’] ?? ‘’;

// 2. 如果内容为空,则不输出任何东西
    if ( empty( $greeting ) ) {
        return;
    }

// 3. 在输出前进行清理和转义
    $safe_greeting = esc_html( $greeting );

// 4. 输出到前端(这里假设只在首页显示)
    if ( is_front_page() ) {
        echo ‘<div class="“my-plugin-greeting”"><p>’. $safe_greeting . ‘</p></div>’;
    }
}
add_action( ‘wp_body_open’, ‘display_frontend_greeting’ );

Hier haben wir verwendet… esc_html() Es gibt Funktionen, die HTML-Zeichen enthalten, um Cross-Site-Scripting-Angriffe (XSS) zu verhindern. Wir überprüfen außerdem, ob die Daten leer sind, und verwenden bedingte Tags (Conditional Tags). is_front_page() Um die Position der Ausgabe zu steuern, muss die Funktion an der entsprechenden Stelle „gemountet“ werden. wp_body_open Haken stellen sicher, dass der Inhalt unmittelbar nach dem Beginn des -Tags auf der Seite angezeigt wird.

Darüber hinaus ist die Internationalisierung auch eine wichtige Praxis bei der Entwicklung von Plugins. Durch die Nutzung von … __() und _e() Durch die Nutzung von Übersetzungsfunktionen und die korrekte Einrichtung des Textbereichs (Text Domain) des Plugins kann dein Plugin in jede beliebige Sprache übersetzt werden. In den Metadaten am Anfang des Plugins haben wir dies bereits definiert. Text Domain: my-first-pluginIm Code sollte dies so verwendet werden:

echo esc_html__( ‘Hello, World!’, ‘my-first-plugin’ );

Zusammenfassungen

Durch die praktischen Übungen in diesem Artikel haben wir einen vollständigen, aber einfachen Entwicklungsprozess für WordPress-Plugins abgeschlossen. Wir begannen mit der Erstellung der grundlegenden Dateistruktur und der Metadaten des Plugins und gingen schrittweise auf die Kernmechanismen von WordPress ein – insbesondere das Hook-System. Mithilfe von Aktionen und Filtern konnten wir den Ablauf der Programme steuern und Daten verändern. Anschließend erstellten wir eine Backend-Verwaltungsseite mit benutzerdefinierten Feldern, über die die Nutzer die Plugin-Einstellungen konfigurieren konnten, und schließlich wurden diese Einstellungen sicher auf der Website-Frontend angezeigt.

Dieser Prozess umfasst mehrere wichtige Aspekte der Plugin-Entwicklung: die Organisation von Dateien, die Nutzung von „Hooks“, die Erstellung von Backend-Benutzeroberflächen, die Verwaltung von Optionen sowie die sichere Verarbeitung von Frontend-Daten. Denken Sie daran: Ein gutes Plugin sollte nicht nur leistungsstark sein, sondern auch sicher, effizient und einfach zu warten sein. Als Nächstes können Sie versuchen, dem Plugin weitere Funktionen hinzuzufügen – beispielsweise benutzerdefinierte Artikeltypen, Shortcodes, kleine Hilfsfunktionen oder REST-API-Endpunkte – und so Ihr Verständnis für die Entwicklung von WordPress-Plugins weiter vertiefen.

FAQ Häufig gestellte Fragen

Kann ein Plugin nur aus einer einzigen PHP-Datei bestehen?

Ja, ein sehr einfaches WordPress-Plugin kann aus nur einer PHP-Datei bestehen, sofern diese die richtigen Kommentare für das Plugin enthält. Für Plugins mit komplexeren Funktionen wird jedoch empfohlen, den Code in verschiedene Dateien aufzuteilen – beispielsweise die Backend-Funktionen, die Frontend-Funktionen sowie die gemeinsam genutzten Funktionen in eigenen Dateien zu speichern. Dies verbessert die Lesbarkeit und Wartbarkeit des Codes.

Wie fügt man ein von sich selbst entwickeltes Plugin hinzu?

Es wird empfohlen, den Debugging-Modus von WordPress zu aktivieren. Dies erfolgt in der Regel im Wurzelverzeichnis des Websites. wp-config.php In der Datei wird Folgendes festgelegt: WP_DEBUG Die Konstante ist auf trueAuf diese Weise werden PHP-Fehler, Warnungen und Benachrichtigungen angezeigt. Zudem können diese Funktionen auch kombiniert werden. error_log() Die Funktion schreibt die Debugging-Informationen in das Fehlerprotokoll des Servers oder verwendet die Konsole der Browser-Entwicklungstools für die JavaScript-Debugging.

Welche Sicherheitsvorschriften müssen bei der Entwicklung von Plugins beachtet werden?

Das wichtigste Prinzip ist: Vertrauen Sie niemals den Eingaben der Benutzer. Alle Daten, die von den Benutzern übermittelt werden, sollten mit Vorsicht behandelt werden. $_GET$_POST$_COOKIE Die erhaltenen Daten müssen überprüft und bereinigt werden. Beim Ausgeben der Daten in HTML wird dies entsprechend umgesetzt. esc_html()esc_attr()esc_url() Funktionen wie „escape“ müssen bei der Erstellung von Datenbankabfragen unbedingt verwendet werden. $wpdb->prepare() Methoden zur Verhinderung von SQL-Injection-Angriffen. Darüber hinaus sollten die Berechtigungen des aktuellen Benutzers überprüft werden (z. B. current_user_can()Dies ist ebenfalls ein unerlässlicher Schritt.

Wie kann ich meine Erweiterung in das offizielle WordPress-Plugin-Verzeichnis einreichen?

Zunächstst müssen Sie sicherstellen, dass Ihr Plugin vollständig den Codierstandards von WordPress sowie der GPL-Lizenz entspricht. Sie sollten die Website WordPress.org besuchen, dort ein Konto erstellen und anschließend Ihre komprimierte Plugin-Datei auf der entsprechenden Plattform einreichen. Das offizielle Team führt eine manuelle Überprüfung durch, bei der die Codequalität, Sicherheit, die Dokumentation sowie die Einhaltung der Vorgaben geprüft werden. Nach erfolgreicher Überprüfung wird Ihr Plugin in den offiziellen WordPress-Verzeichnissen aufgenommen, erhält Unterstützung für automatische Updates und kann von Nutzern weltweit gesucht und installiert werden.