Im weiten Internet beherrscht WordPress mit seiner Flexibilität und seiner umfassenden Plattformökologie einen großen Teil des Marktes für Content-Management-Systeme. Die Kernfunktion von WordPress – die Erweiterbarkeit – hängt in hohem Maße von Plugins ab. Für Entwickler bedeutet das Beherrschen der Plugin-Entwicklung nicht nur die Möglichkeit, die Funktionen einer Website detailliert anzupassen, sondern auch, eigene Ideen in wiederverwendbare Produkte umzusetzen. In diesem Artikel werden Sie Schritt für Schritt angeleitet, Ihr erstes WordPress-Plugin mit praktischen Funktionen zu erstellen und so den „Geheimnissen“ der Plugin-Entwicklung auf die Spur zu kommen.
Grundlagen und Vorbereitungen für WordPress-Plugins
Bevor Sie mit dem Schreiben der ersten Zeile Code beginnen, ist es von entscheidender Bedeutung, sich mit den grundlegenden Konzepten von WordPress-Plugins sowie der Einrichtung einer geeigneten Entwicklungsumgebung vertraut zu machen. Ein WordPress-Plugin ist im Wesentlichen eine Sammlung aus einer oder mehreren PHP-Dateien und kann auch Ressourcen wie JavaScript, CSS und Bilder enthalten. Es kann neue Funktionen hinzufügen oder bestehende Funktionen ändern und ist unabhängig von den verwendeten Themes – das bedeutet, dass die Funktionalität des Plugins in der Regel nicht beeinträchtigt wird, wenn Sie das Theme wechseln.
Sie benötigen eine lokale Entwicklungsumgebung (z. B. Local by Flywheel, XAMPP, MAMP) oder einen Testserver für die Entwicklung. Zu den Kernwerkzeugen gehören ein Code-Editor (wie VS Code, PhpStorm) sowie die Entwicklerwerkzeuge der Browser zum Debuggen. Sie sollten sich mit WordPress auskennen.wp-content/pluginsDie Verzeichnisstruktur ist der erste Schritt – alle Plugins werden dort installiert.
Empfohlene Lektüre Die Reise in die Entwicklung von WordPress-Plugins bedeutet, dass Sie gelernt haben, für die ganze Welt zu entwickeln.。
Erstellen Sie Ihre erste Plugin-Datei.
Der Einstiegspunkt für ein Plugin ist eine Haupt-PHP-Datei, die sich in einem eigenen, unabhängigen Verzeichnis befindet. Diese Datei muss eine standardmäßige Kommentarzeile enthalten, die das Plugin kennzeichnet. WordPress nutzt diese Kommentarzeile, um Ihr Plugin in der Backend-Verwaltungsoberfläche zu erkennen und anzuzeigen.
Definition der Plugin-Hauptinformationen
Jeder Plugin muss mit einem bestimmten PHP-Commentarblock beginnen. Dieser Commentarblock definiert die grundlegende Identität des Plugins im WordPress-Backend. In Ihrem Plugin-Verzeichnis (z. B.)…wp-content/plugins/my-first-pluginIn diesem Kontext soll ein Objekt mit dem Namen „“ erstellt werden.my-first-plugin.phpDie Datei…
<?php
/**
* Plugin Name: 我的第一个功能插件
* Plugin URI: https://yourwebsite.com/my-first-plugin
* Description: 这是一个学习用的WordPress插件,用于在文章末尾添加自定义提示框。
* Version: 1.0.0
* Requires at least: 5.6
* Requires PHP: 7.4
* Author: 你的名字
* Author URI: https://yourwebsite.com
* License: GPL v2 or later
* Text Domain: my-first-plugin
*/ Nachdem du die Datei gespeichert hast, logge dich in das WordPress-Backend ein und gehe zum Menü “Plugins”. Dort solltest du das Plugin mit dem Namen “Mein erstes Funktionsplugin” in der Liste der Plugins sehen. Du kannst es nun aktivieren. Obwohl es noch keine Funktionen bietet, hast du bereits den ersten Schritt erfolgreich gemeistert.
Aufbau der grundlegenden Struktur eines Plugins
Mit zunehmender Anzahl von Funktionen wird es schwierig, einzelne Dateien zu warten. Eine gute Praxis besteht darin, eine strukturierte Verzeichnisstruktur zu erstellen. Zum Beispiel kann man dies im Wurzelverzeichnis der Plugins tun.includes/Die Ordner enthalten die Kern-PHP-Klasse- oder Funktionen-Dateien.assets/Die Ordner enthalten JavaScript- und CSS-Dateien.admin/undpublic/Die Logik für die Backend- und Frontend-Bereiche sollte getrennt behandelt werden. Hauptdatei:my-first-plugin.phpDann ist es für die Anleitung und das Laden dieser Module verantwortlich.
Implementierung der Kernfunktionen: Hooks und Filter
Die Kernphilosophie der WordPress-Plugin-Entwicklung ist das Konzept der “Hooks”. Diese ermöglichen es Ihnen, Ihren eigenen Code zu bestimmten Zeitpunkten einzufügen, ohne die Kerndateien des Systems zu ändern. Es gibt zwei Arten von Hooks: Actions und Filters. Actions ermöglichen es Ihnen, Funktionen auszuführen, wenn bestimmte Ereignisse stattfinden – beispielsweise beim Veröffentlichen eines Artikels oder beim Laden der Benutzeroberfläche. Filter hingegen ermöglichen es Ihnen, Daten zu modifizieren, wie beispielsweise den Inhalt oder den Titel eines Artikels.
Empfohlene Lektüre Von Null auf Eins: Eine vollständige Anleitung zur Entwicklung von WordPress-Plugins mit praktischen Übungen。
Die Inhalte eines Artikels mit einem Filter ändern.
Lassen Sie uns der Erweiterung die erste nützliche Funktion hinzufügen: Am Ende des Inhalts jedes Artikels wird automatisch ein benutzerdefinierter Hinweisbereich angezeigt. Dafür werden wir…the_contentFilter.
Zuerst fügen Sie in der Haupt-Plugin-Datei, unter den Kopf-Anmerkungen, die folgende Funktionen und Hooks hinzu:
// 防止直接访问文件
if ( ! defined( 'ABSPATH' ) ) {
exit;
}
/**
* 在文章内容末尾添加自定义提示框
*
* @param string $content 原始文章内容。
* @return string 修改后的文章内容。
*/
function mfp_add_notice_box( $content ) {
// 仅在主循环的单篇文章页面显示
if ( is_single() && in_the_loop() && is_main_query() ) {
$notice_box = '<div class="mfp-notice" style="background-color: #f0f8ff; border-left: 4px solid #3498db; padding: 15px; margin: 20px 0; border-radius: 5px;">'$notice_box = '<p><strong>Tipp:</strong> Dieser Artikel wurde durch die Erweiterung “Mein erster Funktionsplugin” angezeigt. Ich hoffe, Ihnen gefällt dieser Inhalt!</p>'$notice_box = '</div>';
$content .= $notice_box;
}
return $content;
}
add_filter( 'the_content', 'mfp_add_notice_box' ); Funktionmfp_add_notice_boxDie ursprüngliche Inhaltsdaten werden empfangen.$contentAls Parameter wird überprüft, ob die aktuelle Umgebung eine Seite mit nur einem Artikel darstellt. Falls dies der Fall ist, wird ein HTML-Block mit Hinweisen angefügt, und schließlich wird der geänderte Inhalt zurückgegeben.add_filterDie Funktion montiert diese benutzerdefinierte Funktion in WordPress.the_contentAuf dem Filter.
Verwenden Sie Aktionen, um ein Einstellmenü als Plugin hinzuzufügen.
Um die Erweiterung zu verbessern, benötigen wir in der Regel eine Backend-Konfigurationsseite. Hier müssen wir Action-Hooks verwenden.admin_menuLassen Sie uns ein Menüelement hinzufügen.
**
* Hinzufügen eines Plugin-Einstellungsmenüs im WordPress-Backend
*/
function mfp_add_admin_menu() {
add_options_page(
'Meine Plugin-Einstellungen', // Seitentitel
'Mein erstes Plugin', // Menü-Titel
'manage_options', // Erforderliche Berechtigungen
'my-first-plugin', // Menü-Slug
'mfp_render_settings_page' // Rückruffunktion zum Ausgeben der Seiteninhalte
);
}
add_action( 'admin_menu', 'mfp_add_admin_menu' );
/**
* Rendern der Einstellungsseite
*/
function mfp_render_settings_page() {
?>
<div class="wrap">
<h1>Die Einstellungen meines ersten Plugins</h1>
<form action="/de/options.php/" method="post" data-trp-original-action="options.php">
<p><strong>PHP-Code</strong>:</p>
<input type="hidden" name="trp-form-language" value="de"/></form>
</div>
<?php
} Durch dieses Beispiel haben Sie verstanden, wie Sie Action-Hooks nutzen können, um die WordPress-Backend-Oberfläche zu erweitern. Die vollständige Konfigurationsseite benötigt in der Regel auch weitere Einstellungen bzw. Funktionen.register_setting, add_settings_sectionundadd_settings_fieldFunktionen wie diese werden verwendet, um Optionen zu definieren und zu speichern – dies bildet die Grundlage für die Interaktivität von Plugins.
Stil- und Skripte für das Plugin hinzufügen
Ein professionelles Plugin sollte nicht nur über gute Funktionalitäten verfügen, sondern auch ein angemessenes Erscheinungsbild aufweisen. Wir müssen die CSS- und JavaScript-Dateien auf die richtige Weise einbinden, um Konflikte mit dem Theme oder anderen Plugins zu vermeiden.
Empfohlene Lektüre Wie man hochwertige WordPress-Plugins auswählt und entwickelt: Ein Leitfaden für Einsteiger und Profis。
Sich sicher registrieren und Frontend-Ressourcen laden
WordPress bietetwp_enqueue_styleundwp_enqueue_scriptEine Funktion, um Ressourcen sicher hinzuzufügen. Wir sollten diese Funktion verwenden.wp_enqueue_scriptsAction-Hooks werden verwendet, um sie zu laden.
/**
* 注册并加载插件的前端样式和脚本
*/
function mfp_enqueue_public_assets() {
// 获取插件URL
$plugin_url = plugin_dir_url( __FILE__ );
// 注册并排队样式表
wp_enqueue_style(
'mfp-public-style',
$plugin_url . 'assets/css/mfp-public.css',
array(),
'1.0.0'
);
// 注册并排队JavaScript文件(示例)
wp_enqueue_script(
'mfp-public-script',
$plugin_url . 'assets/js/mfp-public.js',
array('jquery'), // 依赖jQuery
'1.0.0',
true // 在页脚加载
);
}
add_action( 'wp_enqueue_scripts', 'mfp_enqueue_public_assets' ); Sie müssen zunächst ein Verzeichnis im Plugin-Verzeichnis erstellen.assets/css/mfp-public.cssDateien können verwendet werden, um Styles hinzuzufügen, um die zuvor erstellten Hinweismen („Prompt-Boxen“) zu verschönern.
/* assets/css/mfp-public.css */
.mfp-notice {
background-color: #f0f8ff;
border-left: 4px solid #3498db;
padding: 15px;
margin: 20px 0;
border-radius: 5px;
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, sans-serif;
}
.mfp-notice p {
margin: 0;
color: #2c3e50;
} Laden von Backend-Ressourcen
Die Registrierung von Backend-Ressourcen erfolgt auf ähnliche Weise, allerdings werden dabei andere „Hooks“ (Programmme, die automatisch ausgeführt werden) verwendet.admin_enqueue_scriptsSie müssen feststellen, ob die aktuelle Seite die Einstellungsseite für Ihr Plugin ist (z. B. mithilfe bestimmter Kennzeichen oder Bedingungen).get_current_screen()Mithilfe solcher Funktionen können Ressourcen selektiv geladen werden, um unnötige Leistungsbelastungen zu vermeiden.
Zusammenfassungen
Von der Definition einfacher Plugin-Hauptinformationen über die Nutzung des leistungsstarken Hook-Systems von WordPress (Aktionen und Filtere) zur dynamischen Anpassung von Inhalten und Strukturen der Website bis hin zur professionellen Verwaltung von Styles und Script-Ressourcen – Sie haben den gesamten Prozess der Erstellung Ihres ersten funktionalen Plugins durchlaufen. Der Schlüssel dazu liegt darin, die Entwicklungsrichtlinien von WordPress zu verstehen und zu befolgen: Hook-Systeme zu verwenden anstatt die Kernfunktionen direkt zu ändern, Ressourcen korrekt zu registrieren und zu verwalten sowie eine klare Dateistruktur zu erstellen. Dies ist jedoch nur der Anfang der Welt der Plugin-Entwicklung. Im Anschluss können Sie weitere fortgeschrittene Funktionen wie die Erstellung von Shortcodes, die Definition benutzerdefinierter Artikeltypen (Custom Post Types, CPTs), die Interaktion mit der Datenbank, REST-API-Endpunkte sowie die Internationalisierung von Plugins erkunden, um Ihr Plugin noch leistungsfähiger und benutzerfreundlicher zu gestalten.
FAQ Häufig gestellte Fragen
Welche Vorkenntnisse sind für die Entwicklung von WordPress-Plugins erforderlich?
Sie sollten über grundlegende PHP-Programmierfähigkeiten verfügen, einschließlich dem Verständnis von Funktionen, Bedingungssätzen, Schleifen und Array-Operationen. Ein gutes Wissen über HTML, CSS und etwas JavaScript ist ebenfalls von Vorteil, insbesondere wenn Sie die Frontend-Oberfläche anpassen müssen. Am wichtigsten ist jedoch, dass Sie die grundlegenden Funktionsweisen von WordPress verstehen – beispielsweise die Hierarchie der Templates, die Hauptschleife sowie die grundlegende Struktur der Datenbank.
Wie debugge ich mein WordPress-Plugin?
Aktivieren Sie WordPress…WP_DEBUGDas Erstellen eines Musters ist der erste Schritt beim Debuggen. Dieses Muster befindet sich im Wurzelverzeichnis Ihrer Website.wp-config.phpDatei, setzen Sie diedefine( 'WP_DEBUG', true );Dies wird PHP-Fehler und -Warnungen auf dem Bildschirm anzeigen und in einer Protokolldatei aufzeichnen.wp-content/debug.logIm File befindet sich die entsprechende Information. Zudem helfen die Console- und Network-Tabellen der Browser-Entwicklerwerkzeuge bei der Fehlersuche bei JavaScript- und Ajax-Anfragen. Für komplexe Logiken können weitere Werkzeuge oder Methoden eingesetzt werden.error_log()Die Funktion oder ein spezielles Debugging-Plugin gibt die Variableninformationen in die Protokolle (Logs) aus.
Wie sollte ich konfigurierbare Optionen für mein Plugin hinzufügen?
Die Standardmethode, um Einstellmöglichkeiten für Plugins hinzuzufügen, besteht darin, die WordPress-Settings-API zu verwenden. Dies beinhaltet eine Reihe von Funktionen:register_setting()Dient zum Registrieren einer Gruppe von Einstellungsoptionen und deren sicheren Speicherung in der Datenbank;add_settings_section()Fügen Sie auf Ihrer Einstellungsseite einen neuen Block hinzu.add_settings_field()Fügen Sie innerhalb des Blocks konkrete Formularfelder hinzu (z. B. Eingabefelder, Dropdown-Menüs). Die Callback-Funktion Ihrer Einstellungsseite sollte dies berücksichtigen.settings_fields()unddo_settings_sections()Die Aufrufe sind erforderlich, um die Formulare korrekt zu generieren und zu überprüfen.
Wie kann ich sicherstellen, dass mein Plugin nicht mit anderen Plugins oder Themes konfliktiert?
Die Befolgung von Best Practices ist der Schlüssel, um Konflikte zu vermeiden. Fügen Sie allen Ihren Funktionen, Klassen, Konstanten, Aktionen/Filtern sowie den CSS-Klassen in Ihrer HTML-Datei einen eindeutigen Präfix oder Namensraum hinzu. Zum Beispiel können Sie…myplugin_function_nameSolche Funktionsnamen – und nicht nur das…function_nameVerwenden Sie…wp_enqueue_styleundwp_enqueue_scriptLaden Sie die Ressourcen und stellen Sie sicher, dass die Handles für Styles und Scripts eindeutig sind. Wenn möglich, packen Sie Ihren Code in Klassen ein, um Variablen und Funktionen weiter zu isolieren.
Nach der Fertigstellung meiner Erweiterung: Wie kann ich diese veröffentlichen?
Wenn Sie ein Plugin in den offiziellen WordPress-Plugin-Katalog einreichen möchten, müssen Sie sicherstellen, dass es vollständig den WordPress-Codestandards sowie der GPL-Lizenz entspricht. Sie müssen ein Konto bei WordPress.org registrieren und das Plugin zur Überprüfung einreichen. Das Überprüfungsteam prüft die Sicherheit, Funktionalität sowie die Dokumentation des Codes. Vor der Einreichung sollten Sie unbedingt die offiziellen Plugin-Entwicklungshandbücher und Einreichungsrichtlinien sorgfältig lesen. Für kommerzielle Plugins können Sie sich dafür entscheiden, sie auf Ihrer eigenen Website oder auf Drittanbietermärkten zu vertrieben.
Was kommt als Nächstes, was kommt als Nächstes?
Erweiterte Lektüre und praktische Kenntnisse
Die folgenden Artikel stehen im Zusammenhang mit dem Thema dieses Artikels und eignen sich für eine vertiefte Lektüre. Oft ist es besser, mit dem Artikel zu beginnen, der Ihrem aktuellen Problem am nächsten kommt, und dann nach und nach die umliegenden Themen zu behandeln.
- WooCommerce-Plugin-Konfiguration und -Anwendung: Eine umfassende Anleitung zum Aufbau eines E-Commerce-Websites von Grund auf
- Vorwort: Warum die Entwicklung mit WordPress?
- Warum haben Sie sich für WooCommerce als Ihre E-Commerce-Lösung entschieden?
- WooCommerce-Complete-Guide: Erstellen Sie Ihren Online-Shop von Grund auf und entwickeln Sie Ihre Verkaufsstrategie
- Erlernen Sie die Entwicklung von WordPress-Themes: Ein vollständiger Leitfaden zum Erstellen professioneller Websites von Grund auf.