Erstellung einer Entwicklungsumgebung für WordPress-Plugins
Bevor Sie mit der Entwicklung Ihres ersten Plugins beginnen, ist eine stabile, isolierte und voll funktionsfähige Entwicklungsumgebung von entscheidender Bedeutung. Dies schützt nicht nur Ihre Produktionswebsite, sondern bietet auch alle Tools, die zum Debuggen und Testen benötigt werden.
Konfiguration der lokalen Entwicklungsumgebung
Die empfohlene Methode ist die Verwendung einer lokalen Serverumgebung wie Local by Flywheel, XAMPP oder MAMP. Diese Tools ermöglichen die einfache Installation von WordPress und integrieren PHP, MySQL und Webserver. Stellen Sie sicher, dass Ihre PHP-Version mit der aktuellen, von WordPress empfohlenen Version übereinstimmt, und aktivieren Sie die Fehlerberichterstattung, um mögliche Probleme bereits in der Entwicklungsphase zu erkennen.
Unter dem Verzeichnis deiner WordPress-Installation befindet sich wp-content/plugins Erstellt im Ordner einen separaten Ordner für euer neues Plugin, zum Beispiel my-first-pluginAlle Plugin-Dateien werden hier abgelegt.
Empfohlene Lektüre Eine umfassende Analyse der SEO-Optimierung: Ein praktischer Leitfaden von der technischen Architektur bis zur Content-Strategie.。
Die Auswahl eines Code-Editors und von Debugging-Tools
Die Auswahl eines leistungsstarken Code-Editors kann die Entwicklungseffizienz erheblich steigern, z. B. Visual Studio Code, PHPStorm oder Sublime Text. Es ist wichtig, Erweiterungen wie WordPress-Code-Snippets, PHP IntelliSense und PHP-Debugging für den Editor zu installieren.
Für die Fehlersuche müssen Sie außer der Aktivierung von WordPress noch Folgendes tun: WP_DEBUG Das Muster (in wp-config.php Einstellungen im File define('WP_DEBUG', true);Außerdem wird empfohlen, das Plugin Query Monitor zu installieren. Dies ist ein Entwickler-Panel, das in Echtzeit wichtige Informationen wie Datenbankabfragen, PHP-Fehler, Hooks und Skripte anzeigt und ein “Schweizer Taschenmesser” für die Plugin-Entwicklung darstellt.
Erstellen Sie Ihr erstes WordPress-Plugin.
Ein standardmäßiges WordPress-Plug-in benötigt mindestens eine Hauptdatei. Diese Hauptdatei muss bestimmte Plug-in-Kopfinformationen enthalten, damit WordPress sie erkennen und laden kann.
Das Hauptdokument zum Erstellen eines Plugins
In Ihrem Plugin-Ordner (zum Beispiel my-first-pluginIn diesem Abschnitt erstellen Sie eine PHP-Datei, die normalerweise nach dem Namen des Plugins benannt ist, z. B. my-first-plugin.phpDer Anfang des Dokuments muss einen Kommentar zum Plugin-Header 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 ist der “Personalausweis” des Plugins. Darin enthalten sind unter anderem:Plugin Name Dies ist ein Pflichtfeld, alle anderen Felder sind optional. WordPress zeigt Ihr Plugin in der Liste der Hintergrund-Plugins an, indem es diese Informationen scannt.
Empfohlene Lektüre Der komplette Leitfaden zur WordPress-Plugin-Entwicklung: Von Null bis zu fortgeschrittenen Fortschritten。
Die Implementierung einer grundlegenden Funktionalität
Lassen Sie uns dieser Erweiterung eine einfache Funktion hinzufügen: Am Ende des Artikelinhalts wird automatisch ein benutzerdefinierter Text hinzugefügt. Dafür werden wir… the_content Filter.
Unter den Informationen zum Plugin-Header fügen Sie den folgenden Code hinzu:
// Hinzufügen von benutzerdefiniertem Text am Ende des Beitragsinhalts
function myfp_add_footer_text($content) {
// Funktioniert nur bei einem einzelnen Beitrag
if (is_single()) {
$custom_text = '<p><em>Vielen Dank fürs Lesen! Dieser Artikel wird von “Mein erster Plugin” unterstützt.</em></p>'functions.php:
function myfp_add_footer_text( $content ) {
if ( is_home() || is_archive() || is_single() ) {
$content .= '<p class='myfp-footer-text'>';
$content .= myfp_custom_text();
$content .= '</p>';
}
return $content;
}
add_filter( 'the_content', 'myfp_add_footer_text' ); Nachdem Sie die Datei gespeichert haben, gehen Sie auf die “Plugins”-Seite im WordPress-Dashboard, wo Sie “Mein erstes Plugin” sehen sollten. Aktivieren Sie es, und durchsuchen Sie einen Artikel auf der Website. Sie werden feststellen, dass der vordefinierte Text am Ende des Artikels hinzugefügt wurde. Dieses einfache Beispiel zeigt, wie Sie mit “Filtern” die Ausgabe von WordPress ändern können.
Tief in den Kern des Plugins eintauchen: Hooks und APIs
Die Grundlage für die leistungsstarken Funktionen der WordPress-Plugins ist ihr “Hooks”-System und die umfangreiche API. Das Verständnis dieser Elemente ist der Schlüssel zur fortgeschrittenen Entwicklung.
Das Verständnis von Aktionen und Filter-Hooks
Hooks werden in zwei Haupttypen unterteilt: Aktionen (Action) und Filter (Filter).
Aktions-Hooks ermöglichen es Ihnen, benutzerdefinierten Code an bestimmten Ausführungspunkten von WordPress (z. B. beim Veröffentlichen eines Artikels oder beim Laden des Backends) einzufügen. Verwenden Sie add_action() Der Funktionsaufruf wird zum Mounten verwendet. Er führt lediglich Aktionen aus und erwartet keinen Rückgabewert.
Filter-Haken ermöglichen es Ihnen, die von WordPress während der Verarbeitung erzeugten Daten zu ändern. Verwenden Sie add_filter() Sie können dies mit einer Funktion zum Mounten erreichen. Sie müssen einen Eingabewert erhalten und ihn nach der Änderung zurückgeben.
Beispielsweise ist das Senden einer E-Mail, wenn der Benutzer sich anmeldet, eine Aktion:
Empfohlene Lektüre Ein eigenes WooCommerce-E-Commerce-Webportal erstellen: Ein praktischer Leitfaden für den gesamten Prozess von der Grundlage an。
function myfp_on_user_login($user_login, $user) {
wp_mail($user->user_email, '欢迎回来!', '您刚刚成功登录了网站。');
}
add_action('wp_login', 'myfp_on_user_login', 10, 2); Die Änderung des Artikeltitels ist jedoch ein Filter:
function myfp_prepend_title($title) {
return '精选:' . $title;
}
add_filter('the_title', 'myfp_prepend_title'); Detailierte Erläuterung der häufig verwendeten API-Schnittstellen
WordPress bietet eine Vielzahl sicherer API-Funktionen, um zu verhindern, dass Sie direkt auf die Datenbank zugreifen.
* 选项 API:使用 add_option(), get_option(), update_option() Um die Einstellungsdaten des Plugins zu speichern und abzurufen. Diese Daten werden gespeichert in wp_options In der Tabelle.
* 设置 API:用于在后台“设置”或独立页面中创建标准化、安全且可验证的表单字段。它简化了设置页面的创建过程,并自动处理安全校验(Nonce)和数据存储。核心函数包括 register_setting(), add_settings_section() und add_settings_field()。
* 数据库 API:通过 $wpdb Der globale Objekt führt benutzerdefinierte Datenbankoperationen durch. Es bietet Funktionen wie $wpdb->insert(), $wpdb->update(), $wpdb->get_results() Eine solche Methode wurde bereits zur Behandlung von Tabellenpräfixen und zum Schutz vor SQL-Injection-Angriffen eingesetzt.
* HTTP API:使用 wp_remote_get() oder wp_remote_post() Um einen Remote-HTTP-Anfrage zu starten. Es ist besser als native PHP-Funktionen wie file_get_contents() Es ist sicherer, bietet eine bessere Kompatibilität und unterstützt SSL und Proxys.
Nach dem Bau des Plug-in-Backends und der Benutzeroberfläche
Ein ausgereiftes Plugin benötigt normalerweise eine Konfigurationsseite, auf der Benutzer sein Verhalten anpassen können. WordPress bietet verschiedene Möglichkeiten, Seiten zum Backend-Menü hinzuzufügen.
Erstellung eines Verwaltungsmenüs und von Untermenüs
ausnutzen add_menu_page() Eine Funktion kann einen obersten Menüpunkt in der Navigationsleiste auf der linken Seite hinzufügen. Verwenden Sie dazu add_submenu_page() Sie können ihm Unterseiten hinzufügen. Diese Funktionen werden normalerweise in admin_menu Aufgerufen in einem Aktion-Hook.
Hier ist ein Beispiel für die Erstellung eines Hauptmenüs und seiner Einstellungsseite:
\n// Hinzufügen eines Hintergrundmenüs
function myfp_add_admin_menu() {
// Hinzufügen eines Hauptmenüs
add_menu_page(
'Meine Plugin-Einstellungen', // Seitentitel
'Mein Plugin', // Menüüberschrift
'manage_options', // Berechtigungsanforderung
'myfp-settings', // Menü-Slug
'myfp_settings_page_html', // Rückruffunktion zum Ausgeben der Seiteninhalte
'dashicons-admin-generic', // Icon
80 // Position
);
}
add_action('admin_menu', 'myfp_add_admin_menu');
// Festlegen des HTML-Inhalts der Seite
function myfp_settings_page_html() {
// Berechtigungsprüfung
if (!current_user_can('manage_options')) {
return;
}
?>
<div class="wrap">
<h1><?php echo esc_html(get_admin_page_title()); ? <?php echo esc_html(get_admin_page_title(); ?</h1>
<form action="/de/options.php/" method="post" data-trp-original-action="options.php">
<?php
// 输出设置字段、节和安全字段
settings_fields('myfp_options'); // 与 register_setting() 的选项组名匹配
do_settings_sections('myfp-settings'); // 与页面slug匹配
submit_button('保存设置');
?>
<input type="hidden" name="trp-form-language" value="de"/></form>
</div>
<?php
} Das Formular wird mithilfe der Einstellungs-API erstellt
Um das obige Formular wirklich zum Funktionieren zu bringen, müssen wir die Felder über die Einstellungs-API registrieren. Dies geschieht normalerweise in admin_init Abgeschlossen im Hook.
// 初始化设置
function myfp_settings_init() {
// 注册一个设置选项
register_setting('myfp_options', 'myfp_settings');
// 添加一个设置节
add_settings_section(
'myfp_section_basic',
'基础设置',
null, // 节描述回调函数,可为空
'myfp-settings'
);
// 为节添加一个文本字段
add_settings_field(
'myfp_field_footer_text',
'页脚文本',
'myfp_field_footer_text_html', // 渲染字段HTML的回调函数
'myfp-settings',
'myfp_section_basic',
['label_for' => 'myfp_field_footer_text']
);
}
add_action('admin_init', 'myfp_settings_init');
// 字段HTML渲染函数
function myfp_field_footer_text_html() {
$options = get_option('myfp_settings');
$value = $options['footer_text'] ?? '默认文本';
?>
<input type="text"
id="myfp_field_footer_text"
name="myfp_settings[footer_text]"
value="<?php echo esc_attr($value); ?>"
class="regular-text">
<?php
} Durch eine solche Kombination haben wir eine standardisierte Backend-Einstellungsseite mit Validierungs- und Speicherfunktionen erstellt. Nachdem der Benutzer gespeichert hat, werden die Werte übermittelt. get_option('myfp_settings') Es wurde erfasst und für die Plugin-Funktionen verwendet.
Zusammenfassungen
Die Entwicklung von WordPress-Plugins beginnt mit dem Verständnis der Grundstruktur (Plugin-Header, Dateiorganisation) und der schrittweisen Beherrschung der Kernmechanismen (Hooks, API). Durch die Einrichtung einer professionellen lokalen Umgebung können Sie sicher experimentieren und debuggen. Die Erstellung Ihres ersten Plugins ermöglicht es Ihnen, den Prozess der Erkennung und des Ladens von Plugins durch WordPress kennenzulernen. Ein tiefes Verständnis von Aktionen und Filter-Hooks sowie APIs für Optionen, Einstellungen und Datenbanken bildet die Grundlage für die Erstellung leistungsstarker und sicherer Plugins. Schließlich können Sie mithilfe der von WordPress bereitgestellten Funktionen für das Verwaltungsmenü und der Einstellungs-API eine benutzerfreundliche und konfigurierbare Backend-Oberfläche für Ihre Benutzer erstellen. Indem Sie diese Schritte und Best Practices befolgen, werden Sie in der Lage sein, von Grund auf WordPress-Plugins zu erstellen, die verschiedene Anforderungen erfüllen.
FAQ Häufig gestellte Fragen
Welche Grundkenntnisse sind für die Entwicklung von WordPress-Plugins erforderlich?
Sie benötigen Grundkenntnisse in der Programmiersprache PHP, da die Plugins hauptsächlich in PHP geschrieben sind. Gleichzeitig sind grundlegende Kenntnisse in HTML, CSS und JavaScript sehr wichtig für die Erstellung von Frontend-Anzeigen und interaktiven Oberflächen. Ein Verständnis der grundlegenden Konzepte von MySQL-Datenbanken (wie Erstellen, Löschen, Ändern und Abfragen) hilft auch beim Verständnis der Datenmanipulation in WordPress. Schließlich ist es unerlässlich, die grundlegende Architektur von WordPress selbst und die häufig verwendeten Vorlagen-Tags zu kennen.
Wie kann ich sicherstellen, dass die von mir entwickelte Erweiterung sicher ist?
Um die Sicherheit von Plugins zu gewährleisten, müssen mehrere Best Practices befolgt werden. Zunächst müssen alle vom Benutzer eingegebenen Daten validiert, bereinigt und entkodet werden. Hierfür können Funktionen verwendet werden, die von WordPress bereitgestellt werden, wie z. B. esc_html(), esc_attr(), sanitize_text_field() und wp_kses()Zweitens muss bei der Ausführung aller Aktionen, die eine Datenänderung beinhalten (z. B. das Absenden eines Formulars), ein Nonce (einmaliger Token) verwendet werden, um die Absicht und die Quelle der Anfrage zu überprüfen. Schließlich muss bei der direkten Interaktion mit der Datenbank unbedingt ein Nonce verwendet werden. $wpdb Sie können die von der Klasse bereitgestellten Methoden verwenden oder eine höherwertige API nutzen, um das manuelle Schreiben von SQL-Anweisungen zu vermeiden und Injection-Angriffe zu verhindern.
Kann die Hauptdatei des Plugins beliebig benannt werden?
Das ist möglich, aber es müssen bestimmte Regeln befolgt werden. Die Haupt-PHP-Datei kann beliebig benannt werden, aber es wird empfohlen, einen Namen zu verwenden, der mit dem Namen des Plugin-Verzeichnisses oder des Plugins übereinstimmt, vollständig in Kleinbuchstaben und mit Bindestrichen getrennt, zum Beispiel my-awesome-plugin.phpDas Wichtigste ist, dass die Datei die richtigen Anmerkungen zum Plugin-Header enthalten muss (d. h. <). Plugin Name: usw.), da WordPress Plugins anhand dieser spezifischen Anmerkungen im Dateiinhalt erkennt, und nicht anhand des Dateinamens.
Wie füge ich meinem Plugin mehrsprachige Unterstützung hinzu?
Das Hinzufügen von mehrsprachiger Unterstützung (Internationalisierung und Lokalisierung) für ein Plugin besteht im Wesentlichen aus drei Schritten. Im ersten Schritt werden alle zu übersetzenden Zeichenfolgen im Plugin-Code mit < __() oder _e() Erstens müssen Sie die Funktion einwickeln und den Textbereich (Text Domain) einrichten. Zweitens müssen Sie dies in den Kommentaren im Plugin-Header korrekt deklarieren. Text Domain und Domain PathDer dritte Schritt besteht darin, mithilfe eines Tools wie Poedit den Plugin-Code zu scannen und zu generieren. .pot Template-Dateien – anschließend werden diese für jede Sprache übersetzt und die entsprechenden Ergebnisse generiert. .po und .mo Legen Sie die Datei in den angegebenen Sprachordner. WordPress lädt die entsprechende Übersetzung automatisch basierend auf den Spracheinstellungen der Website.
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.
- Praktischer Leitfaden für SEO-Optimierung im Jahr 2026: Eine systematische Strategie von der Grundlagenkenntnis bis zur Meisterschaft
- Vom Einstieg zum Meisterwerks: Ein umfassendes Praktikumshandbuch und Strategieleitfaden für SEO-Optimierung
- Grundlegende SEO-Optimierungstechniken beherrschen: Ein praktischer Leitfaden von den Schlüsselwörtern bis zur strukturierten Optimierung des gesamten Webseiteninhalts
- WordPress-Plugin-Entwicklungshandbuch: Von Null zu Eins – Erstellen Sie Ihr erstes benutzerdefinierte Plugin
- Praktischer Leitfaden für SEO-Optimierung 2026: Schlüsselstrategien und Techniken zur Verbesserung der Website-Ranglistenplatzierung