Die vollständige Anleitung zur Entwicklung von WordPress-Plugins: Von den Grundlagen bis hin zur praktischen Anwendung

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

Warum sollte man WordPress-Plugins entwickeln lernen?

Als weltweit beliebtestes Content-Management-System verdankt WordPress seine starke Erweiterbarkeit in erster Linie dem Plugin-Mechanismus. Das Erlernen der Plugin-Entwicklung bedeutet, dass Sie nicht mehr auf die Funktionen vorhandener Plugins beschränkt sind und individuelle Lösungen nach den Anforderungen Ihres Projekts entwickeln können – sei es, Kunden besondere Funktionen anzubieten oder hervorragende Ideen in praktikable Produkte umzusetzen und in der Community zu teilen. Die Beherrschung dieser Fähigkeit verbessert Ihre Entwicklungseffizienz sowie Ihre Wettbewerbsfähigkeit auf dem Markt erheblich.

Ein standardisiertes WordPress-Plugin ist entweder eine eigenständige PHP-Datei oder ein Verzeichnis, das aus mehreren Dateien besteht. Es interagiert mit dem WordPress-Kern über eine Reihe von vordefinierten Schnittstellen. Der Entwicklungsprozess konzentriert sich hauptsächlich darauf, die Funktionsweise von WordPress gründlich zu verstehen.HooksDas System folgt seinen eigenen Kodierstandards sowie Sicherheitspraktiken.

Erstellen Sie Ihr erstes Plugin.

Bevor Sie mit dem Schreiben des Codes beginnen, benötigen Sie eine lokale Entwicklungsumgebung. Es werden XAMPP, MAMP oder Local by Flywheel empfohlen. Sobald die Umgebung bereit ist, können Sie mit der Arbeit beginnen.wp-content/pluginsDu hast deinen ersten Plugin im Verzeichnis erstellt.

Empfohlene Lektüre Vom Nullpunkt aus die WordPress-Plugin-Entwicklung meistern: Ein umfassender Leitfaden und praktische Übungen

Erstellen Sie die Haupt-Plugin-Datei.

Jeder Plugin muss eine Haupt-PHP-Datei haben, die am Anfang Standard-Informationen zum Plugin enthält. Diese Datei dient als Einstiegspunkt für das Plugin und trägt in der Regel den gleichen Namen wie der Verzeichnisname des Plugins. Zum Beispiel: Wenn Sie ein Plugin mit dem Namen „my-plugin“ erstellen…my-first-pluginDer Verzeichnisinhalt wird angezeigt, und darin wird ein Verzeichnis mit dem gleichen Namen erstellt.my-first-plugin.phpDokumente.

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 Anmerkungen am Anfang einer Datei sind von großer Bedeutung – WordPress nutzt sie, um die grundlegenden Informationen eines Plugins zu erkennen.

<?php
/**
 * Plugin Name:       我的第一个插件
 * Plugin URI:        https://example.com/my-first-plugin
 * Description:       这是一个用于学习插件开发的简单示例插件。
 * Version:           1.0.0
 * Author:            你的名字
 * Author URI:        https://example.com
 * License:           GPL v2 or later
 * Text Domain:       my-first-plugin
 */

Nachdem Sie die Datei gespeichert haben, melden Sie sich in Ihrem WordPress-Backend an und gehen Sie auf die Seite “Plugins”. Dort sollten Sie das neue Plugin in der Liste der Plugins sehen; Sie können es dann aktivieren. Derzeit verfügt das Plugin noch über keine Funktionen.

Füge die erste Funktion hinzu.

Jetzt lassen Sie uns dieser Erweiterung eine einfache Funktion hinzufügen: Am Ende des Artikelinhalts wird automatisch ein benutzerdefinierter Text angezeigt. Dafür müssen wir Funktionen von WordPress verwenden.the_contentFilter-Hook.

Fügen Sie im Hauptdatei des Plugins den folgenden Code unter die Kommentarinformationen hinzu:

Empfohlene Lektüre Eine vollständige Anleitung zur Entwicklung von WordPress-Plugins: Erstellen Sie Ihr erstes funktionales Plugin von Grund auf.

