Vom Nullpunkt an: Ein umfassender Leitfaden und Praktikumskurs zur Entwicklung von WordPress-Plugins

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

Vorbereitungsarbeiten und Umgebungseinstellungen

Bevor Sie mit dem Schreiben des Codes beginnen, ist eine stabile und effiziente Entwicklungsumgebung von entscheidender Bedeutung. Sie sorgt nicht nur dafür, dass Ihr Plugin in zukünftigen Entwicklungsphasen eine klare Struktur behält, sondern ermöglicht es Ihnen auch, moderne Werkzeuge zu nutzen, um Ihre Arbeit effizienter zu gestalten.

Konfiguration der lokalen Entwicklungsumgebung

Wir empfehlen die Verwendung einer lokalen Serverumgebung, wie z. B. Local by Flywheel, XAMPP oder MAMP. Mit diesen Tools können Sie auf Ihrem Computer schnell eine WordPress-Infrastruktur mit Apache/Nginx, MySQL und PHP einrichten. Stellen Sie sicher, dass Ihre PHP-Version mit der Version des Ziel-Servers kompatibel ist, und aktivieren Sie die Fehlerberichtsfunktion – dies hilft dabei, Probleme in der frühen Entwicklungsphase schnell zu erkennen und zu beheben.

Code-Editor- und -Tool-Auswahl

Der erste Schritt besteht darin, einen leistungsstarken Code-Editor auszuwählen – beispielsweise Visual Studio Code, PhpStorm oder Sublime Text. Diese bieten in der Regel Funktionen wie Syntaxhervorhebung, Code-Vorschläge sowie Integrationen für das Versionsmanagement. Darüber hinaus wird die Entwicklungserfahrung und die Codequalität erheblich verbessert, wenn Sie auch ein Tool zur Code-Optimierung (z. B. PHP_CodeSniffer) sowie ein Debugging-Tool (z. B. Xdebug) installieren.

Empfohlene Lektüre Kompletter Leitfaden für die Entwicklung von WordPress-Themen: Von Null bis Eins professionelle Webseiten erstellen

Erstellen Sie Ihr erstes Plugin.

Beginnen wir nun damit, das einfachste Plugin zu erstellen, um die grundlegende Struktur sowie das Aktivierungsverfahren von WordPress-Plugins zu verstehen.

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.

Hauptdatei des Plugins und grundlegende Header-Informationen

Jedes WordPress-Plugin muss eine Haupt-PHP-Datei haben, und diese Datei muss die standardmäßigen Plugin-Hauptinformationen enthalten, damit WordPress es erkennen kann. Wir erstellen eine Datei mit dem Namen… my-first-plugin.php Die Datei…

Fügen Sie den Code in diese Datei ein und laden Sie sie dann in den Installationsordner von WordPress hoch. /wp-content/plugins/my-first-plugin/ Im Ordner.

<?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
 * Domain Path:       /languages
 */

Nach dem Speichern kannst du dieses Plugin auf der “Plugins”-Seite im WordPress-Backend sehen und es durch Klicken auf “Aktivieren” aktivieren. Derzeit verfügt es noch über keine Funktionen, aber du hast erfolgreich ein von WordPress anerkanntes Plugin erstellt.

Für das Plugin eine Einstellungsseite hinzufügen.

Eine häufige Anforderung besteht darin, einer Erweiterung (Plugin) eine Administrationsseite im Hintergrund (Backend) hinzuzufügen. Dies kann mithilfe der von WordPress bereitgestellten Funktionen erfolgen. add_menu_page() oder add_options_page() Diese Funktion wird verwendet, um dies zu realisieren.

Empfohlene Lektüre Das ultimative Handbuch für die Entwicklung von WordPress-Plugins: Von Null bis Eins professionelle Erweiterungen erstellen

Wir fügen weiterhin Code in die Hauptdatei hinzu, um eine einfache Einstellungsseite zu erstellen.

// 钩子:在管理员菜单中添加一个新的页面
add_action('admin_menu', 'mfp_add_admin_menu');

