WordPress-Plugin-Entwicklungsumgebung und Grundlegende Vorbereitungen
Bevor du mit dem Schreiben des Codes beginnst, ist eine stabile und effiziente Entwicklungsumgebung von entscheidender Bedeutung. Sie verbessert nicht nur deine Entwicklungseffizienz, sondern hilft dir auch dabei, die besten Praktiken einzuhalten und die Qualität sowie die Kompatibilität deiner Plugins zu gewährleisten.
Zunächst benötigst du eine lokale WordPress-Entwicklungsumgebung. Du kannst dazu Tools wie XAMPP, MAMP, Local by Flywheel oder Docker verwenden, um diese schnell einzurichten. Stelle sicher, dass in deiner Umgebung eine neuere Version von PHP (empfohlen: 7.4 oder höher) sowie MySQL/MariaDB laufen. Eine lokale Entwicklungsumgebung ermöglicht es dir, frei zu testen und zu debuggen, ohne dass dies deine Online-Website beeinträchtigt.
Zweitens benötigst du einen Code-Editor oder eine integrierte Entwicklungsumgebung (IDE). Visual Studio Code, PhpStorm oder Sublime Text sind alle hervorragende Wahlmöglichkeiten – sie bieten Funktionen wie Syntaxhervorhebung, Code-Vorschläge und Debugging-Möglichkeiten. Außerdem empfiehlt es sich, einige Tools zur Verbesserung der Codequalität zu installieren, wie z. B. PHP_CodeSniffer, und die WordPress-Code-Standards einzurichten, um sicherzustellen, dass dein Code-Stil mit dem der WordPress-Core übereinstimmt.
Empfohlene Lektüre Eine vollständige Anleitung zur Entwicklung von WordPress-Plugins: vom Einstieg bis zum Erstellen professioneller Erweiterungen.。
Schließlich ist es der erste Schritt, die grundlegende Struktur von WordPress-Plugins zu verstehen. Ein einfaches Plugin benötigt lediglich eine Haupt-PHP-Datei, in deren Anfang spezifische Kommentare mit Informationen zum Plugin enthalten sind. Diese Datei dient als Eingangspunkt für das Plugin; WordPress erkennt und verarbeitet Ihr Plugin, indem es diese Informationen liest.
Erstellen Sie Ihre erste Plugin-Datei.
Lassen Sie uns mit der Erstellung des einfachsten “Hello World”-Plugins beginnen. Dieser Prozess wird Ihnen helfen, das grundlegende Framework von Plugins sowie die Art und Weise zu verstehen, wie WordPress Plugins erkennt.
Zunächst einmal, im Verzeichnis Ihrer WordPress-Installation:wp-content/pluginsIm Ordner erstellen Sie einen neuen Ordner. Der Name des Ordners sollte eindeutig und beschreibend sein und aus kleinen Buchstaben sowie Bindestrichen bestehen, zum Beispiel:my-first-plugin。
In diesem Ordner erstellen Sie eine Haupt-PHP-Datei, deren Name in der Regel dem Namen des Ordners entspricht, zum Beispiel:my-first-plugin.phpAm Anfang dieses Files müssen Sie einen Plugin-Hauptkommentar hinzufügen, der den WordPress-Standards entspricht. Dieser Kommentar dient als “Identifikationsmerkmal” des Plugins und enthält Informationen wie den Namen, die Beschreibung, die Version sowie den Autor. Ohne diesen Kommentar kann WordPress Ihr Plugin in der Liste der Plugins im Backend nicht finden.
Hier ist ein Beispiel für eine sehr einfache Plugin-Datei:
Empfohlene Lektüre Vom Nullpunkt aus: Warum sich für die Entwicklung von WordPress-Plugins entscheiden?。
<?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
*/
// 防止直接访问文件
if ( ! defined( 'ABSPATH' ) ) {
exit; // 如果ABSPATH未定义,则退出
} Nachdem Sie die Datei gespeichert haben, melden Sie sich in Ihrem WordPress-Backend an und gehen Sie auf die Seite “Plugins”. Dort sollten Sie “Mein erstes Plugin” in der Liste der Plugins sehen. Sie können es nun aktivieren – allerdings wird es zunächst keine Funktionen ausführen.if ( ! defined( ‘ABSPATH’ ) )Eine Überprüfung ist eine wichtige Sicherheitsmaßnahme, die verhindert, dass Benutzer direkt über die URL auf Ihre Plugin-Dateien zugreifen können. Dadurch wird sichergestellt, dass der Code nur im WordPress-Umfeld ausgeführt wird.
Die Kernfunktionen für das Plugin hinzufügen
Ein aktivierter Plugin muss bestimmte Aktionen ausführen. In WordPress wird dies hauptsächlich mithilfe von “Action Hooks” und “Filter Hooks” erreicht. Diese sind die Grundpfeiler der WordPress-Plugin-Architektur und ermöglichen es Ihnen, Ihren eigenen Code zu bestimmten Zeitpunkten einzufügen oder Daten zu ändern.
Mithilfe von Aktionshaken (Action Hooks) werden Benachrichtigungen in der Administraturoberfläche hinzugefügt.
Action Hooks ermöglichen es Ihnen, Ihre eigenen Funktionen zu ausführen, zu bestimmten Zeitpunkten während der Ausführung von WordPress – beispielsweise nach der Initialisierung, beim Laden des Seitenkopfes oder beim Speichern von Artikeln. Lassen Sie uns eine einfache Funktion hinzufügen, die eine Begrüßungsnachricht an der Oberseite des WordPress-Administrationsbereichs anzeigt.
Wir werden es verwenden.admin_noticesDieser Aktionshook: Zuerst müssen Sie eine Funktion erstellen, die HTML-Inhalt ausgibt, und anschließend diese Funktion verwenden.add_action()Die Funktion “montiert” diese Funktion an den Hook.
Fügen Sie den folgenden Code in Ihre Haupt-Plugin-Datei hinzu:
/**
* 在管理后台显示欢迎通知
*/
function myfp_display_admin_notice() {
?>
<div class="notice notice-success is-dismissible">
<p>Willkommen bei der Nutzung Ihres “ersten Plugins”! Das Plugin wurde erfolgreich aktiviert.</p>
</div>
<?php
}
// 将函数挂载到 admin_notices 动作钩子
add_action( 'admin_notices', 'myfp_display_admin_notice' ); Speichern Sie Ihre Änderungen und aktualisieren Sie das WordPress-Backend. An der oberen Seite sollten Sie dann ein grünes Erfolgsmeldungsfenster sehen. Beachten Sie dabei den Namen der Funktion.myfp_display_admin_noticeDer Präfix wurde verwendet.myfp_(Der Name ist eine Abkürzung des Pluginsnamens; dies dient dazu, Konflikte mit Funktionsnamen anderer Plugins oder Themes zu vermeiden. Es handelt sich um eine Namenskonvention, die unbedingt einzuhalten ist.)
Empfohlene Lektüre Komplettanleitung zum Entwickeln von WordPress-Plugins: Von Null an hochwertige Erweiterungen für WordPress erstellen。
Die Inhalte von Artikeln mithilfe von Filter-Hooks ändern
Filter-Hooks ermöglichen es Ihnen, die über WordPress übergebenen Daten zu ändern. Zum Beispiel können Sie den Inhalt, den Titel oder die Zusammenfassung eines Artikels vor der Anzeige bearbeiten. Lassen Sie uns eine Funktion erstellen, die automatisch einen Urheberrechtshinweis am Ende jedes Artikels hinzufügt.
Wir werden es verwenden.the_contentDieser Filter-Hook: Sie müssen einen Mechanismus erstellen, der die ursprüngliche Inhaltsdaten entgegennimmt…$contentDie Funktion für …, modifizieren Sie sie und geben Sie anschließend den geänderten Inhalt zurück.
Fügen Sie den folgenden Code in Ihre Plugin-Datei hinzu:
/**
* 在文章内容末尾添加版权声明
* @param string $content 原始的文章内容
* @return string 修改后的文章内容
*/
function myfp_add_copyright_to_content( $content ) {
// 仅对主循环中的单篇文章页面生效
if ( is_single() && in_the_loop() && is_main_query() ) {
$copyright_text = '<p><em>Das Urheberrecht dieses Artikels liegt bei dieser Website. Bei einer Weiterveröffentlichung ist ein Hinweis auf die Quelle erforderlich.</em></p>';
$content .= $copyright_text;
}
return $content;
}
// 将函数挂载到 the_content 过滤器钩子,优先级为10
add_filter( 'the_content', 'myfp_add_copyright_to_content', 10 ); Jetzt erscheint am unteren Rand des Inhalts jedes Artikels auf der Website die von Ihnen hinzugefügte Urheberrechtsangabe. Die Bedingungsprüfung in der Funktion sorgt dafür, dass diese Angabe nur dann angezeigt wird, wenn die entsprechenden Voraussetzungen erfüllt sind.is_single() && in_the_loop() && is_main_query()Sehr wichtig: Dies stellt sicher, dass dieser Text nur im Hauptzyklus der einzelnen Artikelseiten auf der Frontend-Seite angezeigt wird und nicht in der Startseite-Liste, in Widgets oder an anderen Stellen erscheint. Dies ist ein Detail, auf das bei der Entwicklung hochwertiger Plugins geachtet werden muss.
Plugin-Internationalisierung und Best Practices
Damit Ihr Plugin von Nutzern auf der ganzen Welt genutzt werden kann, ist die Internationalisierung (i18n) ein unerlässlicher Schritt. WordPress bietet umfassende Funktionen, um die Texte in Ihrem Plugin in andere Sprachen zu übersetzen.
Vorbereitung des Plugin-Textes zur Unterstützung der Übersetzung
Sie müssen eine bestimmte Funktion verwenden, um alle Zeichenketten zu umschließen, die im Plugin dem Benutzer angezeigt werden. Die am häufigsten verwendete Funktion ist…()Dient zum Abrufen der Übersetzung._e()Dient zum direkten Ausgeben der Übersetzung sowie…esc_html()Dient in Kontexten, in denen HTML-Code entschlossen werden muss.
Zuerst ändern wir den Text in den zuvor erstellten Benachrichtigungs- und Urheberrechtsfunktionen mithilfe der Übersetzungsfunktion.
function myfp_display_admin_notice() {
?>
<div class="notice notice-success is-dismissible">
<p><?php _e( '欢迎使用“我的第一个插件”!插件已成功激活。', 'my-first-plugin' ); ?></p>
</div>
<?php
}
function myfp_add_copyright_to_content( $content ) {
if ( is_single() && in_the_loop() && is_main_query() ) {
$copyright_text = '<p><em>' . esc_html__( '本文版权归本网站所有,转载请注明出处。', 'my-first-plugin' ) . '</em></p>'if (isset($$content)) {
$content .= $copyright_text;
}
return $content;
} Bitte beachten Sie, dass jede Übersetzungsfunktion einen zweiten Parameter enthält.‘my-first-plugin’Das ist das, was Sie im Kopfbereich des Plugins definiert haben.Text DomainEs handelt sich um einen eindeutigen Identifier, der WordPress mitteilt, zu welchem Plugin diese Zeichenketten gehören.
Danach müssen Sie dies in den Kommentaren am Anfang des Plugins angeben.Domain Path(d.h.)/languagesPlatzieren Sie die Übersetzungsdateien (.po- und .mo-Dateien) in der entsprechenden Ordnerstruktur. Sie können Tools wie Poedit verwenden, um diese Dateien zu erstellen und zu verwalten.
Befolgen Sie Sicherheits- und Code-Richtlinien.
Sicherheit ist von größter Bedeutung bei der Entwicklung von Plugins. Vertrauen Sie niemals den von Benutzern eingegebenen Daten. Beim Verarbeiten jeglicher Daten, die von Benutzern stammen, müssen Sie besonders vorsichtig sein.$_GET、$_POSToder$_REQUESTDie Daten müssen vor der Verarbeitung überprüft, bereinigt und entschlossen werden.
WordPress bietet eine Vielzahl von Funktionen, die Ihnen helfen:
* 验证(Validation):检查数据是否符合预期格式(如is_email())。
* 清理(Sanitization):清除数据中的非法字符(如sanitize_text_field(), sanitize_email())。
* 转义(Escaping):在将数据输出到HTML、JavaScript或URL之前,确保其安全(如esc_html(), esc_js(), esc_url())。
Außerdem ist es beim direkten Arbeiten mit der Datenbank unerlässlich, die WordPress-Datenbank-Klasse zu verwenden.$wpdbDie bereitgestellten Methoden, wie…$wpdb->prepare()Damit SQL-Injection-Angriffe verhindert werden.
Zusammenfassungen
Mit dieser Anleitung haben Sie den gesamten Prozess der Erstellung eines voll funktionsfähigen WordPress-Plugins von Grund auf durchlaufen. Sie haben gelernt, wie Sie eine geeignete Umgebung einrichten, die grundlegenden Plugin-Dateien erstellen, Funktionen für WordPress mithilfe von Aktionen und Filter-Hooks hinzufügen sowie die Professionalität und Benutzerfreundlichkeit Ihres Plugins durch Internationalisierung und Sicherheitsmaßnahmen verbessern. Der Kern der Plugin-Entwicklung besteht darin, das Hook-System von WordPress zu verstehen und geschickt zu nutzen – dieses bietet eine beispiellose Erweiterbarkeit und Flexibilität. Denken Sie daran: Beginnen Sie mit einfachen Funktionen, iterieren Sie schrittweise und legen Sie stets Wert auf Sicherheit sowie die Qualität des Codes. So können Sie ein leistungsstarkes und zuverlässiges WordPress-Plugin entwickeln.
FAQ Häufig gestellte Fragen
Muss ein Plugin unbedingt in einer eigenen Ordner abgelegt werden?
Nicht unbedingt. Ein sehr einfacher, einzeiliger Plugin kann die Daten direkt übertragen.plugin-name.phpPlatzieren Sie es…wp-content/plugins/Im Verzeichnis. Für Plugins, die mehrere Dateien enthalten (z. B. CSS, JS, Bilder oder Sprachdateien), wird jedoch dringend empfohlen, eine separate Ordnerstruktur zu verwenden, um alle relevanten Dateien zu organisieren. Dies macht die Struktur klarer und erleichtert die Verwaltung.
Wie erstelle ich eine Einstellungsseite für mein Plugin?
Sie können die von WordPress bereitgestellte Setup-API verwenden, um professionelle und sichere Einstellungsseiten zu erstellen. Die Hauptschritte umfassen:add_menu_page()oderadd_submenu_page()Die Funktion registriert eine Menüseite und verwendet sie anschließend.register_setting()、add_settings_section()undadd_settings_field()Verwenden Sie Funktionen wie `defineField` und `defineChapter`, um Felder und Abschnitte zu definieren. Zum Schluss schreiben Sie eine Callback-Funktion, die die HTML-Formulare der Einstellungsseite ausgibt.
Warum sind Präfixe bei der Entwicklung von Plugins so wichtig?
WordPress ist ein umfangreiches Ökosystem, das aus Plugins und Themes besteht. Der gesamte Code wird innerhalb desselben globalen Namensraums ausgeführt. Wenn Sie beispielsweise eine Variable mit dem Namen „myVariable“ definiert haben…get_data()Wenn eine normale Funktion in einer Anwendung existiert und ein anderes Plugin ebenfalls eine Funktion mit dem gleichen Namen definiert, kann dies zu einem fatalen Fehler führen, der dazu führt, dass die Website abstürzt. Die Verwendung eines eindeutigen Präfixes (z. B. einer Abkürzung des Plugin-Namens) kann solche Konflikte weitgehend vermeiden und die Kompatibilität der Plugins sicherstellen.
Wie sollte ich meinen Plugin-Code debuggen?
Bei der WordPress-Entwicklung ist das bevorzugte Tool zum Debuggen die Aktivierung von…WP_DEBUGSie können dies auf der Website tun.wp-config.phpIm File wird dies durch die entsprechende Einstellung erreicht.define( ‘WP_DEBUG’, true );Um es zu aktivieren, musst du bestimmte Einstellungen in deinem PHP-Server vornehmen. Dadurch werden alle PHP-Fehler, Warnungen und Benachrichtigungen auf dem Bildschirm angezeigt. Für eine noch detailliertere Fehlersuche kannst du zusätzliche Debugging-Tools verwenden.error_log()Die Funktion schreibt die Informationen in das Fehlerprotokoll des Servers oder verwendet professionelle PHP-Debugging-Tools wie Xdebug in Kombination mit Ihrer IDE für eine Zeile für Zeile durchgeführte Debugging-Aktion.
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
- Komplettanleitung zur Entwicklung von WordPress-Plugins: Von der Grundlagenkenntnis bis zur Meisterschaft – Erstellen Sie professionelle Erweiterungen