WordPress-Plugins sind der Kern der Erweiterung der Website-Funktionen. Sie ermöglichen es Ihnen, neue Funktionen auf modulare Weise hinzuzufügen, ohne den Kern-Code von WordPress ändern zu müssen. Durch die Entwicklung Ihrer eigenen Plugins können Sie vollständig personalisierte Funktionen erstellen, die spezifischen Anforderungen besser erfüllen und mit anderen Themes und Plugins kompatibel sein. Diese Anleitung wird Sie durch den gesamten Prozess der Erstellung eines funktionsreichen und strukturiert aufgebauten WordPress-Plugins führen.
Die grundlegende Struktur und Normen von WordPress-Plugins
Ein standardisiertes WordPress-Plugin muss einer bestimmten Dateistruktur und -spezifikationen folgen, um sicherzustellen, dass es vom WordPress-System korrekt erkannt, sicher betrieben werden kann und sich leicht warten lässt.
Erstellen Sie die Hauptdatei des Plugins.
Jeder Plugin muss eine Haupt-PHP-Datei haben, deren Name in der Regel dem Namen des Plugin-Verzeichnisses entspricht. Am Anfang dieser Datei muss ein spezifisches Header-Comment mit Informationen zum Plugin enthalten sein, anhand dessen WordPress das Plugin erkennen kann.
Empfohlene Lektüre Tiefgehende Analyse der WordPress-Plug-in-Entwicklung: vom Einstieg bis hin zu effizienter Anpassung.。
Erstellen Sie im Plugin-Verzeichnis eine Datei mit dem Namen… my-first-plugin.php Die Datei und fügen Sie die folgenden Kopfinformationen hinzu:
<?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
*/ Befolgen Sie die besten Sicherheitspraktiken.
Der Code aller Plugins sollte in Sicherheitsprüfungen einbezogen werden, um zu verhindern, dass er direkt zugänglich wird. Außerdem sollten alle Funktionen, Klassen und Konstanten mit einem eindeutigen Präfix benannt werden, um Konflikte mit dem Hauptthema oder anderen Plugins zu vermeiden.
Im Hauptdatei des Plugins sollte der Sicherheitscode unmittelbar nach den Kopfkommentaren hinzugefügt werden und dabei ein einzigartiges Präfix verwendet werden (z. B. „security_“). mfp_Nimm diese Bezeichnung, um deine Funktion zu benennen:
// 防止直接访问文件
if ( ! defined( 'ABSPATH' ) ) {
exit;
}
// 使用唯一前缀定义一个函数
function mfp_display_greeting() {
echo '<p>Hallo, willkommen bei der Nutzung meines ersten Plugins!</p>';
} Realisierung der Kernfunktionen: Aktionen und Filter
Das Kernerweiterungssystem von WordPress basiert auf sogenannten „Hooks“, die in zwei Kategorien unterteilt werden: „Actions“ und „Filters“. Das Verständnis sowie die korrekte Anwendung dieser Hooks sind entscheidend für die Entwicklung von Plugins.
Mit Action-Hooks Funktionen hinzufügen
Action Hooks ermöglichen es Ihnen, Ihren eigenen Code zu einem bestimmten Zeitpunkt oder wenn ein bestimmtes Ereignis stattfindet auszuführen. Zum Beispiel können Sie mithilfe von Action Hooks einen Text am unteren Rand der Seite anzeigen. wp_footer Aktion.
Empfohlene Lektüre WordPress-Plugin-Entwicklung: Von null auf eins ein benutzerdefiniertes Funktions-Plugin erstellen。
Mount the previously defined function to… wp_footer An der Klammer:
// 将函数挂载到 wp_footer 动作钩子
add_action( 'wp_footer', 'mfp_display_greeting' ); So wird WordPress, wenn es zum Fußbereich der Seite gelangt, die entsprechende Funktion aufrufen. mfp_display_greeting Funktion: Grußbotschaft ausgeben.
Inhalte mithilfe von Filter-Hooks ändern
Filter-Hooks dienen dazu, Daten zu verändern. Sie erhalten einen Wert, verarbeiten diesen und geben ihn anschließend wieder zurück. Zum Beispiel kann man damit den Standard-Suffix eines Artikeltitels ändern. the_title Filter.
Erstellen Sie eine Funktion, um den Titel eines Artikels zu ändern, und fügen Sie diesen dann zu einem Filter hinzu:
// 定义一个函数来修改文章标题
function mfp_modify_title( $title, $id = null ) {
// 仅在前端修改非管理员页面的标题
if ( ! is_admin() && in_the_loop() ) {
$title .= ' - 来自我的插件';
}
return $title;
}
// 将函数挂载到 the_title 过滤器钩子,参数3是优先级,参数4是接受的参数个数
add_filter( 'the_title', 'mfp_modify_title', 10, 2 ); Erstellen einer Benutzeroberfläche zur Verwaltung von Plugins
Die meisten Plugins benötigen eine Backend-Einstellungsseite, über die Webseitenadministratoren die Optionen des Plugins konfigurieren können. WordPress bietet eine umfangreiche API, um standardisierte Verwaltungsmenüs und Formulare zu erstellen.
Plugin-Einstellungsseite erstellen
ausnutzen add_menu_page() oder add_options_page() Eine Funktion kann einer Ihrer Plugins eine Verwaltungsseite hinzufügen. Diese Seite befindet sich in der Regel im “Einstellungen”-Menü.
Empfohlene Lektüre WordPress-Plugin-Entwicklung von Grund auf: Prinzipien, Praxis und fortgeschrittene Techniken。
Erstellen Sie eine Funktion zur Registrierung und Verwaltung von Menüs und montieren Sie diese anschließend. admin_menu Aktion:
// 添加插件设置页面到后台菜单
function mfp_add_admin_menu() {
add_options_page(
'我的第一个插件设置', // 页面标题
'我的插件设置', // 菜单标题
'manage_options', // 权限要求
'my-first-plugin', // 菜单slug
'mfp_render_settings_page' // 用于渲染页面的回调函数
);
}
add_action( 'admin_menu', 'mfp_add_admin_menu' );
// 渲染设置页面的回调函数
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
} Registrierung und Bearbeitung von Einstellungsoptionen
Die WordPress-Settings-API ermöglicht es, die Registrierung, Überprüfung und Speicherung von Einstellungen sicher zu verarbeiten. Sie müssen die Einstellungsfelder sowie die entsprechenden Abschnitte definieren und eine Funktion verwenden, um die Daten zu speichern.
Fahren Sie fort und fügen Sie im Hauptdatei des Plugins den folgenden Code hinzu, um die Einstellungen zu registrieren:
// 初始化插件设置
function mfp_settings_init() {
// 注册一个新的设置组和选项
register_setting( 'mfp_settings_group', 'mfp_settings', 'mfp_sanitize_settings' );
// 在插件设置页面添加一个节
add_settings_section(
'mfp_section_basic',
'基本设置',
null,
'my-first-plugin'
);
// 向节中添加一个字段
add_settings_field(
'mfp_greeting_text',
'问候语文本',
'mfp_greeting_text_render',
'my-first-plugin',
'mfp_section_basic'
);
}
add_action( 'admin_init', 'mfp_settings_init' );
// 渲染问候语文本输入字段
function mfp_greeting_text_render() {
$options = get_option( 'mfp_settings' );
$value = isset( $options['greeting_text'] ) ? $options['greeting_text'] : '你好,世界!';
echo '<input type="text" name="mfp_settings[greeting_text]" value="' . esc_attr( $value ) . '" class="regular-text">';
}
// 清理和验证设置输入
function mfp_sanitize_settings( $input ) {
$sanitized = [];
if ( isset( $input['greeting_text'] ) ) {
$sanitized['greeting_text'] = sanitize_text_field( $input['greeting_text'] );
}
return $sanitized;
} Internationalisierung von Plugins und Vorbereitungen auf die Bereitstellung
Damit das Plugin von Nutzern auf der ganzen Welt genutzt werden kann und schließlich veröffentlicht werden kann, müssen Sie es internationalisieren sowie den Code optimieren.
Implementierung der Internationalisierung von Texten
Mit WordPress __()、_e() Verwenden Sie Funktionen wie diese, um alle zu übersetzenden Textzeichenketten zu verpacken und die Textfelder korrekt zu laden.
Ändern Sie Ihre Ausgabefunktion so, dass sie die Übersetzung unterstützt:
function mfp_display_greeting() {
$options = get_option( ‘mfp_settings’ );
$greeting = isset( $options[‘greeting_text’] ) ? $options[‘greeting_text’] : __( ‘你好,世界!’, ‘my-first-plugin’ );
echo ‘<p>’ . esc_html( $greeting ) . ‘</p>’;
}
// 在插件加载时加载翻译文件
function mfp_load_textdomain() {
load_plugin_textdomain( ‘my-first-plugin’, false, dirname( plugin_basename( __FILE__ ) ) . ‘/languages/’ );
}
add_action( ‘plugins_loaded’, ‘mfp_load_textdomain’ ); Code-Optimierung und Erstellung von Veröffentlichungspaketen
Nach Abschluss der Entwicklung müssen Sie den Debugging-Code entfernen und sicherstellen, dass alle Funktionen einen eindeutigen Präfix haben. Anschließend sollten Sie den gesamten Plugin-Ordner in eine ZIP-Datei komprimieren. Diese ZIP-Datei kann dann über das WordPress-Backend hochgeladen und installiert werden.
Stellen Sie sicher, dass die Hauptdatei einen standardmäßigen Deinstallationsprozessor enthält, der dazu dient, die Datenbankoptionen bei der Deinstallation eines Plugins zu löschen. Dies wird durch das Registrieren eines Deinstallations-Hooks erreicht:
// 插件卸载时的清理操作
register_uninstall_hook( __FILE__, ‘mfp_uninstall’ );
function mfp_uninstall() {
delete_option( ‘mfp_settings’ );
} Zusammenfassungen
Dieser Artikel beschreibt ausführlich den vollständigen Prozess der Erstellung eines benutzerdefinierten WordPress-Plugins von Grund auf. Wir beginnen mit einem Verständnis der grundlegenden Struktur und Sicherheitsvorschriften von Plugins, gehen anschließend tiefer in das Hook-System (Aktionen und Filter) des WordPress-Kerns ein und lernen, wie man eine Backend-Verwaltungsoberfläche mit Einstellseiten erstellt. Abschließend behandeln wir auch die Internationalisierung von Plugins, die Optimierung des Codes sowie die Vorbereitungsmaßnahmen für die endgültige Bereitstellung des Plugins.
Denken Sie daran: Die Entwicklung hochwertiger Plugins geht nicht nur um die Umsetzung von Funktionen, sondern auch um die Sicherheit des Codes, seine Wartbarkeit sowie die Einhaltung der WordPress-Standards. Ich empfehle Ihnen, das offizielle WordPress-Plugin-Handbuch gründlich zu studieren, die geltenden Code-Richtlinien zu befolgen und diese Kenntnisse in praktischen Projekten anzuwenden.
FAQ Häufig gestellte Fragen
Welche Vorkenntnisse sind erforderlich, um WordPress-Plugins zu entwickeln?
Es ist sehr hilfreich, wenn Sie über grundlegende Kenntnisse der PHP-Programmierung verfügen – einschließlich des Verständnisses von Variablen, Funktionen, Arrays und Bedingungssprüchen. Ebenso ist ein grundlegendes Wissen über HTML und CSS sowie ein Verständnis der grundlegenden Funktionen und der Backend-Struktur von WordPress von Vorteil. Ein Verständnis der objektorientierten Programmierung (OOP) ist ein Pluspunkt für fortgeschrittene Entwicklungsarbeiten.
我必须使用类(Class)来编写插件吗?
Nicht unbedingt. Für einfache Plugins ist die Verwendung von Prozessorientiertem Programmieren (eine Reihe von Funktionen) vollkommen ausreichend – genau diese Methode wird auch in den Beispielen dieses Artikels angewendet. Für jedoch komplexere, funktionell ausgereichendere Plugins ist die Verwendung von Objektorientiertem Programmieren (OOP) und die Organisation des Codes in Form von Klassen die bessere Wahl. Dadurch lässt sich der Code effizienter strukturieren, Namenskonflikte vermeiden und die Wartbarkeit verbessern.
Wie debugge ich den Code meines WordPress-Plugins?
Das Aktivieren des Debugging-Modus in WordPress ist der erste Schritt. Auf der Website… wp-config.php In der Datei wird Folgendes festgelegt: WP_DEBUG Die Konstante ist auf trueDies wird PHP-Fehler, Benachrichtigungen und Warnungen auf der Seite anzeigen. Darüber hinaus können Sie… error_log() Die Funktion schreibt Debugging-Informationen in das Fehlerprotokoll des Servers oder verwendet spezielle Debugging-Plugins (wie Query Monitor), um Datenbankabfragen, die Ausführung von Hook-Funktionen sowie Leistungsprobleme zu überprüfen.
Wie kann man bei der Entwicklung von Plugins die Sicherheit gewährleisten?
Wichtige Maßnahmen zur Sicherstellung der Sicherheit umfassen die ständige Überprüfung und Reinigung der von Benutzern eingegebenen Daten (mit Hilfe von…) sanitize_text_field(), esc_html(), wp_kses_post() Funktionen wie „Warten“); für alle Datenbankabfragen wird dies verwendet. $wpdb Verwenden Sie die Methoden der Klasse und nutzen Sie deren `prepare`-Methode, um SQL-Injection-Angriffe zu verhindern; entschärfen Sie alle dynamischen Inhalte, die an den Browser gesendet werden; setzen Sie die in WordPress integrierten Funktionen für nicht überprüfbare Felder („Nonce“) sowie Berechtigungsüberprüfungen ein.current_user_can()Damit Formulare und AJAX-Anfragen geschützt 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
- Was ist ein WordPress-Subtheme?
- 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