function mfp_add_admin_menu() {
    add_options_page(
        '我的插件设置',          // 页面标题
        '我的插件',             // 菜单标题
        'manage_options',       // 所需权限
        'my-first-plugin',      // 菜单slug
        'mfp_settings_page_html' // 用于显示页面内容的回调函数
    );
}

// 设置页面的HTML内容
function mfp_settings_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>
        <p>Willkommen auf der Einstellungsseite meines ersten Plugins!</p>
        <form action="/de/options.php/" method="post" data-trp-original-action="options.php">
            <?php
            // 输出设置字段(后续可在此添加)
            settings_fields('mfp_options_group');
            do_settings_sections('my-first-plugin');
            submit_button('保存设置');
            ?>
        <input type="hidden" name="trp-form-language" value="de"/></form>
    </div>
    &lt;?php
}

Dieser Code verwendet add_action() Der „Hook“ wird verwendet, um eine Funktion auszuführen. mfp_add_admin_menu Auf WordPress montiert admin_menu Was die Aktionen betrifft: Wenn das Administratormenü erstellt wird, wird unsere Funktion aufgerufen, wodurch ein neues Untermenüelement unter dem Hauptmenü “Einstellungen” hinzugefügt wird. Wenn auf dieses Untermenüelement geklickt wird, wird die entsprechende Aktion ausgeführt. mfp_settings_page_html Der Funktion zum Rendern des Seiteninhalts.

Verständnis von WordPress-Hooks und Filters

Die Kernphilosophie von WordPress basiert auf sogenannten “Hooks”. Diese ermöglichen es Ihnen, benutzerdefinierten Code zu bestimmten Zeitpunkten oder an bestimmten Stellen einzufügen, um die Kernfunktionen von WordPress zu modifizieren oder zu erweitern, ohne die Quelldateien direkt ändern zu müssen. Es gibt hauptsächlich zwei Arten von Hooks: Actions und Filters.

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 Verwendung von Aktionshaken (Action Hooks)

Action Hooks werden ausgeführt, wenn ein bestimmtes Ereignis stattfindet – beispielsweise beim Veröffentlichen eines Artikels, beim Laden der Administrationsoberfläche oder beim Ausgeben des Fußballs. Sie erwarten keine Rückgabewerte und dienen hauptsächlich dazu, eine bestimmte Aufgabe auszuführen. add_action() Eine Funktion, die eine Callback-Funktion an einen bestimmten Aktionshaken (Action Hook) bindet.

Zum Beispiel möchten wir am Ende jedes Artikels automatisch einen Absatz mit einer Urheberrechtsangabe hinzufügen. Dafür können wir folgende Methoden verwenden: the_content Dieser Filter (der gleichzeitig auch ein Aktionspunkt ist) wird verwendet, um dies zu realisieren. Um die Aktion jedoch noch reiner darzustellen, verwenden wir… wp_footer Die Schaltfläche („Hook“) wird verwendet, um Informationen am Fuß der Frontend-Seite der Website anzuzeigen.

add_action('wp_footer', 'mfp_add_footer_note');

function mfp_add_footer_note() {
    if (is_single()) { // 仅在文章页面显示
        echo '<p style="text-align:center; color:#666;">Dieser Artikel wird Ihnen von meinem Plugin präsentiert.</p>';
    }
}

Verwendung von Filter-Hooks

Filter-Hooks dienen dazu, Daten zu ändern, bevor sie verwendet oder in eine Datenbank gespeichert werden. Sie erwarten, dass Sie einen Wert erhalten, diesen bearbeiten und anschließend zurückgeben. Wir verwenden diese Filter-Hooks… add_filter() Eine Funktion, die eine Callback-Funktion mountet.

Empfohlene Lektüre Einführung in die Entwicklung von WordPress-Plugins: Erstellen Sie von Grund auf Ihre eigenen, benutzerdefinierten Funktionen

Ein klassisches Beispiel ist die Anpassung der Länge des Artikelauszugs. Die Standardlänge des Auszugs in WordPress beträgt 55 Wörter; dies kann durch… excerpt_length Mit einem Filter kann es verändert werden.

add_filter('excerpt_length', 'mfp_custom_excerpt_length');