// 在文章内容后添加自定义文本
function myfp_add_footer_text($content) {
    // 确保只在主循环的单篇文章中显示
    if (is_single() &amp;&amp; in_the_loop() &amp;&amp; is_main_query()) {
        $custom_text = '<p><em>Vielen Dank fürs Lesen! Dieser Artikel wird von “Mein erster Plugin” unterstützt.</em></p>';
        $content .= $custom_text;
    }
    return $content;
}
// 将函数挂载到‘the_content’过滤器
add_filter('the_content', 'myfp_add_footer_text');

Dieser Code definiert eine Funktion.myfp_add_footer_textEs empfängt den Inhalt der Artikel.$contentAls Parameter wird der Inhalt verwendet. Im Inneren der Funktion wird durch eine Bedingungsprüfung sichergestellt, dass der Code nur auf der jeweiligen Artikelseite und innerhalb der Hauptschleife der Hauptabfrage ausgeführt wird. Anschließend wird ein benutzerdefinierter HTML-Text hinzugefügt. Zum Schluss wird der resultierende HTML-Code verwendet.add_filter()Die Funktion montiert diese benutzerdefinierte Funktion in WordPress.the_contentAuf dem Filter. Nach Aktivierung des Plugins werden Sie beim Ansehen eines beliebigen Artikels den hinzugefügten Text am unteren Rand des Inhalts sehen.

Hinter die Kulissen blicken: Hooks und APIs

Der Kern der WordPress-Plugin-Entwicklung besteht darin, das Hook-System sowie die umfangreiche API zu verstehen und geschickt zu nutzen. Diese Elemente bilden die Grundlage für eine sichere und standardisierte Kommunikation zwischen den Plugins und dem WordPress-Kern.

Das Verständnis von Aktionen und Filter-Hooks

Es gibt zwei Haupttypen von Hooken: Action-Hooken und Filter-Hooken. Action-Hooken ermöglichen es Ihnen, benutzerdefinierten Code zu einem bestimmten Zeitpunkt auszuführen. Zum Beispiel…wp_footerDie Aktion wird vor den Tags am unteren Ende der Seite ausgelöst. Sie können dies durch…add_action('wp_footer', 'your_function')Hier können Sie Tracking-Code oder benutzerdefiniertes HTML einfügen.

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%

Filter-Hooks ermöglichen es Ihnen, Daten zu “ändern”. Sie nehmen die Daten entgegen, verarbeiten sie mit Ihrer Funktion und geben sie anschließend wieder zurück. Das Beispiel vom Hinzufügen von Fußertext oben ist ein typisches Anwendungsbeispiel für Filter. Ein weiteres häufiges Beispiel ist…excerpt_lengthFilter zur Änderung der Länge von Artikelauszügen.

// 修改摘要长度为20个单词
function myfp_custom_excerpt_length($length) {
    return 20;
}
add_filter('excerpt_length', 'myfp_custom_excerpt_length');

Verwendung der WordPress-Datenbank-API

Plugins benötigen häufig die Speicherung und Ausgabe von Daten. WordPress bietet dazu verschiedene Möglichkeiten.wpdbKlassen werden verwendet, um sicher mit der Datenbank zu interagieren. Für einfache Schlüssel-Wert-Datenpaare wird die Verwendung der Options-API dringend empfohlen.

Zum Beispiel könnten wir eine Option erstellen, damit die Benutzer den zuvor hinzugefügten Fußertext anpassen können.

Empfohlene Lektüre Eine vollständige Anleitung zur Entwicklung von WordPress-Plugins: vom Einstieg bis zum Erstellen professioneller Erweiterungen.

// 1. 创建可配置的页脚文本
function myfp_add_footer_text_v2($content) {
    if (is_single() &amp;&amp; in_the_loop() &amp;&amp; is_main_query()) {
        // 从数据库获取选项值,如果不存在则使用默认值
        $footer_text = get_option('myfp_footer_text', '感谢阅读!本文由“我的第一个插件”提供支持。');
        $custom_text = '<p><em>'. esc_html($footer_text)'.'</em></p>';
        $content .= $custom_text;
    }
    return $content;
}
add_filter('the_content', 'myfp_add_footer_text_v2');

Jetzt kann der Text weiterverarbeitet oder verwendet werden.get_option()Die Funktion liest die Daten aus der Datenbank. Als Nächstes benötigen wir eine Verwaltungsseite, über die die Benutzer diesen Wert ändern können.

Erstellen einer Plugin-Verwaltungseite

Um das Plugin professioneller und benutzerfreundlicher zu gestalten, ist es notwendig, eine Einstellungsseite hinzuzufügen. Dies wird in der Regel mithilfe der WordPress-Management-Menü-API umgesetzt.

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.

