Grundlagen der WordPress-Plug-in-Entwicklung und Vorbereitung der Umgebung
Bevor Sie mit dem Schreiben von Code beginnen, ist es von entscheidender Bedeutung, die grundlegenden Konzepte von WordPress-Plugins zu verstehen und eine geeignete Entwicklungsumgebung einzurichten. Ein WordPress-Plugin ist im Grunde genommen eine Sammlung aus einem oder mehreren PHP-Dateien, die über das von WordPress bereitgestellte Hook-System die Kernfunktionen erweitern oder ändern können. Plugins können einfach sein – beispielsweise nur einen kurzen Code hinzufügen – oder auch sehr komplex, wie zum Beispiel ein vollständiges E-Commerce-System.
Der Kern der Entwicklungsumgebung besteht darin, eine lokale Serverumgebung einzurichten. Sie können Tools wie XAMPP, MAMP, Local by Flywheel oder Docker verwenden, um schnell eine lokale WordPress-Installation mit PHP, MySQL sowie Apache/Nginx aufzubauen. Stellen Sie sicher, dass Ihre PHP-Version mit der derzeit von WordPress offiziell empfohlenen Version übereinstimmt. Was Code-Editoren betrifft, so sind Visual Studio Code, PhpStorm oder Sublime Text hervorragende Wahlmöglichkeiten – sie bieten Funktionen wie Syntaxhervorhebung, Code-Vorschläge und Debugging-Unterstützung, was die Entwicklungseffizienz erheblich verbessert.
Ein standardmäßiges WordPress-Plugin muss mindestens eine Haupt-PHP-Datei enthalten, und der Anfang dieser Datei sollte spezifische Kommentare mit Informationen zum Plugin enthalten. Diese Kommentare sind entscheidend dafür, dass WordPress das Plugin erkennen kann. Zudem ist es zwar nicht zwingend erforderlich, aber es ist eine sehr gute Praxis, für Ihr Plugin einen eigenen Verzeichnis zu erstellen. Dies erleichtert die Verwaltung von Ressourcendateien, Sprachpaketen und anderen Abhängigkeiten.
Empfohlene Lektüre WordPress-Plugin-Entwicklung von Anfang bis Ende: Ein vollständiger Leitfaden zur Erstellung einer personalisierten Website。
Erstellen Sie Ihre erste Plugin-Datei.
Jetzt lassen Sie uns anfangen, die Kerndatei des ersten Plugins zu erstellen. Zuerst müssen Sie in den Installationsordner von WordPress gehen./wp-content/plugins/Ordner: Hier erstellen Sie einen neuen Ordner für Ihr Plugin – nennen Sie ihn beispielsweise „my-plugin“.my-first-plugin。
In diesem Ordner erstellen Sie eine Haupt-PHP-Datei. In der Regel trägt diese Haupt-Datei den gleichen Namen wie der Ordner mit den Plugins, zum Beispiel…my-first-plugin.phpDer Anfang dieses Files muss die standardmäßigen Plugin-Header-Informationen enthalten.
<?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
*/ Diese Anmerkung enthält alle notwendigen Metadaten für das WordPress-Plugin-Backend. Nachdem Sie die Datei gespeichert haben, können Sie das Plugin auf der “Plugins”-Seite im WordPress-Backend sehen und aktivieren. Derzeit verfügt das Plugin noch über keine Funktionen, aber die Struktur ist bereits vorhanden.
Für das Plugin eine einfache Funktion hinzufügen
Nach der Aktivierung des Plugins fügen wir ihm die erste tatsächliche Funktion hinzu: Die Anzeige einer benutzerdefinierten Zeile von Text am Fuß der Website-Seite. Dafür werden wir WordPress verwenden.wp_footerHaken.
Im Hauptdatei des Pluginsmy-first-plugin.phpUnter der Kopfzeile-Anmerkung fügen Sie den folgenden Code hinzu:
Empfohlene Lektüre WordPress-Plugins von Grund auf erlernen: Benutzerdefinierte Funktionen und Erweiterungen erstellen。
// 在网站页脚输出自定义文本
function mfp_add_footer_text() {
echo '<p style="text-align: center; color: #666;">Vielen Dank, dass Sie diese Website nutzen! Die Website wird von “Mein erster Plugin” unterstützt.</p>';
}
add_action( 'wp_footer', 'mfp_add_footer_text' ); Hier,mfp_add_footer_textEs handelt sich um eine von uns definierte Funktion, die den zu ausgebenden HTML-Inhalt enthält.add_action()Es handelt sich um die Kernfunktion, die verwendet wird, um Aktionshaken (“Action Hooks”) hinzuzufügen. Mit dieser Funktion wird unsere eigene Funktion an das WordPress-Kernsystem „angebunden“ („gemounted“), sodass sie bei bestimmten Ereignissen im WordPress-System automatisch ausgeführt werden kann.wp_footerAn diesem Ausführungspunkt: Speichere die Datei und aktualisiere die Website-Frontend-Seite. Dann wirst du diese Zeile von Text am unteren Rand der Seite sehen.
Inhaltsbearbeitung mit der Erweiterung durch Shortcodes
Shortcodes sind eine leistungsstarke Funktion von WordPress, die es Nutzern ermöglicht, dynamische Inhalte mithilfe einfacher Tags in Artikeln oder Seiten einzufügen. Im Folgenden erstellen wir einen einfachen Shortcode, um den aktuellen Datum anzuzeigen.
In derselben Hauptdatei fügen Sie den folgenden Code hinzu:
// 创建一个显示当前日期的短代码
function mfp_show_current_date( $atts ) {
// 定义短码的默认属性
$attributes = shortcode_atts(
array(
'format' => 'Y年m月d日',
),
$atts
);
// 根据属性中的格式返回日期
return date( $attributes['format'] );
}
add_shortcode( 'show_date', 'mfp_show_current_date' ); Funktionmfp_show_current_dateDie Logik zur Definition von Kurzzeichen wurde definiert.shortcode_atts()Die Funktion dient dazu, benutzerdefinierte Eigenschaften mit Standardeigenschaften zu kombinieren, um die Robustheit des Codes zu gewährleisten. Abschließend…add_shortcode()Die Funktion wird…[show_date]Diese Kennzeichnung wird mit unserer benutzerdefinierten Verarbeitungsfunktion verknüpft.
Jetzt können Sie in jedem Artikel, auf jeder Seite oder in jedem Texteditor für kleine Hilfsmittel Text eingeben.[show_date]Um das Datum im Standardformat anzuzeigen, oder um eine andere Formatierung zu verwenden…[show_date format="F j, Y"]Damit der Datum in englischer Format angezeigt wird.
Ein tieferes Verständnis von Hooks und Filtern
Die Kernphilosophie der WordPress-Plugin-Entwicklung basiert auf sogenannten “Hooks”. Es gibt zwei Arten von Hooks: Action-Hooks und Filter-Hooks. Die haben wir bereits zuvor verwendet.add_action()Es geht einfach darum, einen Aktionshaken (Action Hook) hinzuzufügen.
Empfohlene Lektüre Von Grund auf: Erstellen Sie Ihr erstes WordPress-Plugin。
Action-Hooks führen Ihren Code zu einem bestimmten Zeitpunkt aus und erwarten keine Rückgabewerte. Sie werden typischerweise verwendet, um Inhalte auszugeben oder Aufgaben auszuführen – beispielsweise um Text am Fuß einer Seite anzufügen. Filter-Hooks hingegen dienen dazu, Daten zu modifizieren. Sie erhalten einen Wert, der nach der Verarbeitung durch Ihre Funktion eine geänderte Form annehmen muss.
Die Artikelüberschriften werden mit Hilfe von Filtern geändert.
Lassen Sie uns einen Filter erstellen, der automatisch einen Präfix zu allen Artikeltiteln hinzufügt. Fügen Sie dies in die Hauptdatei des Plugins hinzu:
// 使用过滤器为文章标题添加前缀
function mfp_add_title_prefix( $title, $id = null ) {
// 确保只在主循环且是文章页面的标题上生效
if ( in_the_loop() && is_single() && get_post_type( $id ) === 'post' ) {
$title = '【推荐阅读】' . $title;
}
return $title;
}
add_filter( 'the_title', 'mfp_add_title_prefix', 10, 2 ); Hier,the_titleEs handelt sich um einen Filter-Hook.add_filter()Der dritte Parameter “10” gibt die Priorität an (je kleiner die Zahl, desto früher wird die Aktion ausgeführt), und der vierte Parameter “2” zeigt an, dass unsere Verarbeitungsfunktion zwei Argumente entgegennimmt (die ursprünglichen Werte).$title(Das Argument enthält die Artikel-ID.) Diese Funktion überprüft die Bedingungen und fügt dem Titel nur dann einen Präfix hinzu, wenn sich auf der Seite nur ein einziger Artikel befindet und der Code sich innerhalb der Hauptschleife befindet.
Plugin-Sicherheit und Best Practices
Bei der Entwicklung von Plugins ist Sicherheit das wichtigste zu berücksichtigende Kriterium. Vertrauen Sie niemals den von den Nutzern eingegebenen Daten – diese müssen stets überprüft, gereinigt und entsprechend formatiert („geescaped“) werden.
Datensüberprüfung und -entschlüsselung
Wenn ein Plugin Daten aus einem Formular oder einer URL verarbeiten muss, müssen die von WordPress bereitgestellten Sicherheitsfunktionen verwendet werden. Zum Beispiel:sanitize_text_field()Um die Texteingabe zu bereinigen, verwenden Sie…esc_html()oderesc_attr()Um Cross-Site-Scripting (XSS)-Angriffe zu verhindern, werden HTML-Code oder Attribute ausgeschlossen.
Implementieren Sie eine einfache Einstellungsseite.
Ein vollständiges Plugin benötigt in der Regel eine Seite für die Backend-Einstellungen. Hier wird gezeigt, wie man eine einfache Optionenseite erstellt und eine Einstellung sicher speichert.
// 在后台管理菜单中添加一个选项页面
function mfp_add_admin_menu() {
add_options_page(
'我的第一个插件设置', // 页面标题
'我的插件设置', // 菜单标题
'manage_options', // 权限要求
'my-first-plugin', // 菜单slug
'mfp_options_page_html' // 用于显示页面内容的回调函数
);
}
add_action( 'admin_menu', 'mfp_add_admin_menu' );
// 注册一个设置项
function mfp_settings_init() {
register_setting( 'mfpPlugin', 'mfp_settings' ); // 设置组,选项名
add_settings_section(
'mfp_plugin_section', // 区块ID
'基础设置', // 区块标题
null, // 区块介绍的回调函数(此处为null)
'my-first-plugin' // 所属页面slug
);
add_settings_field(
'custom_text', // 字段ID
'自定义显示文本', // 字段标签
'mfp_custom_text_field_html', // 用于输出字段HTML的回调函数
'my-first-plugin', // 页面slug
'mfp_plugin_section' // 所属区块ID
);
}
add_action( 'admin_init', 'mfp_settings_init' );
// 渲染设置字段的HTML
function mfp_custom_text_field_html() {
$options = get_option( 'mfp_settings' );
$value = isset( $options['custom_text'] ) ? esc_attr( $options['custom_text'] ) : '';
?>
<input type='text' name='mfp_settings[custom_text]' value='<?php echo $value; ?>'>
<p class="description">Der hier eingegebene Text wird im Fußbereich der Seite angezeigt.</p>
<?php
}
// 渲染整个选项页面的HTML
function mfp_options_page_html() {
// 检查用户权限
if ( ! current_user_can( 'manage_options' ) ) {
return;
}
?>
<div class="wrap">
<h1>\n</h1>
<form action="/de/options.php/" method="post" data-trp-original-action="options.php">
<?php
settings_fields( 'mfpPlugin' ); // 输出安全字段
do_settings_sections( 'my-first-plugin' ); // 输出设置区块和字段
submit_button( '保存设置' );
?>
<input type="hidden" name="trp-form-language" value="de"/></form>
</div>
<?php
} Dieser Code erstellt eine Unterseite, die sich im “Einstellungen”-Menü befindet und dazu dient, einen benutzerdefinierten Text zu speichern. Beachten Sie die Überprüfung der Benutzerrechte, die darin durchgeführt wird.current_user_can) sowie die Entschlüsselung der ausgegebenen Daten (esc_html, esc_attrAll diese Maßnahmen sind Teil guter Sicherheitspraktiken. Danach kannst du die Funktionen anpassen, die zuvor im Fußbereich der Seite ausgegeben wurden.get_option( 'mfp_settings' )Diesen Wert wird aus der Datei gelesen, um eine dynamische Anzeige zu ermöglichen.
Zusammenfassungen
Durch dieses Tutorial hast du den gesamten Prozess der Erstellung eines voll funktionsfähigen WordPress-Plugins von Grund auf durchlaufen. Du hast gelernt, wie die grundlegende Dateistruktur eines Plugins aufgebaut wird, sowie wie Action-Hooks eingesetzt werden.add_actionIn den Fußbereich des Seitenlayouts Inhalte hinzufügen, indem man…add_shortcodeErstellen Sie benutzerdefinierte Kurzcodes sowie nutzen Sie Filter-Hooks.add_filterDie Daten des Artikels wurden geändert. Noch wichtiger ist, dass Sie die Kernkonzepte der Plugin-Sicherheit kennengelernt haben und praktisch gelernt haben, wie man eine sichere Backend-Einstellungsseite erstellt, um Plugin-Optionen zu verwalten.
Die Entwicklung von Plugins ist ein kontinuierlicher Prozess des Lernens und der Praxis. Als nächstes kannst du versuchen, deinem Plugin Internationalisierungsunterstützung hinzuzufügen (indem du …).__()und_e()Funktionen einbinden, JavaScript- und CSS-Ressourcen laden oder die Codestruktur mithilfe objektorientierter Programmierung (OOP) umstrukturieren, um eine bessere Wartbarkeit und Erweiterbarkeit zu gewährleisten. Denken Sie daran: Das Lesen der offiziellen WordPress-Plugin-Dokumentationen sowie des Kerncodes ist der beste Weg, Ihre Fähigkeiten zu verbessern.
FAQ Häufig gestellte Fragen
Wie debugge ich mein WordPress-Plugin?
Der erste Schritt besteht darin, den Debugging-Modus von WordPress zu aktivieren. Auf der Website…wp-config.phpIn der Datei wird Folgendes festgelegt:WP_DEBUGDie Konstante ist auftruePHP-Fehler, Warnungen und Benachrichtigungen werden direkt auf der Seite angezeigt. Für eine umfassendere Fehlersuche kann man weitere Werkzeuge verwenden.error_log()Die Funktion schreibt die Informationen in das Fehlerprotokoll des Servers oder verwendet professionelle Debugging-Tools wie Query Monitor, um Daten zu Datenbankabfragen, Ausführung von Hook-Funktionen sowie Leistungsdaten anzuzeigen.
Wie kann mein Plugin mit verschiedenen Versionen von WordPress kompatibel sein?
Im Plugin-Code solltest du Bedingungen prüfen, um die Verfügbarkeit von WordPress-Kernfunktionen, Klassen oder Konstanten zu überprüfen, bevor du sie verwendet. Dafür kannst du entsprechende Tests einsetzen.function_exists()、class_exists()oderdefined()Führen Sie eine Bewertung durch. Gleichzeitig, in Bezug auf das Plugin…readme.txtIn der Datei wird ausdrücklich die minimale WordPress-Version angegeben, die Ihr Plugin unterstützt.Requires at leastDiese Felder helfen den Nutzern dabei, die Kompatibilität zu verstehen.
Muss man für die Entwicklung von Plugins objektorientierte Programmierung verwenden?
Es ist nicht zwingend notwendig. Du kannst auch rein prozedurale Programmierung verwenden (wie in den Beispielen dieses Tutorials) zur Entwicklung von voll funktionsfähigen Plugins. Der Hauptvorteil der objektorientierten Programmierung (OOP) liegt in einer besseren Strukturierung des Codes, der Verpackung von Funktionen sowie der Wiederverwendbarkeit – was insbesondere bei großen, komplexen Plugin-Projekten von Vorteil ist. Für kleine Plugins kann prozedurale Programmierung jedoch einfacher und direkter sein. Du kannst je nach Größe und Komplexität des Projekts die geeignete Methode auswählen.
Wie kann ich meine Erweiterung im offiziellen WordPress-Plugin-Verzeichnis veröffentlichen?
Zunächst müssen Sie sich bei WordPress.org registrieren und Ihr Plugin einreichen. Der Code Ihres Plugins muss den offiziellen Codestandards und -richtlinien entsprechen – dies beinhaltet Aspekte wie Sicherheit, das Fehlen von bösartigem Code sowie die Verwendung einer mit der GPL kompatiblen Lizenz. Außerdem müssen Sie eine detaillierte Beschreibung Ihres Plugins erstellen.readme.txtDie Dateien müssen bereitgestellt werden, und es muss sichergestellt werden, dass die Kommentare am Anfang der Hauptdatei des Plugins den geltenden Standards entsprechen. Nach der Einreichung werden die Dateien von Freiwilligen des Plugin-Review-Teams überprüft. Sobald die Überprüfung abgeschlossen ist, kann das Plugin veröffentlicht werden.
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