Vorbereitungen vor der Entwicklung
Bevor wir mit dem Schreiben des Codes beginnen, müssen wir sicherstellen, dass die Entwicklungsumgebung korrekt eingerichtet ist, und die grundlegende Struktur von WordPress-Plugins verstehen. Eine geeignete lokale Entwicklungsumgebung ist die Grundlage für effizientes Arbeiten.
Aufbau einer lokalen Entwicklungsumgebung
Zunächst benötigen Sie eine lokale Serverumgebung, um WordPress zu betreiben. Es werden integrierte Tools wie XAMPP, MAMP oder Local by Flywheel empfohlen. Nach der Installation von WordPress können Sie… wp-content/plugins Fangen Sie mit der Entwicklung Ihrer Plugins in diesem Verzeichnis an. Dieses Verzeichnis dient zum Speichern aller Plugins – egal ob Sie sie selbst entwickelt haben oder sie aus dem offiziellen Verzeichnis installiert haben.
Verstehen der Kerndateien der Plugins
Jedes WordPress-Plugin benötigt mindestens eine Hauptdatei – diese Datei fungiert als “Identifikationsdokument” und “Startpunkt” des Plugins. Sie wird in der Regel nach der Funktion des Plugins benannt. my-first-plugin.phpDer Kommentarblock an der Spitze dieser Hauptdatei ist von entscheidender Bedeutung, da er dem WordPress-System die grundlegenden Informationen über dieses Plugin mitteilt.
Empfohlene Lektüre WordPress-Plugin-Entwicklung von der Grundlage bis zur Meisterschaft: Wir zeigen Ihnen Schritt für Schritt, wie Sie Ihr erstes eigenes Plugin erstellen.。
Erstellen Sie Ihre erste Plugin-Datei.
Lassen Sie uns nun mit den grundlegendsten Schritten beginnen und ein einfaches Plugin mit tatsächlichen Funktionen erstellen.
Verfassen Sie Kommentare zum Kopfbereich des Plugins.
„In“ wp-content/plugins Im Verzeichnis erstellen Sie eine Datei mit dem Namen… my-first-plugin Erstellen Sie einen neuen Ordner. Anschließend erstellen Sie innerhalb dieses Ordners die Hauptdatei. my-first-plugin.phpAm Anfang dieses Files müssen Sie eine Kopfzeile mit Plugin-Informationen hinzufügen, die den WordPress-Standards entspricht.
<?php
/**
* Plugin Name: 我的第一个插件
* Plugin URI: https://yourwebsite.com/my-first-plugin
* Description: 这是一个用于学习的简单插件,用于在文章末尾添加自定义文本。
* Version: 1.0.0
* Author: 你的名字
* Author URI: https://yourwebsite.com
* License: GPL v2 or later
* Text Domain: my-first-plugin
*/ Dieser Code teilt WordPress mit, dass es sich um ein Plugin handelt, und definiert die Informationen, die im Backend-Management-Interface angezeigt werden sollen – darunter den Namen, die Beschreibung, die Version usw. Nachdem Sie die Datei gespeichert haben, loggen Sie sich in das WordPress-Backend ein und gehen Sie auf die Seite “Plugins”. Dort sollte Ihr Plugin in der Liste zu sehen sein. Sie können es nun aktivieren – auch wenn es noch keine Funktionen besitzt.
Implementieren Sie eine grundlegende Funktion: Das Filtern von Artikelinhalten.
Nach der Aktivierung des Plugins müssen wir es so einrichten, dass es eine bestimmte Aufgabe erfüllt. Eine häufig verwendete Einstiegsfunktion besteht darin, den Inhalt von Artikeln zu ändern. Wir werden dies nutzen… the_content Dieser Filter-Hook fügt am Ende jedes Artikels automatisch einen benutzerdefinierten Text hinzu.
Im Hauptdokument my-first-plugin.php Unter den Kopf-Anmerkungen fügen wir den Funktionscode hinzu:
Empfohlene Lektüre Wie man ein professionelles WordPress-Theme erstellt: Ein vollständiger Leitfaden von der Grundlage bis zur Veröffentlichung。
// 在文章内容末尾添加自定义文本
function myfp_add_custom_text_to_content( $content ) {
// 确保只在主循环的单篇文章页面添加
if ( is_single() && in_the_loop() && is_main_query() ) {
$custom_text = '<p><strong>Vielen Dank fürs Lesen! Dieser Artikel wird von “Mein erster Plugin” unterstützt.</strong></p>';
$content .= $custom_text;
}
return $content;
}
// 将我们的函数挂载到 ‘the_content’ 过滤器上
add_filter( 'the_content', 'myfp_add_custom_text_to_content' ); Dieser Code definiert eine Klasse mit dem Namen … myfp_add_custom_text_to_content Die Funktion nimmt den Inhalt eines Artikels entgegen. $content Als Parameter wird durch eine Bedingungsprüfung sichergestellt, dass der Text nur auf der einzelnen Artikelseite der Website-Frontend-Phase hinzugefügt wird und nicht auch auf anderen Seiten (z. B. auf der Listeseite) wirkt. Anschließend wird ein benutzerdefinierter HTML-Absatz an das ursprüngliche Inhaltsmaterial angehängt, und der modifizierte Inhalt wird zurückgegeben. Zum Schluss wird… add_filter() Die Funktion “montiert” diese benutzerdefinierte Funktion in das Kernsystem von WordPress. the_content Auf dem Filter. Dadurch wird unsere Funktion jedes Mal ausgeführt, wenn WordPress bereit ist, den Inhalt eines Artikels auszugeben.
Nachdem Sie die Datei gespeichert haben, gehen Sie zur Website und schauen Sie sich einen beliebigen Artikel an. Sie werden feststellen, dass der von uns hinzugefügte Dankestext am unteren Rand der Seite angezeigt wird.
Für das Plugin werden Verwaltungsoptionen hinzugefügt.
Ein voll funktionsfähiges Plugin benötigt in der Regel einige Konfigurationsoptionen, die es den Benutzern ermöglichen, Einstellungen im Hintergrund vorzunehmen. Wir werden für die gerade besprochene Funktion “Anpassbarer Text” eine Einstellungsseite hinzufügen.
Erstellen Sie ein Menü zur Verwaltung von Plugins.
Zunächst müssen wir einen neuen Menüeintrag in der Seitenleiste der Administrationsoberfläche von WordPress hinzufügen. Dafür werden Funktionen von WordPress verwendet. add_action() Funktionen und admin_menu Haken.
// 添加管理菜单
function myfp_add_admin_menu() {
add_options_page(
'我的第一个插件设置', // 页面标题
'我的插件设置', // 菜单标题
'manage_options', // 权限要求
'my-first-plugin', // 菜单 slug
'myfp_options_page_html' // 显示设置页面的回调函数
);
}
add_action( ‘admin_menu’, ‘myfp_add_admin_menu’ ); add_options_page() Die Funktion erstellt einen Untermenüeintrag im Hauptmenü “Einstellungen”. Sie benötigt mehrere Parameter: die Seitebezeichnung, den Menütitel, die Benutzerrechte, eine eindeutige Identifikationsnummer für den Menüeintrag („Slug“) sowie den Namen einer Rückruffunktion, die den HTML-Inhalt der Einstellungsseite generiert. myfp_options_page_html。
Erstellen einer Einstellungsseite und Speichern von Daten
Als Nächstes müssen wir eine Callback-Funktion definieren, um die Einstellungsseite zu rendern und die von den Benutzern eingegebenen Daten zu verarbeiten.
Empfohlene Lektüre WordPress Plugin Entwicklung Tutorial: Erstellen Sie Ihr erstes Plugin von Null auf Eins。
// 渲染设置页面的HTML
function myfp_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( ‘myfp_settings’ );
// 输出设置区域
do_settings_sections( ‘my-first-plugin’ );
// 输出提交按钮
submit_button( ‘保存设置’ );
?>
<input type="hidden" name="trp-form-language" value="de"/></form>
</div>
‘myfp_field_custom_text’ ]
);
}
add_action( ‘admin_init’, ‘myfp_settings_init’ );
// 渲染文本框的HTML
function myfp_field_custom_text_html() {
// 从数据库获取已保存的值
$options = get_option( ‘myfp_options’ );
$value = $options[‘myfp_field_custom_text’] ?? ‘’; // 使用空合并运算符,如果不存在则赋空值
?>
<input type="“text”"
id="“myfp_field_custom_text”"
name="“myfp_options[myfp_field_custom_text]”"
value="“NO NUMERIC NOISE KEY" 1000”
class="“regular-text”">
<?php
} Dieser Code führt über register_setting、add_settings_section und add_settings_field Eine Reihe von Funktionen wurde genutzt, um mithilfe der WordPress-Settings-API eine Einstellungsseite zu erstellen, die einen Texteingabefeld enthält. Die von den Benutzern eingegebenen Daten werden sicher gespeichert. wp_options tabellar myfp_options Im Protokoll aufgezeichnet.
Zum Schluss müssen wir die Funktion ändern, die zuvor den Inhalt der Artikel gefiltert hat, sodass sie den aus der Datenbank abgerufenen Text verwendet und nicht mehr den fest eingebetteten Text.
function myfp_add_custom_text_to_content( $content ) {
if ( is_single() && in_the_loop() && is_main_query() ) {
$options = get_option( ‘myfp_options’ );
$custom_text = $options[‘myfp_field_custom_text’] ?? ‘’;
if ( ! empty( $custom_text ) ) {
$content .= ‘<p><strong>’ . esc_html( $custom_text ) . ‘</strong></p>’;
}
}
return $content;
} Jetzt können Benutzer auf der Seite “Einstellungen” -> “Meine Plugin-Einstellungen” beliebigen Text eingeben. Nach dem Speichern wird dieser Text am Ende aller Artikel auf der Website angezeigt.
Fortgeschrittene Praktiken im Plugin-Entwicklung und Vorbereitung auf die Veröffentlichung
Sobald die grundlegenden Funktionen fertiggestellt sind, müssen wir die Stabilität und Wartbarkeit der Plugins berücksichtigen sowie überlegen, wie sie anderen zur Nutzung zur Verfügung gestellt werden können.
Hinzufügen von Sicherheits- und Internationalisierungsunterstützung
Sicherheit ist von größter Bedeutung bei der Entwicklung von Plugins. Im obigen Beispiel haben wir dies bereits berücksichtigt. esc_html() und esc_attr() Verwenden Sie Funktionen wie `esc()` oder `htmlentities()` zur Entschlüsselung der Ausgabe, um XSS-Angriffe zu verhindern. Bei der Verarbeitung von Benutzereingaben, der Ausführung von Datenbankabfragen oder dem Einlesen externer Dateien müssen Sie stets die von WordPress bereitgestellten Sicherheitsfunktionen verwenden. wpdb->prepare()、sanitize_text_field() und check_admin_referer() usw.
Darüber hinaus ist die Internationalisierung (i18n) erforderlich, damit das Plugin von Nutzern auf der ganzen Welt verwendet werden kann. Wir müssen alle für die Benutzer bestimmten Zeichenketten im Plugin mit den Übersetzungsfunktionen von WordPress umgeben. Dafür müssen wir unseren vorherigen Code ändern:
1. Dies wurde bereits in den Kommentaren am Anfang des Plugins angegeben. Text Domain: my-first-plugin。
2. Laden des Textfeldes. In der Regel wird dies am Ende der Hauptdatei hinzugefügt:add_action( ‘plugins_loaded’, function() { load_plugin_textdomain( ‘my-first-plugin’, false, dirname( plugin_basename( FILE ) ) . ‘/languages/’ ); } );。
3. Verpacken von Zeichenketten. Zum Beispiel kann der Titel des Einstellbereichs so geändert werden… ( ‘自定义文本设置’, ‘my-first-plugin’ )Ändern Sie den Menütitel in… ( ‘我的插件设置’, ‘my-first-plugin’ )Auf diese Weise können die Übersetzer… .po/.mo Die Datei stellt weitere Sprachversionen für diese Zeichenketten bereit.
Vorbereitung auf die Veröffentlichung des Plugins im offiziellen Verzeichnis
Wenn Sie das Plugin in den offiziellen WordPress.org-Plugin-Verzeichnis einreichen möchten, müssen Sie einer Reihe von Vorgaben folgen:
1. Code Standards: Befolgen Sie die WordPress-Programmierstandards.
2. Dateistruktur: Neben der Hauptdatei sind in der Regel auch weitere Dateien erforderlich. README.txt(Beschreibung des Plugins, das für die Verzeichnisseite verwendet wird)uninstall.php(Arbeiten zur Bereinigung beim Deinstallieren von Plugins) usw.
3. SVN-Repository: Die offiziellen Verzeichnisse werden mit Subversion (SVN) für die Versionierung verwaltet. Sie müssen Ihren Plugin-Code in das angegebene SVN-Repository einreichen.
4. Metadaten:README.txt Es muss in einem bestimmten Format geschrieben sein und Informationen wie den Namen des Plugins, eine Beschreibung, die Installationsanleitung, häufig gestellte Fragen und ein Update-Protokoll enthalten.
Zusammenfassungen
Durch dieses Tutorial hast du einen vollständigen Entwicklungszyklus für ein WordPress-Plugin durchlaufen: Von der Erstellung der ersten Datei über das Schreiben von Kopfzeilenkommentaren, die Nutzung von Aktionen- und Filter-Hooks zur Implementierung der Kernfunktionen, bis hin zur Hinzufügung einer konfigurierbaren Einstellungsseite für das Plugin – schließlich hast du auch fortgeschrittene Themen wie Sicherheit, Internationalisierung und die Vorbereitung auf die Veröffentlichung kennengelernt. Das Plugin, das am Ende des Artikels eine benutzerdefinierte Textzeile anzeigt, ist zwar einfach, aber es umfasst die grundlegendsten Konzepte und Prozesse der Plugin-Entwicklung. Sobald du diese Grundkenntnisse beherrschst, kannst du mithilfe des umfangreichen Hooks-Systems, von Shortcodes, benutzerdefinierten Artikeltypen (CPTs) und der REST API noch leistungsfähigere und komplexere Plugins entwickeln. Denk daran: Praxis ist die beste Lernmethode – versuche, den Code zu ändern und neue Funktionen hinzuzufügen, um dein Wissen zu festigen.
FAQ Häufig gestellte Fragen
Wie muss die Hauptdatei des Plugins heißen?
Es gibt keine zwingenden Anforderungen hinsichtlich der Benennung der Hauptdatei des Plugins, sie muss jedoch mit einem bestimmten Format beginnen. .php Zum Schluss: Üblicherweise verwenden wir zur Klarheit und Eindeutigkeit Namen, die dem Namen des Plugins-Ordners entsprechen oder die die Funktion des Plugins beschreiben. my-awesome-plugin.phpWordPress erkennt Plugins, indem es einen bestimmten Kommentarblock am Anfang dieser Datei liest.
Warum wird mein Plugin nicht im Hintergrundmenü angezeigt?
Das wird in der Regel durch mehrere Gründe verursacht. Zunächst sollten Sie überprüfen, ob das Plugin erfolgreich aktiviert wurde. Anschließend sollten Sie… add_menu_page() Stellen Sie sicher, dass der aktuell angemeldete Benutzer über die erforderlichen Berechtigungen verfügt – insbesondere die Parameter für Benutzerberechtigungen („capability“) in Funktionen oder ähnlichen Mechanismen. manage_optionsSchließlich sollten Sie überprüfen, ob Ihre Funktion korrekt funktioniert. add_action(‘admin_menu’, …) Mounten. Jede PHP-Syntaxfehler kann dazu führen, dass die Initialisierung des gesamten Plugins fehlschlägt.
Wie fügt man PHP-Fehler in einem Plugin hin?
Während der Entwicklungsphase wird empfohlen, den Debug-Modus von WordPress zu aktivieren. Dies geschieht, indem Sie die entsprechende Einstellung im Hauptverzeichnis der Website aktivieren. wp-config.php Für die Datei stellen Sie sicher, dass die folgenden Einstellungen aktiviert sind:
define( ‘WP_DEBUG’, true );
define( ‘WP_DEBUG_LOG’, true ); // 将错误记录到 /wp-content/debug.log
define( ‘WP_DEBUG_DISPLAY’, false ); // 不建议在页面上显示,以免破坏布局
Auf diese Weise werden Fehlermeldungen in die Protokolldateien geschrieben, was die Problemanalyse erleichtert. Vor der Veröffentlichung des Plugins stellen Sie bitte sicher, dass der Debug-Modus deaktiviert ist.
Wo werden die Daten der Plugin-Optionen gespeichert?
Plugin-Nutzung add_option() oder update_option() Die von Funktionen gespeicherten Daten werden standardmäßig im WordPress-Datenbank-System abgelegt. wp_options In der Tabelle (der Tabellennamen kann unterschiedlich sein). Verwenden Sie… get_option() Die Funktionen können diese Daten lesen. Bei komplexeren Datenstrukturen werden manchmal auch benutzerdefinierte Datenbanktabellen erstellt, doch dies erfordert eine sorgfältigere Handhabung.
Wie kann ich meine Erweiterung so gestalten, dass sie mehrere Sprachen unterstützt (internationalisiert wird)?
Sie müssen die Übersetzungsfunktionen von WordPress verwenden, um alle für die Benutzer bestimmten Zeichenketten zu umschließen. Die am häufigsten genutzten Funktionen sind… __(‘字符串’, ‘text-domain’) und _e(‘字符串’, ‘text-domain’)Anschließend werden mit Tools wie Poedit diese Zeichenketten extrahiert, um daraus neue Inhalte zu erstellen. .pot Template-Dateien und die entsprechenden Sprachversionen (z. B. Deutsch, Französisch usw.) erstellen… zh_CN.po und .moDie Übersetzungsdatei für „)“ sollte in das entsprechende Verzeichnis des Plugins kopiert werden. Anschließend sollte die Sprachdatei im Verzeichnis des Plugins abgelegt werden. /languages/ Im Ordner befindet sich die Datei, und sie wird beim Initialisieren des Plugins verwendet. load_plugin_textdomain() Die Funktion lädt sie herunter.
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
- Kompletter Leitfaden für die Entwicklung von WordPress-Themen: Ein Praktikum, um von Grund auf Meister zu werden
- Kompletter Leitfaden für die Entwicklung von WordPress-Themen: Erstellen Sie von Grund auf professionelle Website-Vorlagen
- Komplettanleitung zur Entwicklung von WordPress-Plugins: Von der Grundlagenkenntnis bis zur Meisterschaft – Erstellen Sie professionelle Erweiterungen