Hinzufügen eines Verwaltungsmenüs und von Unterseiten

Wir können dem Plugin ein eigenständiges Hauptmenü hinzufügen oder es als Untermenü zu “Einstellungen” oder “Tools” einordnen. Hier fügen wir es dem “Einstellungen”-Menü hinzu.

Zunächst verwenden Sieadd_action()Eine Funktion mounten…admin_menuHook: Fügen Sie Menüelemente in diese Funktion hinzu.

// 添加管理菜单
function myfp_add_admin_menu() {
    add_options_page(
        '我的第一个插件设置', // 页面标题
        '我的插件设置',       // 菜单标题
        'manage_options',     // 所需权限
        'my-first-plugin',    // 菜单slug
        'myfp_options_page_html' // 用于渲染页面的回调函数
    );
}
add_action('admin_menu', 'myfp_add_admin_menu');

add_options_page()Die Funktion erstellt eine Unterseite im “Einstellungen”-Menü. Wenn der Benutzer auf dieses Menü klickt, ruft WordPress die von uns angegebene Callback-Funktion auf.myfp_options_page_htmlBitte geben Sie den Inhalt der Seite an, den Sie in das Deutsche übersetzen lassen möchten.

Erstellen einer Form für die Konfigurationsseite

Als Nächstes definieren wir eine Callback-Funktion, um eine einfache Einstellungsformulare anzuzeigen. Diese Formulare werden anschließend gesendet.options.phpDies ist die Standardmethode, wie WordPress Einstellungen verarbeitet.

