Grundlagen der WordPress-Plugin-Entwicklung und Einrichtung der Entwicklungsumgebung
WordPress-Plugins sind unabhängige Codepakete, die die Kernfunktionen von WordPress erweitern. Um mit der Entwicklung zu beginnen, ist es erst einmal notwendig, eine professionelle lokale Entwicklungsumgebung einzurichten. Dazu gehören in der Regel die Installation von lokalen Serverprogrammen (wie XAMPP, MAMP oder Local by Flywheel), einem Code-Editor (wie VS Code oder PhpStorm) sowie einer installierten Version von WordPress zum Testen. Die Nutzung einer lokalen Umgebung verhindert die Risiken, die mit experimentellen Änderungen an einer Online-Website verbunden sein können.
Nach der Vorbereitung ist es sehr einfach, den ersten Plugin zu erstellen. Sie müssen lediglich in WordPress…wp-content/pluginsErstellen Sie im Verzeichnis ein neues Verzeichnis, zum Beispiel…my-first-pluginErstellen Sie dann innerhalb dieses Ordners eine Haupt-PHP-Datei, deren Name in der Regel dem Namen des Ordners entspricht. Am Anfang dieser Hauptdatei müssen standardisierte Kommentare für die Plugin-Header enthalten sein – diese sind entscheidend dafür, dass WordPress das Plugin erkennt.
Die notwendige Struktur der Hauptdatei eines Plugins
Die Hauptdatei eines Plugins ist der Einstiegspunkt des Plugins, und der Kommentarblock am Anfang dieser Datei enthält eine Reihe von Metadaten.Plugin NameDies ist das einzige erforderliche Feld; es wird in der Liste der Plugins im WordPress-Backend angezeigt. Ein sehr einfaches Plugin kann nur diese Metadaten enthalten und keinen tatsächlich ausführbaren Code.
Empfohlene Lektüre Die vollständige Anleitung zur Entwicklung von WordPress-Plugins: Ein praktischer Leitfaden von den Grundlagen bis hin zur Expertenebene。
Hier ist ein Beispielcode für eine sehr einfache Plugin-Datei:
<?php
/**
* Plugin Name: 我的第一个插件
* Description: 这是一个用于学习的简单WordPress插件。
* Version: 1.0.0
* Author: 你的名字
* License: GPL v2 or later
* Text Domain: my-first-plugin
*/ Nachdem Sie den oben genannten Code gespeichert haben, melden Sie sich im WordPress-Backend auf der Seite “Plugins” an. Dort werden Sie das neue Plugin sehen und es aktivieren können. Obwohl es derzeit noch keine Funktionen ausführt, markiert dies den offiziellen Beginn des Entwicklungsprozesses.
Core Mechanism: Action Hooks and Filters
Die Kernphilosophie der WordPress-Plugin-Entwicklung ist das Konzept der “Hooks”. Diese ermöglichen es, den eigenen Code zu bestimmten Zeitpunkten oder an bestimmten Stellen des WordPress-Systems einzubinden, um auf bestimmte Daten zu reagieren. Hooks werden hauptsächlich in zwei Kategorien eingeteilt: Actions und Filters.
Aktionshaken (Action Hooks) führen Ihre benutzerdefinierten Funktionen aus, wenn bestimmte Ereignisse eintreten – beispielsweise nach der Veröffentlichung eines Artikels oder beim Laden von Skripten im Kopfbereich einer Seite. Sie dienen dazu, bestimmte Aktionen auszuführen.add_action()Die Funktion ermöglicht es, Ihre eigene Funktion an einen bestimmten Aktionshaken („action hook“) zu binden.
Mit Action-Hooks Funktionen hinzufügen
Zum Beispiel, wenn Sie einen benutzerdefinierten Text am Fuß der Webseite hinzufügen möchten, können Sie dies mithilfe der entsprechenden Funktionen tun.wp_footerDieser Aktionshook: Zuerst müssen Sie in der Haupt-Plugin-Datei eine benutzerdefinierte Funktion schreiben und diese anschließend verwenden.add_action()Binden Sie es an den Haken.
Empfohlene Lektüre Mastering WordPress Plugin Development: Erstellen Sie Ihr erstes eigenes Plugin von Null auf Eins。
Hier ist ein Beispiel für die Implementierung:
function myplugin_add_footer_text() {
echo '<p style="text-align:center;">Vielen Dank, dass Sie diese Website nutzen!</p>';
}
add_action( 'wp_footer', 'myplugin_add_footer_text' ); Wenn WordPress auf diese Zeile stößt…wp_footerWenn der Hook aktiviert wird, wird die entsprechende Funktion automatisch aufgerufen.myplugin_add_footer_text()Funktion: Gibt den von Ihnen definierten Text aus.
Daten mithilfe von Filter-Hooks ändern
Filter-Hooks dienen dazu, Daten zu verändern. Sie werden angewendet, bevor die Daten verwendet werden – beispielsweise bei der Speicherung in einer Datenbank oder bei der Ausgabe in einem Browser. Sie werden genutzt, um bestimmte Aspekte der Daten zu modifizieren.add_filter()Sie können Filter mithilfe von Funktionen anwenden. Beispielsweise können Sie alle Artikeltitel ändern, indem Sie ihnen vor der Anzeige ein Präfix hinzufügen.
Der folgende Code zeigt, wie man allen Artikeltiteln ein “[Empfohlen]”-Präfix hinzufügt:
function myplugin_modify_title( $title ) {
if ( is_single() ) {
$title = '[推荐] ' . $title;
}
return $title;
}
add_filter( 'the_title', 'myplugin_modify_title' ); Nachdem Sie das Plugin erstellt haben, erstellen Sie eine Backend-Verwaltungsseite für das Plugin.
Viele Plugins müssen dem Benutzer Konfigurationsoptionen bieten, was die Erstellung von Administrationsmenüs und Einstellungsseiten im WordPress-Backoffice erfordert. WordPress bietet eine Reihe von Funktionen zum Hinzufügen von Hauptmenüs oder Untermenüelementen.
Hinzufügen des obersten Verwaltungsmenüs
Sie können es verwenden.add_menu_page()Die Funktion erstellt ein eigenständiges Hintergrundmenü für Ihr Plugin. Diese Funktion benötigt mehrere Parameter, darunter den Seitentitel, den Menütitel, die Benutzerberechtigungen, den Menüalias, einen Callback zur Generierung von Seiteninhalten usw.
Empfohlene Lektüre Ich zeige Ihnen Schritt für Schritt, wie Sie WordPress-Plugins von Grund auf beherrschen.。
Hier ist die Rückruffunktionmyplugin_settings_page_htmlEr ist für die Ausgabe des HTML-Inhalts der Einstellungsseite verantwortlich.
Der Code zum Hinzufügen eines Menüs muss normalerweise an einem bestimmten Ort im Quellcode platziert werden.admin_menuDieser Aktions-Hook wird verwendet, um sicherzustellen, dass er beim Initialisieren der Verwaltungsoberfläche ausgeführt wird.
Erstellung einer Einstellungsseite und eines Sicherheitsformulars
Auf der Einstellungsseite müssen Sie ein Formular ausgeben und die Übermittlung des Formulars verarbeiten. WordPress bietet eine Einstellungs-API, um diesen Prozess zu vereinfachen, und sie kann die Registrierung, Speicherung und Darstellung von Optionen sicher verarbeiten. Um jedoch die Grundprinzipien zu verstehen, können wir zunächst ein einfaches Beispiel für die manuelle Verarbeitung von Formularübermittlungen betrachten.
Der folgende Code zeigt, wie man eine einfache Einstellungsseite mit Eingabefeldern erstellt und die Daten sicher speichert:
Funktion myplugin_settings_page_html() {
// Überprüfen der Benutzerberechtigungen
if ( ! current_user_can( 'manage_options' ) ) {
return;
}
// Verarbeiten von Formular-Submissionen
if (isset( $_POST['myplugin_option'] )) {
// Sicherheitscheck: Überprüfen der Zufallszahl
check_admin_referer( 'myplugin_save_settings' );
// Daten bereinigen und speichern
$option_value = sanitize_text_field( $_POST['myplugin_option'] );
update_option( 'myplugin_custom_option', $option_value );
echo '<div class="notice notice-success"><p>Die Einstellungen wurden gespeichert!</p></div>'
<div class="wrap">
<h1>Meine Plugin-Einstellungen</h1>
<form method="post" action="">
<?php wp_nonce_field( 'myplugin_save_settings' ); ?>
<label for="myplugin_option">Optionen:</label>
<input type="text" id="myplugin_option" name="myplugin_option" value="<?php echo esc_attr( $saved_value ); ?>" />
<input type="hidden" name="trp-form-language" value="de"/></form>
</div>
<?php
} Erweiterte Entwicklung und Plugin-Veröffentlichung
Wenn die Funktionalität des Plugins komplexer wird, ist eine gute Codeorganisation von entscheidender Bedeutung. Es wird empfohlen, objektorientierte Programmierung (OOP) zu verwenden und die Funktionalität des Plugins in Klassen zu kapseln. Dies hilft, Konflikte bei Funktionsnamen zu vermeiden und sorgt für eine klarere und leichter wartbare Code-Struktur.
Die Internationalisierung von Plugins ist der Schlüssel zur globalen Präsenz. Verwenden Sie__()und_e()Die Funktionen wrap und show wrapen alle benutzerorientierten Texte und zeigen sie anschließend an.load_plugin_textdomain()Der Funktion wird der Übersetzungsdatei geladen. Sie muss in den Kommentaren zum Plugin-Header korrekt eingerichtet sein.Text DomainDas ist auch notwendig.
Vorbereitungen vor der Veröffentlichung des Plugins
Bevor das Plugin in den offiziellen Katalog eingetragen oder verbreitet wird, muss es gründlich getestet werden. Dies beinhaltet Kompatibilitätstests unter verschiedenen PHP-Versionen, WordPress-Versionen und verschiedenen Kombinationen von Themen und Plugins. Der Code sollte den WordPress-Programmierstandards entsprechen und über ausreichende Sicherheitsvorkehrungen verfügen, um alle Benutzereingaben zu validieren, zu bereinigen und zu entkommen.
Schreiben Sie klare Anweisungen für das Plugin.README.txtDokumente, die ihre Funktionen, die Installationsanleitung, häufig gestellte Fragen usw. erklären. Abschließend wird der Code in eine ZIP-Datei gepackt, die dann entweder im WordPress.org-Plugin-Verzeichnis eingereicht oder auf der eigenen Website veröffentlicht werden kann.
Zusammenfassungen
Die Entwicklung von WordPress-Plugins beginnt mit dem Verständnis der grundlegenden Hook-Mechanismen, führt über die Erstellung von Administrationsoberflächen und die Organisation der Code-Struktur bis hin zur sicheren Veröffentlichung. Die Beherrschung der Verwendung von Aktionen und Filter-Hooks ist von zentraler Bedeutung, da sie die Schnittstelle zur Interaktion mit WordPress darstellen. Ob es darum geht, eine einfache Funktion hinzuzufügen oder komplexe kommerzielle Plugins zu erstellen – die Einhaltung sicherer Codierungsstandards, ausreichende Tests und die Berücksichtigung von Internationalisierung sind der Schlüssel zum Erfolg. Durch kontinuierliche Praxis werden Sie in der Lage sein, leistungsstarke, stabile und beliebte WordPress-Plugins zu erstellen.
FAQ Häufig gestellte Fragen
Muss man PHP lernen, bevor man Plugins entwickelt?
Ja, solide Grundkenntnisse in PHP sind eine Voraussetzung für die Entwicklung von WordPress-Plugins. Denn WordPress selbst und die meisten seiner Plugins sind in PHP geschrieben. Sie müssen die Konzepte der PHP-Syntax, Funktionen, Variablen, Arrays und objektorientierten Programmierung verstehen, um Plugin-Code effektiv zu schreiben und zu debuggen.
Wie kann ich verhindern, dass die Namen meiner Plugin-Funktionen mit denen anderer Plugins kollidieren?
Die beste Methode, um Konflikte bei Funktionsnamen zu vermeiden, besteht darin, objektorientierte Programmierung zu verwenden und alle Ihre Funktionen in Methoden einer Klasse zu kapseln. Wenn Sie prozedurale Programmierung verwenden, sollten Sie allen Funktionsnamen ein eindeutiges Präfix hinzufügen, das normalerweise mit dem Namen oder der Abkürzung Ihres Plugins verknüpft ist, z. B.myplugin_odermp_Das kann die Wahrscheinlichkeit von Namenskonflikten erheblich verringern.
Warum verschwindet meine Plugin-Einstellung, wenn ich die Seite nach dem Speichern aktualisiere?
Dies liegt normalerweise daran, dass die Überprüfung der Zufallszahl bei der Formularübermittlung nicht ordnungsgemäß durchgeführt wurde. Vor dem Speichern der Formulardaten muss die Zufallszahl überprüft werden.check_admin_referer()oderwp_verify_nonce()Eine Funktion zur Überprüfung von Zufallszahlen, um sicherzustellen, dass die Anfrage von einer legitimen Quelle stammt, und um Cross-Site-Request-Forgery-Angriffe zu verhindern. Wenn die Überprüfung fehlschlägt, verhindert WordPress, dass die Daten gespeichert werden.
Wie kann ich sicherstellen, dass der Text meines Plugins in andere Sprachen übersetzt werden kann?
Sie müssen alle benutzerorientierten Zeichenketten im Plugin internationalisieren. Verwenden Sie dazu__()Der Funktion wird die Übersetzung des Strings übergeben, oder sie wird verwendet, um die Übersetzung eines Strings zu erhalten._e()Die Funktion gibt die Übersetzung direkt aus. Sie müssen die Übersetzung auch beim Initialisieren des Plugins (z. B. beim Mounten auf <) bereitstellen.plugins_loadedDer Aufruf des Hooksload_plugin_textdomain()Funktionen zum Laden der entsprechenden Sprachdateien. Tools wie Poedit können Ihnen beim Erstellen helfen..potTemplate-Dateien und.po/.moTranslate the file.
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.
- 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
- Komplettanleitung zur Entwicklung von WordPress-Plugins: Von der Grundlagenkenntnis bis zur Meisterschaft – Erstellen Sie professionelle Erweiterungen
- WordPress-Plugin-Entwicklung von der Grundlage bis zur Meisterschaft: Erstellen Sie Ihr erstes benutzerdefiniertes Plugin
- Vom Nullpunkt zum Erreichen des ersten Erfolgs: Ein umfassender Leitfaden zur schrittweisen Entwicklung deines ersten WordPress-Plugins