function mfp_custom_excerpt_length($length) {
    // 将摘要长度修改为 20 个单词
    return 20;
}

In diesem Beispiel ist die Funktion… mfp_custom_excerpt_length Die Standardlängenwertung wurde empfangen. $lengthAnschließend wird der von uns definierte neue Längenwert (20) zurückgegeben. WordPress verwendet diesen Wert, um den Zusammenfassungstext zu generieren.

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.

Plugin-Sicherheit und Best Practices

Um einen beliebten Plugin zu entwickeln, sind Sicherheit, Wartbarkeit und Leistung unerlässliche Aspekte, die berücksichtigt werden müssen. Die Einhaltung von Best Practices kann viele häufig auftretende Probleme vermeiden.

Datenvalidierung, Entschlüsselung und Bereinigung

Vertrauen Sie niemals den von Benutzern eingegebenen Daten oder den Daten aus der Datenbank. Vor der Verarbeitung aller Daten müssen diese überprüft, gereinigt und entsprechend formatiert („geescaped“) werden.
* 验证(Validation):检查数据是否符合预期的格式或类型(如是否是邮箱、数字等)。可以使用 filter_var() Funktion oder WordPress- sanitize_*() Eine Reihe von Funktionen.
* 清理(Sanitization):清除数据中的非法或危险字符,使其变得安全。对于表单输入,常用 sanitize_text_field()
* 转义(Escaping):在将数据输出到 HTML、JavaScript 或 URL 时,根据上下文进行转义,以防止跨站脚本(XSS)攻击。WordPress 提供了丰富的转义函数,如 esc_html()esc_attr()esc_url() und wp_kses_post()

Zum Beispiel: Die sichere Ausgabe einer Variablen, die aus einer Datenbank stammt:

// 假设 $user_input 是从数据库或表单获取的数据
echo '<div class="info">'. esc_html($user_input)'.'</div>';
// 或者,如果允许一些安全的HTML标签
echo '<div class="info">'. wp_kses_post($user_input)'.'</div>';

Plugin-Internationalisierung und Lokalisierung

Damit Ihre Erweiterung von Nutzern auf der ganzen Welt genutzt werden kann, müssen Sie Unterstützung für die Übersetzung hinzufügen – dieser Prozess wird als Internationalisierung (i18n) bezeichnet. WordPress verwendet dazu das GNU gettext-Framework.

Zunächst sollten alle zu übersetzenden Zeichenketten mit einer speziellen Funktion umgebunden werden. Die am häufigsten verwendete Funktion ist… __()(Die Angabe „(used for return values)“ wird in der Übersetzung beibehalten, da sie klar auf die Verwendung der Funktion zur Rückgabe von Werten hinweist.) _e()(Die Zeile dient dazu, die Ausgabe direkt anzuzeigen.)

Ändern Sie den Titel der Managementseite, die wir zuvor erstellt haben:

function mfp_settings_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>
        <p><?php _e('欢迎来到我的第一个插件的设置页面!', 'my-first-plugin'); ?></p>
        ...
    </div>
    &lt;?php
}

Bitte beachten Sie, dass jede Übersetzungsfunktion ein Textfeldparameter (`‘my-first-plugin’`) enthält, der mit den in den Plugin-Header-Daten definierten Informationen übereinstimmen muss. Text Domain Vollständig übereinstimmt. Danach kannst du Tools wie Poedit verwenden, um die übersetzbaren Zeichenketten im Plugin-Code zu scannen und so eine Übersetzung zu erstellen. .pot Template-Dateien und erstellen Versionen in verschiedenen Sprachen. .po und .mo Übersetzen Sie die Datei und legen Sie sie im Verzeichnis der Plugins ab. /languages/ Im Ordner.

Zusammenfassungen

