WordPress-Plugin-Entwicklung von der Grundlage bis zur Meisterschaft: Ein umfassender Leitfaden für das Erstellen benutzerdefinierter Funktionen

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

Erstellung einer Entwicklungsumgebung für WordPress-Plugins

Bevor Sie mit dem Schreiben des Codes beginnen, ist eine stabile und effiziente Entwicklungsumgebung von entscheidender Bedeutung. Sie verbessert nicht nur die Entwicklungseffizienz, sondern sorgt auch dafür, dass Plugins in verschiedenen Umgebungen kompatibel sind. Zunächst müssen Sie eine WordPress-Entwicklungsumgebung auf Ihrem lokalen Computer einrichten. Es wird empfohlen, integrierte lokale Server-Softwarepakete wie XAMPP, MAMP oder Local by Flywheel zu verwenden, die Apache, MySQL und PHP mit nur einem Klick installieren.

Als Nächstes benötigen Sie einen Code-Editor. Visual Studio Code, PhpStorm oder Sublime Text sind alle hervorragende Optionen – sie bieten Funktionen wie Syntaxhervorhebung, Code-Vorschläge und Debugging-Möglichkeiten. Stellen Sie sicher, dass Ihre PHP-Version mit der Ziel-WordPress-Umgebung kompatibel ist; in der Regel empfiehlt WordPress offiziell eine stabile PHP-Version.

Die wesentliche Vorbereitungsarbeit für die Entwicklung besteht darin, die grundlegende Struktur eines Plugins zu erstellen. In Ihrem WordPress-Installationsverzeichnis…wp-content/pluginsUnter dem Verzeichnis erstelle ein neues, spezielles Verzeichnis für dein Plugin, zum Beispiel:my-first-pluginIn diesem Ordner musst du eine Haupt-Plugin-Datei erstellen, die in der Regel nach dem Namen des Plugins benannt wird, zum Beispiel:my-first-plugin.phpDieses Datei ist der Einstiegspunkt für dein Plugin, und die Kommentare an deren Anfang sind von entscheidender Bedeutung. WordPress nutzt diese Informationen, um dein Plugin zu erkennen und anzuzeigen.

Empfohlene Lektüre Kompletter Leitfaden für die Entwicklung von WordPress-Plugins: Erstellen Sie Ihr erstes Plugin von Grund auf

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

Diese Anmerkung definiert die Anzeigeinformationen des Plugins in der WordPress-Backend-Verwaltungsoberfläche. Nachdem Sie diesen Schritt abgeschlossen haben, können Sie Ihr Plugin auf der “Plugins”-Seite im WordPress-Backend sehen und aktivieren – auch wenn es derzeit noch keine Funktionen besitzt.

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.

Verständnis der Kernmechanismen von WordPress-Plugins

Die Stärke von WordPress liegt in seiner hoch skalierbaren Architektur, die hauptsächlich durch das sogenannte “Hook”-Mechanismus realisiert wird. Das Verständnis von Hooks ist der Schlüssel, um sich im Bereich der Plugin-Entwicklung auszukennen. Es gibt zwei Haupttypen von Hooks: Action Hooks und Filter Hooks.

Action Hooks ermöglichen es Ihnen, Ihren eigenen Code zu bestimmten Zeitpunkten einzufügen und auszuführen. Zum Beispiel wird WordPress jeweils einen entsprechenden Action Hook auslösen, wenn ein Artikel veröffentlicht wird oder wenn ein Benutzer die Kopfzeile der Website besucht. Sie können diese Funktionen daher gezielt nutzen, um bestimmte Aktionen automatisch auszuführen.add_action()Die Funktion “montiert” Ihre benutzerdefinierte Funktion an diese „Hook-Points“ (Anknüpfungspunkte).

function my_custom_function() {
    // 你的代码逻辑
}
add_action( 'wp_head', 'my_custom_function' );

Der obige Code wird auf der Website verwendet.<head>Teilweise Ausführungmy_custom_functionFunktion.

Filter-Hooks dienen dazu, Daten zu modifizieren. Sie ermöglichen es Ihnen, die Daten vor ihrer Verwendung – beispielsweise vor dem Speichern in einer Datenbank oder der Anzeige auf einer Seite – zu ändern. Sie können diese Hooks entsprechend Ihrer Anforderungen einsetzen.add_filter()Eine Funktion wird verwendet, um einen Filter anzuwenden. Die Filterfunktion muss einen Eingabewert entgegennehmen und den modifizierten Wert zurückgeben.

Empfohlene Lektüre Praktischer Einstieg für Anfänger ohne Vorkenntnisse: Wir zeigen Ihnen Schritt für Schritt, wie Sie WordPress-Plugins entwickeln.

function modify_content( $content ) {
    $new_content = $content . “<p>Dieser Artikel wurde durch mein Plugin hinzugefügt.</p>”;
    return $new_content;
}
add_filter( 'the_content', 'modify_content' );

Dieser Code fügt am Ende des Inhalts jedes Artikels einen benutzerdefinierten Text hinzu.