// 渲染设置页面
function myfp_options_page_html() {
    // 检查用户权限
    if (!current_user_can('manage_options')) {
        return;
    }
    ?&gt;
    <div class="wrap">
        <h1>&lt;?php echo esc_html(get_admin_page_title()); ? &lt;?php echo esc_html(get_admin_page_title(); ?</h1>
        <form action="/de/options.php/" method="post" data-trp-original-action="options.php">
            <?php
            // 输出必要的安全字段
            settings_fields('myfp_settings');
            // 输出设置章节和字段
            do_settings_sections('my-first-plugin');
            // 提交按钮
            submit_button('保存设置');
            ?>
        <input type="hidden" name="trp-form-language" value="de"/></form>
    </div>
    &lt;?php
}

Registrierungseinstellungen, Kapitel und Felder

Einfach nur Formulare reichen nicht aus – wir müssen sie auch verwenden.register_setting(), add_settings_section()undadd_settings_field()Funktionen wie diese werden verwendet, um WordPress mitzuteilen, welche Einstellungsmöglichkeiten vorhanden sind.

// 初始化插件设置
function myfp_settings_init() {
    // 注册一个设置项‘myfp_settings’,它包含一个字段‘myfp_footer_text’
    register_setting('myfp_settings', 'myfp_footer_text');

// 在页面‘my-first-plugin’上添加一个设置章节
    add_settings_section(
        'myfp_section',
        '页脚文本设置',
        null, // 章节描述回调函数,这里不需要
        'my-first-plugin'
    );

// 在上述章节中添加一个字段
    add_settings_field(
        'myfp_field_footer_text',
        '自定义页脚文本',
        'myfp_field_footer_text_html', // 渲染字段HTML的回调函数
        'my-first-plugin',
        'myfp_section',
        ['label_for' =&gt; 'myfp_footer_text']
    );
}
add_action('admin_init', 'myfp_settings_init');

// 渲染文本输入字段
function myfp_field_footer_text_html() {
    // 获取数据库中保存的值
    $value = get_option('myfp_footer_text');
    ?&gt;
    <input type="text" id="myfp_footer_text" name="myfp_footer_text" value="<?php echo esc_attr($value); ?>" class="regular-text">
    <p class="description">Dieser Text wird am Ende jedes Artikels angezeigt.</p>
    &lt;?php
}

Jetzt aktualisieren Sie das WordPress-Backend. Unter dem Menü “Einstellungen” finden Sie die Option “Meine Plugin-Einstellungen”. Gehen Sie auf diese Seite, um den benutzerdefinierten Fußertext zu ändern und zu speichern – der Inhalt der Artikel auf der Benutzeroberfläche wird anschließend automatisch aktualisiert.

Zusammenfassungen

Diese Anleitung führt Sie durch die Kernprozesse der WordPress-Plugin-Entwicklung: Von der Erstellung einer grundlegenden Plugin-Datei, die Standard-Header-Informationen enthält, über die Nutzung von Aktionen und Filter-Hooks, um Funktionen für WordPress hinzuzufügen, bis hin zur Speicherung von Daten mithilfe der Option-API und schließlich der Erstellung einer vollständigen Administraturoberfläche. Der gesamte Prozess spiegelt die modulare und hook-basierte Philosophie der WordPress-Entwicklung wider. Nachdem Sie diese Grundkenntnisse erlernt haben, können Sie sich weiteren fortgeschrittenen Themen widmen, wie der Anpassung von Artikeltypen, Shortcodes, der Integration von REST APIs, der Verarbeitung von AJAX-Anfragen sowie der Internationalisierung von Plugins. Denken Sie daran: Eine gute Codestruktur, sichere Datenverarbeitung und eine klare Benutzeroberfläche sind die Schlüssel zur Erstellung hochwertiger Plugins.

FAQ Häufig gestellte Fragen

Welche Vorkenntnisse sind erforderlich, um Plugins zu entwickeln?

Sie sollten über grundlegende Kenntnisse der PHP-Programmiersprache verfügen, einschließlich Konzepten wie Variablen, Funktionen, bedingten Ausdrücken und Schleifen. Ebenso ist ein grundlegendes Verständnis von HTML und CSS erforderlich, um die Frontend-Ausgabe und -Formatierung zu gestalten. Ein Verständnis der grundlegenden Operationen von MySQL ist hilfreich für das Arbeiten mit der Datenspeicherung – allerdings hat die WordPress-API den Großteil der Datenbankinteraktionen bereits abgebildet.

Wie fügt man ein gerade entwickeltes Plugin hinzu?

Die effektivste Methode ist es, den Debugging-Modus von WordPress zu aktivieren.wp-config.phpIn der Datei wird Folgendes festgelegt:WP_DEBUGEine Konstante wird definiert als eine Wertefigur, die weder verändert noch überschrieben werden kann. Sie bleibt während der gesamten Laufzeit des Programms unveränderlich.trueDies wird alle PHP-Fehler, Warnungen und Benachrichtigungen auf dem Bildschirm anzeigen. Gleichzeitig kann dies auch genutzt werden…error_log()Die Funktion schreibt die Debugging-Informationen in das Fehlerprotokoll des Servers oder verwendet die Console- und Network-Panel der Browser-Entwicklungstools für die Frontend-Debugging.

Wie können Plugins die Unterstützung für mehrere Sprachen umsetzen?

WordPress nutzt die Prozesse der “Internationalisierung (i18n)” und “ Lokalisierung (l10n)”, um die Unterstützung für mehrere Sprachen zu gewährleisten. Im Code von Plugins sollten alle Textzeichenketten, die übersetzt werden müssen, entsprechend gekennzeichnet werden.__()oder_e()Diese Funktionen werden in eine Schicht eingebettet („eingebunden“). Anschließend werden mit Werkzeugen wie Poedit diese Zeichenketten aus der Quellcode-Datei extrahiert, um so die benötigten Inhalte zu erzeugen..potTemplate-Dateien, mit denen verschiedene Sprachen erstellt werden können (z. B. Deutsch, Englisch, Französisch usw.).zh_CN.poSchließlich deklarierst du deinen Textbereich in der Zeile “Text Domain” am Anfang der Hauptdatei des Plugins und verwendest ihn bei der Initialisierung.load_plugin_textdomain()Funktionen laden…

Wie wird ein entwickeltes Plugin in das offizielle Verzeichnis veröffentlicht?

Zunächst musst du sicherstellen, dass dein Plugin vollständig den offiziellen WordPress-Codestandards, der Datenschutzrichtlinie sowie den Anforderungen zur GPL-Kompatibilität entspricht. Anschließend beantragst du auf WordPress.org ein SVN-Repository. Übertrage den Code deines Plugins – einschließlich der Hauptdateien, der Ressourcendateien und der Übersetzungsdateien – in dieses SVN-Repository./trunkVerzeichnis: Neue Versionen werden mithilfe von SVN-Tags veröffentlicht. Das offizielle Verzeichnis synchronisiert den Code automatisch aus Ihrem SVN-Repository und zeigt ihn nach einer manuellen Überprüfung an.