Mit dieser Anleitung haben wir systematisch die wichtigsten Schritte beim Entwicklung von WordPress-Plugins durchlaufen. Von der Einrichtung einer lokalen Umgebung über die Erstellung einer Hauptdatei, die standardmäßige Meta-Daten enthält, bis hin zum tiefgreifenden Austausch mit dem WordPress-Kern mithilfe von Aktionen und Filter-Hooks sowie den entscheidenden Aspekten der Sicherheit und Internationalisierung, haben Sie nun die Grundlagen erlernt, um ein vollständig funktionsfähiges, sicheres und zuverlässiges Plugin zu erstellen. Denken Sie daran: Hervorragende Plugins zeichnen sich durch eine klare Codestruktur, sorgfältige Sicherheitsmaßnahmen und ein durchdachtes Benutzererlebnis aus. Der beste Weg, um Ihr Wissen weiter zu vertiefen, besteht darin, direkt mit der Praxis zu beginnen – indem Sie mit dem Entwicklung eines Plugins starten, das eine einfache, reale Problematik löst, und sich anschließend schrittweise an komplexere APIs und Funktionen herantasten.

FAQ Häufig gestellte Fragen

Was sind die grundlegenden Kenntnisse, die man benötigt, um WordPress-Plugins zu entwickeln?

Sie müssen die PHP-Programmiersprache beherrschen, da sie die Kernsprache für die Entwicklung von WordPress ist. Außerdem sollten Sie über grundlegende Kenntnisse von HTML, CSS und JavaScript verfügen, um die Frontend-Präsentation und -Interaktionen zu gestalten. Es ist ebenfalls hilfreich, sich mit den grundlegenden Konzepten der MySQL-Datenbank (wie CRUD-Operationen) vertraut zu machen, da WordPress diese verwendet, um Daten zu speichern. Schließlich ist es entscheidend, die grundlegende Architektur und den Arbeitsablauf von WordPress zu verstehen.

Wie debugge ich mein WordPress-Plugin?

Zunächst müssen Sie im wp-config.php-File den Debug-Modus für WordPress aktivieren. define('WP_DEBUG', true); und define('WP_DEBUG_LOG', true); Stellen Sie dies auf „true“ ein. Dadurch werden Fehlermeldungen in die Datei `/wp-content/debug.log` geschrieben und nicht direkt den Besuchern angezeigt. Zweitens ermöglicht die Integration professioneller Debugging-Tools wie Xdebug mit Ihrem Code-Editor (z. B. VS Code) Funktionen wie das Setzen von Breakpoints und das Schritt-für-Schritt-Debuggen. Außerdem können Sie mithilfe der Netzwerk- und Kontrollleiste der Browser-Entwicklerwerkzeuge AJAX-Anfragen sowie Fehler im Frontend-JavaScript überprüfen.

Wie kann ich den von mir entwickelten Plugin in das offizielle WordPress-Plugin-Verzeichnis einreichen?

Bevor du deinen Plugin einreichst, stelle sicher, dass es vollständig den offiziellen WordPress-Codestandards und -Best Practices entspricht, und führe eine gründliche Codeüberprüfung sowie Sicherheitsprüfung durch. Du musst ein Konto bei WordPress.org registrieren und anschließend dein komprimiertes Plugin-Paket auf der Plugin-Einreichungsseite hochladen. Das Review-Team überprüft deinen Code, um seine Sicherheit und Legalität zu gewährleisten sowie um sicherzustellen, dass er den relevanten Richtlinien entspricht. Nach erfolgreicher Überprüfung wird dein Plugin in den offiziellen WordPress-Verzeichnis aufgenommen und weltweit für die Herunterladung und Installation verfügbar gemacht.

Wie füge ich einer meiner Plugins eine Einstellungsoption zum WordPress Customizer hinzu?

Der WordPress Customizer bietet eine Möglichkeit, Konfigurationen in Echtzeit anzusehen und zu bearbeiten. Sie können ihn daher gerne verwenden, um Ihre Website-Einstellungen zu verändern. add_action('customize_register', 'your_function'); Hook – in der Callback-Funktion. your_function In China, durch $wp_customize Dem Objekt werden eine Abschnittsstruktur (Section), eine Einstellung (Setting) sowie ein Controller (Control) hinzugefügt. Dadurch können Benutzer in der Benutzeroberfläche des Customizers die Optionen anpassen und die Ergebnisse in Echtzeit im Frontend sehen. Dies eignet sich ideal für die Verwaltung von Einstellungen zur Gestaltung von Themes und Plugins.