Ein weiterer zentraler Mechanismus sind Shortcodes. Shortcodes ermöglichen es den Nutzern, durch einfache Tags (z. B.[my_shortcode]In Artikeln oder Seiten dynamischen Inhalt einfügen. Dafür können Sie verschiedene Methoden verwenden…add_shortcode()Eine Funktion, die eine Kurzwort-Verarbeitungsfunktion registriert.

Erstellen Sie ein voll funktionsfähiges Plugin-Beispiel.

Jetzt lassen Sie uns das oben erläuterte Wissen zusammenwenden, um einen einfachen “Artikel-Lesezeit-Einschätzung”-Plugin zu entwickeln. Dieses Plugin wird die Lesezeit des Artikels automatisch berechnen und diese vor dem Inhalt anzeigen.

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%

Zunächst erstellen wir in der Hauptdatei des Plugins eine Funktion, um die Lesezeit zu berechnen. Angenommen, die durchschnittliche Lesegeschwindigkeit beträgt 200 Wörter pro Minute.

function calculate_reading_time( $content ) {
    // 去除HTML标签,只计算纯文字
    $text = strip_tags( $content );
    // 计算单词数
    $word_count = str_word_count( $text );
    // 计算阅读分钟数(向上取整)
    $reading_time = ceil( $word_count / 200 );

// 创建显示信息
    $reading_time_html = ‘<div class="“reading-time”">Erwartete Lesezeit: ’ . $reading_time . ‘ Minuten</div>’;

// 将阅读时间信息附加到文章内容之前
    return $reading_time_html . $content;
}
// 使用过滤器将函数应用到文章内容
add_filter( ‘the_content’, ‘calculate_reading_time’ );

Allerdings möchten wir möglicherweise nicht an allen Stellen (z. B. in Zusammenfassungen oder RSS-Quellen) die Lesezeit anzeigen. Dies kann durch die Hinzufügung von Bedingungen optimiert werden.

function calculate_reading_time( $content ) {
    // 仅在主循环的单篇文章页面显示
    if ( is_single() &amp;&amp; in_the_loop() &amp;&amp; is_main_query() ) {
        $text = strip_tags( $content );
        $word_count = str_word_count( $text );
        $reading_time = ceil( $word_count / 200 );

$reading_time_html = ‘<div class="“reading-time”"><strong>📖 Lesezeit:</strong>’ca. $reading_time – ‘Minuten‘“</div>’;
        return $reading_time_html . $content;
    }
    // 如果不是单篇文章,返回原内容
    return $content;
}
add_filter( ‘the_content’, ‘calculate_reading_time’ );

Um die Optik noch schöner zu gestalten, können wir auch etwas CSS hinzufügen. Wir können dazu…wp_enqueue_style()Eine Funktion, um Stylesheets sicher zu laden. Zuerst erstellen Sie eine Datei im Plugin-Verzeichnis…style.cssDateien werden anschließend mithilfe von Action-Hooks in die Warteschlange (Queue) aufgenommen.

Empfohlene Lektüre Ein Leitfaden für Anfänger zur Entwicklung von WordPress-Plugins: Erstellen Sie Ihr erstes funktionales Plugin von Grund auf.

function my_plugin_styles() {
    wp_enqueue_style(
        ‘my-plugin-style’,
        plugin_dir_url( __FILE__ ) . ‘style.css’,
        array(),
        ‘1.0.0’
    );
}
add_action( ‘wp_enqueue_scripts’, ‘my_plugin_styles’ );

Best Practices für die Internationalisierung und Sicherheit von Plugins

Ein professionelles Plugin, das für globale Nutzer entwickelt wird, muss die Internationalisierung (i18n) unterstützen. Dadurch kann das Plugin in andere Sprachen übersetzt werden. Die Umsetzung der Internationalisierung erfordert die Nutzung der von WordPress bereitgestellten Übersetzungsfunktionen. Zuerst müssen diese Funktionen in den Kommentaren am Anfang des Plugins korrekt konfiguriert werden.Text DomainWie wir zuvor festgelegt haben…my-first-plugin

Im Code sollten für alle zu übersetzenden Zeichenketten spezielle Mechanismen oder Konventionen verwendet werden, um die Übersetzung zu gewährleisten.()_e()oderesc_html()Warten Sie, bis die Funktionen verpackt sind.

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.
$reading_time_html = ‘<div class="“reading-time”"><strong>’
    . esc_html__( ‘📖 Reading Time:’, ‘my-first-plugin’ )
    . ‘</strong>’
    . sprintf(
        esc_html__( ‘about %d minutes’, ‘my-first-plugin’ ),
        $reading_time
    )
    . ‘</div>’;

Danach müssen Sie ein Tool wie Poedit verwenden, um die Übersetzung zu erstellen..potTemplate-Dateien – Anhand dieser können Ersteller neue Inhalte erstellen..pound.moDie Dateien sollten im Verzeichnis des Plugins abgelegt werden.languagesIm Ordner.

Sicherheit ist die Lebensader bei der Entwicklung von Plugins. Es müssen die folgenden grundlegenden Sicherheitspraktiken befolgt werden:
1. 数据验证:对所有来自用户或外部来源的输入数据进行严格检查。使用函数如sanitize_text_field()absint()Kommen Sie und reinigen Sie die Daten.
2. 数据转义:在将任何数据输出到HTML、JavaScript或URL之前,必须进行转义。使用esc_html()esc_attr()esc_url()undwp_kses_post()Zum Beispiel können Sie die folgenden Funktionen verwenden:
3. 非ce验证:对于涉及数据更改(如表单提交、AJAX请求)的操作,必须使用wp_nonce(Ein digitales „One-Time-Token“ wird verwendet, um die Legitimität und Absicht einer Anfrage zu überprüfen und CSRF-Angriffe zu verhindern.)
4. 能力检查:在执行管理操作前,使用current_user_can()Die Funktion überprüft, ob der aktuelle Benutzer über ausreichende Berechtigungen verfügt (z. B.‘manage_options’)。

Zusammenfassungen

Die Entwicklung von WordPress-Plugins ist ein Prozess, bei dem Kreativität in funktionale Lösungen umgewandelt wird. Der Schlüssel dazu liegt in einem tiefen Verständnis sowie der flexiblen Anwendung des Hook-Mechanismus. Beginnend mit der Einrichtung der Entwicklungsumgebung und der Erstellung grundlegender Dateien interagiert man anschließend intensiv mit dem Kern von WordPress mithilfe von Aktionen (Actions) und Filtern, um nützliche Funktionen zu erstellen. Ein ausgereiftes Plugin sollte nicht nur über vollständige Funktionalitäten verfügen, sondern auch höchste Standards in Bezug auf Internationalisierung und Sicherheit erfüllen, um Stabilität und Sicherheit zu gewährleisten sowie die Nutzung durch Nutzer auf der ganzen Welt zu ermöglichen. Durch kontinuierliches Üben und Lernen kannst du von der Entwicklung einfacher Plugins schrittweise zu der Entwicklung komplexerer, kommerzieller WordPress-Erweiterungen aufsteigen.

FAQ Häufig gestellte Fragen

Muss man PHP beherrschen, um WordPress-Plugins zu entwickeln?

Ja, ein fundiertes Wissen über PHP ist die Grundlage für die Entwicklung von WordPress-Plugins. Der Kern von WordPress selbst ist in PHP geschrieben, und die logische Verarbeitung aller Plugins sowie Themes basiert auf PHP. Sie müssen sich mit der PHP-Syntax, Funktionen, objektorientiertem Programmieren sowie der Interaktion mit MySQL-Datenbanken auskennen. Darüber hinaus ist ein gutes Verständnis von HTML, CSS und JavaScript für die Entwicklung von Benutzeroberflächenfunktionen unerlässlich.

Wie füre ich das von mir entwickelte WordPress-Plugin zur Fehlersuche (Debugging) ein?

WordPress bietet eine Vielzahl an Debugging-Tools. Zunächst können Sie…wp-config.phpAktivieren Sie den Debugging-Modus im File.WP_DEBUGDie Konstante ist auftrueDies wird PHP-Fehler, Warnungen und Benachrichtigungen auf der Seite anzeigen. Für eine umfassendere Fehlersuche kann man weitere Werkzeuge verwenden.error_log()Die Funktion protokolliert die Informationen im Fehlerprotokoll des Servers oder verwendet professionelle Debugging-Tools wie Query Monitor, um detaillierte Informationen zu Datenbankabfragen, Ausführung von Hook-Funktionen sowie Laden von Skripten anzuzeigen.

Wie kann ich den von mir entwickelten Plugin in das offizielle WordPress-Plugin-Verzeichnis veröffentlichen?

Um dein Plugin im offiziellen WordPress.org-Katalog zu veröffentlichen, musst du zunächst ein Konto bei WordPress.org erstellen und dein Plugin dort einreichen. Dein Plugin muss den offiziellen Codestandards und -vorschriften entsprechen – dies beinhaltet die Verwendung einer Lizenz, die mit GPLv2 oder einer späteren Version kompatibel ist, die Befolgung sicherheitstechnischer Richtlinien sowie die Enthaltung vollständiger Dokumentation. Nach der Einreichung wird dein Plugin von einem Prüfteam überprüft. Wenn es die Prüfung bestanden hat, kann es veröffentlicht werden. Danach können Nutzer dein Plugin direkt über ihre WordPress-Administraturoberfläche suchen, installieren und aktualisieren.

Wie erstelle ich eine Verwaltungsseiten für meine Erweiterung?

Sie können die “Settings API” von WordPress verwenden, um standardisierte und sichere Verwaltungsseiten zu erstellen. Die Hauptschritte sind dabei:add_menu_page()oderadd_submenu_page()Die Funktion registriert eine neue Menüseite und verwendet sie anschließend.add_settings_section()undadd_settings_field()Definieren Sie die Bereiche für die Einstellungen sowie die Felder. Zum Schluss verwenden Sie…register_setting()Melden Sie sich an, um die Einstellungen vorzunehmen und die automatische Speicherung sowie die Validierung zu aktivieren. Dieser Prozess gewährleistet die Sicherheit der Einstellungsseite und die Übereinstimmung mit der WordPress-Verwaltungsoberfläche.