Warum sollte man sich für die Entwicklung von WordPress-Plugins entscheiden?
Als weltweit beliebtestes Content-Management-System (CMS) verdankt WordPress seine starke Erweiterbarkeit in erster Linie den Plugins. Durch die Entwicklung eigener Plugins können Entwickler jederzeit neue Funktionen für eine Website hinzufügen, ohne den Kerncode ändern zu müssen. Dies gewährleistet die Sicherheit bei Upgrades sowie die Unabhängigkeit der Funktionen der Website. Egal ob es darum geht, spezifische Geschäftsanforderungen zu erfüllen, Arbeitsabläufe zu optimieren oder Produkte innerhalb der umfangreichen WordPress-Community zu entwickeln – die Entwicklung von Plugins ist eine äußerst wertvolle Fähigkeit.
Im Gegensatz zu den Methoden, die direkt das Thema ändern…functions.phpIm Vergleich zu herkömmlichen Dateien verpackt ein Plugin die Funktionalität in eigenständige Module. Dadurch funktionieren die von einem Plugin bereitgestellten Funktionen auch weiterhin ordnungsgemäß, selbst wenn das Thema des Websites geändert wird. Zudem kann ein gut strukturiertes Plugin leicht auf andere Webseiten übertragen und wiederverwendet werden, was die Entwicklungseffizienz erheblich steigert.
Erstellen Sie Ihr erstes Plugin.
Der erste Schritt bei der Entwicklung eines Plugins besteht darin, die grundlegende Struktur eines Plugins zu verstehen. Alle WordPress-Plugins werden in einer bestimmten Verzeichnisstruktur abgelegt./wp-content/plugins/Im Verzeichnis verfügt jedes Plugin über einen eigenen, unabhängigen Ordner.
Empfohlene Lektüre Einführung in die Entwicklung von WordPress-Plugins: Erstellen Sie Ihr erstes Plugin von Grund auf。
Erstellen Sie die Hauptdatei des Plugins.
Der Kern des Plugins besteht aus einer PHP-Hauptdatei. Sie müssen einen neuen Ordner erstellen, zum Beispiel…my-first-pluginUnd erstellen Sie darin eine PHP-Datei mit dem gleichen Namen wie der Ordner:my-first-plugin.phpDie Kommentare am Anfang dieser Datei sind von entscheidender Bedeutung, da sie WordPress Metadaten über das Plugin liefern.
<?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
* Domain Path: /languages
*/ Nachdem Sie diese Datei gespeichert haben, können Sie sie auf der “Plugins”-Seite im WordPress-Backend sehen und aktivieren. Obwohl sie derzeit noch keine Funktionen besitzt, haben Sie erfolgreich einen legitimen Plugin- Rahmen erstellt.
Basische Funktionen für das Plugin hinzufügen
Nach der Aktivierung des Plugins können wir anfangen, einfache Funktionen hinzuzufügen. Ein gängiges Einstiegsbeispiel ist das Hinzufügen einer Zeile mit benutzerdefiniertem Text in den Fußbereich der Website-Seite. Dies kann mithilfe des Plugins erreicht werden.wp_footerDies wird mit einem Action Hook umgesetzt.
Fügen Sie den folgenden Code in die Hauptdatei des Plugins hinzu:
// 在网站页脚输出自定义信息
function my_first_plugin_footer_text() {
echo '<p style="text-align: center;">Vielen Dank, dass Sie die von meinem ersten Plugin bereitgestellten Funktionen nutzen!</p>';
}
add_action( 'wp_footer', 'my_first_plugin_footer_text' ); Hier haben wir eine Funktion definiert.my_first_plugin_footer_text()Und dann verwenden Sie es.add_action()Die Funktion montiert es.wp_footerAuf dem Haken. Wenn WordPress zur Fußzeile des Seiteninhalts kommt, wird unsere Funktion automatisch aufgerufen und die voreingestellte HTML-Inhaltsdatei ausgegeben. Dies veranschaulicht die grundlegende Nutzung des “Hook- und Callback-Mechanismus” in WordPress.
Empfohlene Lektüre Einführung in die Entwicklung von WordPress-Plugins: Erstellen Sie Ihr erstes funktionales Plugin von Grund auf。
Hinter die Kulissen: Hooks und Filter
Die Kernphilosophie der WordPress-Plugin-Entwicklung basiert auf sogenannten “Hooks”. Es gibt zwei Arten von Hooks: Action Hooks und Filter Hooks. Ihr Verständnis ist der Schlüssel dazu, von den Grundlagen zur Meisterschaft voranzukommen.
Verstehen von Aktionshookern (Action Hooks)
Action Hooks ermöglichen es Ihnen, Ihren eigenen Code zu bestimmten Zeitpunkten während der Ausführung von WordPress einzufügen. Wie im obigen Beispiel gezeigt…wp_footerEs wird beim Erstellen des Fußbereichs (Footer) im HTML ausgelöst. Ein weiterer häufig verwendetes Aktionshook (Action Hook) ist…initEs wird ausgeführt, nachdem WordPress die grundlegende Ladung abgeschlossen hat und bevor die Anfragen bearbeitet werden. Es wird häufig verwendet, um Plugin-Einstellungen zu initialisieren oder benutzerdefinierte Artikeltypen zu registrieren.
// 在初始化时执行一些操作
function my_plugin_init_action() {
// 例如,在这里可以注册一个自定义文章类型
// if ( ! post_type_exists( 'book' ) ) { ... }
}
add_action( 'init', '_plugin_init_action' ); Die Filter-Hooks beherrschen…
Im Gegensatz zu Aktionshookern dienen Filterhookern dazu, Daten zu verändern. Sie erhalten einen Wert, ermöglichen es Ihnen, diesen zu bearbeiten, und geben anschließend den verarbeiteten Wert zurück. Ein typisches Beispiel dafür ist…the_contentDer Filter ermöglicht es Ihnen, den Hauptinhalt von Artikeln oder Seiten zu ändern.
// 在文章内容末尾自动添加一段提示文字
function my_plugin_content_filter( $content ) {
if ( is_single() ) {
$extra_text = '<div class="my-plugin-note">Der Inhalt dieses Artikels wurde durch mein Plugin gefiltert und generiert.</div>';
$content .= $extra_text;
}
return $content;
}
add_filter( 'the_content', 'my_plugin_content_filter' ); In diesem Beispiel ist die Funktion…my_plugin_content_filter()Empfangen Sie die Originale…$contentZuerst wird überprüft, ob es sich um die Seite eines einzelnen Artikels handelt. Anschließend wird ein zusätzlicher HTML-Abschnitt an diese Seite angehängt. Schließlich wird der modifizierte Inhalt zurückgegeben. WordPress verwendet diesen zurückgegebenen Wert, um den ursprünglichen Inhalt zu ersetzen und ihn auszugeben.
Erstellen von konfigurierbaren Plugins
Ein professionelles Plugin benötigt in der Regel eine Verwaltungsoberfläche, die es den Nutzern ermöglicht, Einstellungen vorzunehmen. Dazu gehört die Erstellung von Einstellungsseiten im WordPress-Backend, die Verarbeitung von Formulardaten sowie die sichere Speicherung dieser Daten.
Erstellen Sie ein Verwaltungsmenü und -seite.
ausnutzenadd_menu_page()oderadd_options_page()Funktionen können für Ihre Erweiterung im Hintergrund ein Menüelement sowie eine Einstellungsseite hinzufügen. Dies geschieht in der Regel…admin_menuDie Aktion wurde im Action-Hook abgewickelt.
Empfohlene Lektüre Einführung in die Entwicklung von WordPress-Plugins: Von Null bis zur Beherrschung der Erstellung benutzerdefinierter Funktionen。
\n// Fügen Sie ein Plugin-Verwaltungsmenü hinzu
function my_plugin_add_admin_menu() {
add_options_page(
'Meine Plugin-Einstellungen', // Seitentitel
'Mein Plugin', // Menütitel
'manage_options', // Erforderliche Berechtigungen
'my-plugin-settings', // Menü-Slug
'my_plugin_settings_page' // Rückruffunktion zur Anzeige der Seite
);
}
add_action( 'admin_menu', 'my_plugin_add_admin_menu' );
// Festlegen des HTML-Inhalts der Seite
function my_plugin_settings_page() {
?>
<div class="wrap">
<h1>Meine Plugin-Einstellungen</h1>
<form method="post" action="/de/options.php/" data-trp-original-action="options.php">
<p><strong>Dies ist ein PHP-Codebeispiel für die Verwendung der Funktionen settings_fields() und do_settings_sections() zur Konfiguration von Einstellungen für ein WordPress-Plugin.</strong></p>
<input type="hidden" name="trp-form-language" value="de"/></form>
</div>
<?php
} Registrierungseinstellungen, Felder und Sicherheitsmaßnahmen
Als Nächstes müssen Sie die WordPress Settings API verwenden, um Einstellungen und Felder zu registrieren sowie die Speicherung von Daten zu verarbeiten. Dadurch wird die Sicherheit bei der Datenvalidierung, der Überprüfung von Berechtigungen sowie bei der seriellen Speicherung gewährleistet.
\n// Initialisierung der Plugin-Einstellungen
function my_plugin_settings_init() {
// Registrieren einer neuen Einstellung für “my_plugin_settings_group”
register_setting( 'my_plugin_settings_group', 'my_plugin_options' );
// Hinzufügen eines Bereichs zur Einstellungsseite
add_settings_section(
'my_plugin_section_id',
'Grundlegende Konfiguration',
null,
'my-plugin-settings'
);
// Hinzufügen eines Feldes zu diesem Bereich
add_settings_field(
'my_plugin_text_field',
'Hinweistext',
'my_plugin_text_field_render',
'my-plugin-settings',
'my_plugin_section_id'
);
}
add_action( 'admin_init', 'my_plugin_settings_init' );
// Rendern des Textfeld-Feldes
function my_plugin_text_field_render() {
$options = get_option( 'my_plugin_options' );
?>
<input type='text' name='my_plugin_options[text_field]' value='<?php echo esc_attr( $options['text_field'] ?? '' ); ?>'>
<p class="description">Der hier eingegebene Text wird auf der Frontseite der Website angezeigt.</p>
<?php
} Auf diese Weise werden die von den Benutzern an der Benutzeroberfläche eingegebenen Daten durch die in WordPress integrierten Sicherheitsmechanismen (wie z. B. die Nicht-ASCII-Kodierung und die Validierung der Daten) verarbeitet und anschließend in Form eines Arrays gespeichert.wp_optionsIn der Tabelle. Ihr Plugin-Code kann dort verwendet werden.get_option( ‘my_plugin_options’ )Diese Werte sicher heranziehen.
Folgen Sie den Best Practices und bereiten Sie sich auf die Veröffentlichung vor.
Um einen hochwertigen, wartungsfreundlichen und sicheren Plugin zu entwickeln, ist es notwendig, eine Reihe von Best Practices zu befolgen.
Codeorganisation und Sicherheit
Vertraue niemals Benutzereingaben. Für alle Eingaben von Benutzern solltest du immer eine Validierung durchführen.$_GET、$_POSTDie erhaltenen Daten oder die aus der Datenbank gelesenen und zur Ausgabe vorbereiteten Daten werden mithilfe der von WordPress bereitgestellten Funktionen entgegengenommen, geprüft und gegebenenfalls entschärft („geescaped“).esc_html()、esc_attr()、sanitize_text_field()、wp_kses()Usen usw.wp_enqueue_script()undwp_enqueue_style()Um Skripte und Styles korrekt zu laden sowie Abhängigkeiten und Versionskontrollmechanismen zu verwalten, sollten für komplexe Plugins Methoden der objektorientierten Programmierung (OOP) angewendet werden. Dabei sollten Funktionen in Klassen eingebettet werden, um die Modularität und Wiederverwendbarkeit des Codes zu verbessern.
Internationalisierung und Lokalisierung
Damit Ihre Erweiterung von Nutzern auf der ganzen Welt genutzt werden kann, ist die Internationalisierung (i18n) unerlässlich. Das bedeutet, dass Sie die Inhalte der Erweiterung so anpassen müssen, dass sie in verschiedenen Sprachen verständlich sind.__()oder_e()Funktionen wie diese umschließen alle für die Benutzer bestimmten Zeichenketten. Sie sind in den Kommentaren am Anfang des Plugins definiert.Text Domain(Zum Beispiel)my-first-pluginSie muss mit den Textfeldern übereinstimmen, die hier verwendet werden.
// 错误示例
echo “Settings Saved”;
// 正确示例
echo esc_html__( 'Settings Saved', 'my-first-plugin' ); Danach kannst du Tools wie Poedit verwenden, um diese Strings zu extrahieren und daraus etwas Neues zu erstellen..potVorlagen-Dateien, nach denen Übersetzer verschiedene Sprachen erstellen können, z. B.zh_CN.poDies ist ein Übersetzungsdokument für den Artikel „Das Verhältnis zwischen China und den Vereinigten Staaten im 21. Jahrhundert“. Diese.moDie kompilierten Dateien befinden sich im Verzeichnis der Plugins./languages/Im Verzeichnis lädt WordPress automatisch die entsprechenden Übersetzungen nach der Sprache der Website herunter.
Bereit zur Veröffentlichung im offiziellen Verzeichnis.
Wenn Sie planen, das Plugin in den offiziellen Plugin-Katalog von WordPress.org zu veröffentlichen, müssen Sie sicherstellen, dass der Code den vorgeschriebenen Standards entspricht. Dazu gehört unter anderem die Erstellung einer ausführlichen…readme.txtDie Dateien beschreiben das Plugin in einem spezifischen Format und enthalten Screenshots, Installationsanleitungen, FAQ sowie Aktualisierungsprotokolle. Das Plugin wird unter der GPL-Lizenz veröffentlicht und die Quellcode-Änderungen werden über das offizielle Subversion (SVN) Repository eingereicht. Vor der Veröffentlichung wird die Kompatibilität des Plugins mit verschiedenen Versionen von WordPress, PHP, beliebten Themes sowie anderen Plugins gründlich getestet.
Zusammenfassungen
Die Entwicklung von WordPress-Plugins ist ein schrittweiser Prozess, der von der Verpackung einfacher Funktionen bis zum Bau komplexer Anwendungen reicht. Sie beginnt mit einer PHP-Datei, die die richtigen Kopfzeilen-Anmerkungen enthält. Der Schlüssel zur erfolgreichen Entwicklung liegt darin, die Action-Hooks und Filter-Hooks geschickt zu nutzen, um mit dem WordPress-Kern zu interagieren. Durch die Nutzung der Settings-API kann die Backend-Verwaltungsoberfläche erstellt werden, wodurch das Plugin benutzerfreundlicher wird. Die Einhaltung von Sicherheitsbest Practices, die Implementierung von Internationalisierungsfunktionen sowie eine ordentliche Strukturierung des Codes bilden die Grundlagen für die Entwicklung professioneller Plugins. Egal, ob Sie die Anforderungen eines persönlichen Projekts erfüllen oder der Open-Source-Community beitragen möchten – das Beherrschen dieses Entwicklungsprozesses öffnet Ihnen die Tür zu großartigen Möglichkeiten der Anpassung von WordPress.
FAQ Häufig gestellte Fragen
Welche Vorkenntnisse sind erforderlich, um Plugins zu entwickeln?
Sie sollten über grundlegende PHP-Programmierkenntnisse verfügen, HTML und CSS verstehen sowie eine gewisse Ahnung von den grundlegenden Funktionen und Konzepten von WordPress haben (wie Artikel, Seiten, Widgets). Es ist hilfreich, sich auch mit den Grundkonzepten von MySQL-Datenbanken auszukennen – dies ist jedoch nicht zwingend erforderlich, da WordPress benutzerfreundliche Funktionen für die Datenbankverarbeitung bietet.WP_Query、wpdb(Klasse)
Was ist der Unterschied zwischen den functions.php-Dateien von Plugins und Themes?
Platzieren Sie den Code im Thema.functions.phpIn der Datei wird eine Methode beschrieben, um Funktionen schnell hinzuzufügen – allerdings sind diese Funktionen an ein bestimmtes Thema gebunden. Wenn Sie das Thema wechseln, gehen auch diese Funktionen verloren. Plugins hingegen sind unabhängig von den verwendeten Themen; solange sie aktiviert sind, sind ihre Funktionen immer verfügbar. Für Funktionen, die über einen längeren Zeitraum genutzt werden sollen oder auf mehreren Webseiten wiederverwendet werden müssen, ist es daher die bessere Wahl, sie als Plugins zu entwickeln.
Wie debugge ich den Code meines Plugins?
WordPress bietet eine Vielzahl an Debugging-Tools. Zunächst können Sie…wp-config.phpDie Datei wurde geöffnet.WP_DEBUGMuster, also „Patterns“.define( 'WP_DEBUG', true );Das wird alle PHP-Fehler, Warnungen und Benachrichtigungen auf dem Bildschirm anzeigen. Eine sicherere Methode ist es, beides gleichzeitig einzustellen.WP_DEBUG_LOGFürtrueFühren Sie die Fehlerprotokollierung durch…/wp-content/debug.logIm File. Darüber hinaus wird…error_log()Die Verwendung von Funktionen oder der Installation professioneller Debugging-Plugins wie Query Monitor ermöglicht es, Variablen sowie Datenbankabfragen effizienter nachzuvollziehen.
Wie kann mein Plugin mit höheren Versionen von PHP kompatibel sein?
Um sicherzustellen, dass das Plugin auch in zukünftigen Versionen von PHP ordnungsgemäß funktioniert, sollten Sie die Verwendung von veralteten oder entfernten Funktionen und Syntaxen vermeiden. In Ihrer lokalen Entwicklungsumgebung sollten Sie Tests unter Bedingungen durchführen, die mit den zukünftigen Zielversionen von PHP (z. B. PHP 8.x) übereinstimmen. Befolgen Sie stets die offiziellen Updates von WordPress und PHP und geben Sie in den Update-Log des Plugins an, für welche PHP-Versionen das Plugin kompatibel ist. Dies hilft den Nutzern dabei, die richtige Entwicklungsumgebung auszuwählen.
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.
- Wie wählt und passt man ein perfektes WordPress-Theme für sich selbst aus?
- WordPress-Plugin-Entwicklungshandbuch: Von Null zu Eins – Erstellen Sie Ihr erstes benutzerdefinierte Plugin
- Wie man ein WordPress-Plugin-Entwickler wird: Ein umfassender Leitfaden von Grund auf
- Vom Nullpunkt zum Erfolg: Ein umfassender Leitfaden und praktische Tipps für das Erstellen professioneller Websites mit WordPress
- Erlernen Sie die Entwicklung von WordPress-Themes: Ein vollständiger Leitfaden zum Erstellen professioneller Websites von Grund auf.