WordPress, jako nejpopulárnější systém pro správu obsahu na světě, vděčí své vysoké rozšiřitelnosti především ovládacím prvkům (pluginům). Díky vývoji pluginů můžete do svého webu přidávat jakékoli vlastní funkce, aniž byste museli měnit základní kód. Tento průvodce vás provede celým procesem vytvoření vašeho prvního funkčního pluginu a pokryje každý důležitý krok – od přípravy prostředí, návrhu kódu až po testování a publikování.
Přípravné práce a nastavení prostředí.
Než začnete psát první řádek kódu, potřebujete vhodné vývojové prostředí. To nejenže zvýší vaši efektivitu, ale také vám pomůže vyhnout se rizikům, která mohou nastat při ladění na skutečných webových stránkách.
Vytvoření lokálního vývojového prostředí
Doporučujeme použít lokální balíčky serverového softwaru, jako jsou XAMPP, MAMP nebo Laragon. Ty umožňují jednoduchou instalaci Apache, MySQL a PHP a perfektně napodobují prostředí používané na internetu. Ujistěte se, že vaše verze PHP je kompatibilní s verzí WordPressu, kterou chcete používat – na oficiálních webových stránkách WordPressu jsou obvykle uvedeny aktuální požadavky na verze.
Doporučujeme k přečtení. Kompletní průvodce vývojem WordPress pluginů: Vytvořte si svůj první funkční plugin od nuly。
Instalace WordPressu a editoru kódu
Nainstalujte na místním serveru zcela nový webový projekt WordPress určený k vývoji a testování doplňků (pluginů). Zároveň si vyberte výkonný editor kódu, např. Visual Studio Code nebo PhpStorm. Tyto editory vynikají v podpoře PHP syntaxe, nabízení tipů při psaní kódu a možnostech ladění (debugging), což výrazně zlepší váš zážitek při programování.
Vytvořte svůj první soubor plug-inu.
Nejzákladnější WordPress plugin může sestávat pouze z jediného souboru. Začneme jednoduchým “Hello World” pluginem, abychom pochopili strukturu pluginů.
Struktura hlavního souboru pluginu
Nejprve, ve WordPressu… wp-content/plugins V adresáři vytvořte nový složek, například… my-first-pluginV této složce vytvořte hlavní soubor pluginu, který se obvykle nazývá podle názvu samotného pluginu. my-first-plugin.php。
Každý plugin musí obsahovat v hlavičce souboru konkrétní poznámky s informacemi o tomto pluginu – to je klíčové pro to, aby WordPress plugin rozpoznal. Níže je uveden jeden z nejjednodušších příkladů:
<?php
/**
* Plugin Name: 我的第一个插件
* Plugin URI: https://example.com/my-first-plugin
* Description: 这是一个用于学习的简单功能插件。
* Version: 1.0.0
* Author: 你的名字
* License: GPL v2 or later
* Text Domain: my-first-plugin
*/ Po uložení souboru přejděte na stránku “Příslušenství” (Plugins) v administraci WordPress a tam uvidíte tento plugin – můžete ho aktivovat. I když zatím nemá žádné funkce, úspěšně jste vytvořili kompatibilní rámec pro vývoj pluginů.
Doporučujeme k přečtení. Naučím vás krok za krokem, jak začít s vývojem pluginů pro WordPress od nuly.。
Přidání základních funkcí pro plugin
Po aktivaci pluginu mu přidáme jednu jednoduchou funkci: do spodní části webové stránky (footer) zobrazíme řádek vlastního textu. Pro to použijeme funkce dostupné v WordPressu. wp_footer Hák.
Pod poznámkami k informacím o pluginu přidejte následující kód:
// 在网站页脚输出自定义文本
function myfp_add_footer_text() {
echo '<p style="text-align: center;">Děkuji, že jste využili můj první plugin!</p>';
}
add_action( 'wp_footer', 'myfp_add_footer_text' ); Uložte soubor a obnovte webovou stránku – na spodní části stránky uvidíte tento text umístěný uprostřed. Tento příklad ukazuje, jak to provést. add_action() Tato funkce “nasadí” vaši vlastní funkci na klíčová místa výkonu systému WordPress.
Implementujte užitečnou správní funkci.
Kompletní plugin obvykle musí poskytovat rozhraní pro konfiguraci v administračním panelu WordPressu. Následně přidáme pro tento plugin jednoduchou stránku nastavení, která umožní administrátorovi personalizovat text zobrazovaný v patičce stránky.
Vytvoření stránky nabídky správce
Potřebujeme v nabídce “Nastavení” v pozadí přidat podnabídku. K tomu bude potřeba… add_options_page() Funkce.
Nejprve vytvořte funkci, která bude renderovat HTML obsah stránky pro nastavení, a poté tento obsah připojte („mount“) na odpovídající místo. admin_menu Na háčku.
Doporučujeme k přečtení. Začněme od začátku: Proč si vybrat vývoj pluginů pro WordPress?。
// 添加插件设置页面到后台菜单
function myfp_add_admin_menu() {
add_options_page(
'我的插件设置', // 页面标题
'我的插件', // 菜单标题
'manage_options', // 权限(管理员)
'my-first-plugin', // 菜单slug
'myfp_settings_page' // 用于输出页面内容的回调函数
);
}
add_action( 'admin_menu', 'myfp_add_admin_menu' );
// 设置页面的HTML内容
function myfp_settings_page() {
?>
<div class="wrap">
<h1>Nastavení mého prvního pluginu</h1>
<form method="post" action="/cs/options.php/" data-trp-original-action="options.php">
<?php
settings_fields( 'myfp_settings_group' ); // 设置字段组
do_settings_sections( 'my-first-plugin' ); // 设置区域
submit_button(); // 提交按钮
?>
<input type="hidden" name="trp-form-language" value="cs"/></form>
</div>
<br /><?php
} Nastavení registrace, pole a ukládání dat
Samotná stránka nestačí; potřebujeme využít API nastavené v WordPressu k bezpečné registraci, ověření a ukládání možností (optionů). K tomu jsou zapotřebí tři klíčové funkce:register_setting(), add_settings_section() 和 add_settings_field()。
// 初始化插件设置
function myfp_settings_init() {
// 注册一个新的设置项到数据库的 `wp_options` 表
register_setting( 'myfp_settings_group', 'myfp_footer_text' );
// 在设置页面添加一个区域
add_settings_section(
'myfp_section',
'页脚文字设置',
null, // 区域描述回调函数,这里不需要
'my-first-plugin'
);
// 在刚添加的区域里创建一个字段
add_settings_field(
'myfp_field_footer',
'显示的文本',
'myfp_field_footer_cb', // 用于输出字段HTML的回调函数
'my-first-plugin',
'myfp_section'
);
}
add_action( 'admin_init', 'myfp_settings_init' );
// 渲染文本输入字段的回调函数
function myfp_field_footer_cb() {
$text = get_option( 'myfp_footer_text', '感谢使用我的第一个插件!' ); // 获取已保存的值
echo '<input type="text" name="myfp_footer_text" value="' . esc_attr( $text ) . '" class="regular-text">'; echo '
echo '<p class="description">Text zde vložený se zobrazí v patičce webové stránky.</p>';
} Aktualizace funkce pro použití uložených nastavení
Na závěr upravíme to, co jsme předtím napsali. myfp_add_footer_text Funkce, která načte z databáze hodnoty nastavené administrátorem.
function myfp_add_footer_text() {
$footer_text = get_option( 'myfp_footer_text', '感谢使用我的第一个插件!' );
if ( ! empty( $footer_text ) ) {
echo '<p style="text-align: center;">'`. esc_html($footer_text)`.'</p>';
}
}
add_action( 'wp_footer', 'myfp_add_footer_text' ); Nyní se přihlaste do administrace WordPressu, přejděte na “Nastavení” → “Moje pluginy” a můžete změnit text v patičce stránky a uložit změny. Po obnově webové stránky uvidíte, že vlastní obsah je aktivní.
Bezpečnost pluginů, jejich optimalizace a příprava k vydání
Kvalitní plugin musí zohledňovat osvědčené postupy v oblasti bezpečnosti, výkonu a internacionalizace.
Implementace ověřování dat a jejich escapeování
Nikdy nesmíte důvěřovat datům, která zadají uživatelé, ani datům vycházejícím přímo z databáze. V předchozím příkladu jsme toho využili… esc_attr() Za účelem uniknutí atributů v poli pro zadávání textu použijte <. esc_html() V předním rozhraní se výstup musí vyhodnotit a přeformátovat („escape“). Pro složitější scénáře je vhodné použít vhodné nástroje nebo metody, které zajistí správné zpracování dat. sanitize_text_field() Použijte to k očištění vstupních dat. wp_kses_post() To umožňuje bezpečný výstup HTML kódu.
Přidat podporu internacionalizace
Aby bylo možné používat tento plugin uživateli po celém světě, je nutné připravit překlady všech textových stránek určených pro uživatele. K tomu je potřeba využít nástroje určené k správě překladů. __() 和 _e() Funkce jako „wait“ a deklarace textových polí.
Aktualizujte poznámky v části hlavy pluginu a ujistěte se, že jsou správné. Text Domain Je to v souladu s následujícími voláními. Poté změňte řetězce v kódu, například:
// 在设置字段描述中使用国际化函数
echo '<p class="description">' . esc_html__( '这里输入的文字将显示在网站页脚。', 'my-first-plugin' ) . '</p>';
// 在输出函数中使用
$default_text = __( '感谢使用我的第一个插件!', 'my-first-plugin' );
$footer_text = get_option( 'myfp_footer_text', $default_text ); Poté můžete použít nástroje jako Poedit k vytvoření… .pot Šablonový soubor, který mají překladatelé použít k vytvoření překladu. .po 和 .mo Překládání dokumentů.
Provedení finálních testů a balení
Před vydáním je nutné otestovat funkce pluginu v různých prostředích – např. s různými verzemi PHP a WordPress. Ujistěte se, že operace jako aktivace, deaktivace, uložení nastavení nebo smazání dat nezpůsobují chyby ani nezanechávají zbytečné data. Můžete napsat funkci pro odinstalaci a úklid, která zajistí, že po odinstalaci pluginu vše bude v pořádku. register_uninstall_hook() Možnost čištění databáze po odstranění doplňků uživatelem.
Na závěr souborovou složku svého pluginu kompresujte do formátu .zip. .zip Soubor. Tento kompresovaný balíček lze nainstalovat přímo pomocí funkce “Nahrát plugin” v administraci WordPress a také splňuje požadavky na formát pro odeslání do oficiálního adresáře pluginů WordPress.
Závěr
Díky této příručce jste dokončili celý proces vytvoření funkčního WordPress pluginu od nuly. Naučili jste se, jak vytvářet základní soubory pluginu, jak pomocí akčních hooků přidávat nové funkce, jak využívat API nastavení WordPress k vytvoření administrativního rozhraní, a také jste se seznámili se základními poznatky týkajícími se bezpečnosti, internacionalizace a balení pluginů. Tento jednoduchý plugin pro textový podpis na stránkách sice je základní, ale struktura pluginu, mechanismus hooků a API nastavení, které obsahuje, jsou základem pro vývoj jakéhokoli složitějšího pluginu. Nyní můžete začít zkoumat pokročilejší funkce, jako jsou shortcodes, vlastní typy článků nebo REST API endpointy, a postupně zdokonalovat své dovednosti v vývoji pluginů.
Časté dotazy
Je nutné ovládat PHP pro vývoj pluginů pro WordPress?
Ano, PHP je klíčovým programovacím jazykem pro vývoj WordPressu a jeho doplňků. Musíte ovládat základní syntaxi PHP, funkce, pole (arrayy) a koncepty objektového programování. Kromě toho je pro vývoj doplňků obsahujících uživatelské rozhraní užitečné znát HTML, CSS a základy JavaScriptu.
Můžeme si libovolně vybrat název hlavního souboru pluginu?
Možné, ale musí to odpovídat názvu hlavního PHP souboru v adresáři s pluginy. Pro lepší přehlednost bývá hlavní soubor stejný jako název adresáře s pluginy, nebo je pojmenován takto. index.phpNejdůležitější je, že záhlaví souboru musí obsahovat správný blok poznámek s informacemi o pluginu. WordPress právě na základě analýzy tohoto bloku poznámek rozpoznává jednotlivé pluginy.
Proč se nastavení mého pluginu neprojeví po uložení?
Problém prosím vyšetřete podle následujících kroků: Nejprve se ujistěte, že vaše nastavení jsou správná a že všechny požadované pole byla správně vyplněna. register_setting() Správná registrace, a… settings_fields() Název skupiny nastavení v volání funkce musí odpovídat danému názvu. Dále je třeba zkontrolovat obsah formuláře. action Ukazuje to, zda atribut odkazuje na něco konkrétního… options.phpNa závěr, při výstupu na straně klienta (frontendu), ujistěte se, že používáte správné zdroje dat a formáty. get_option() Funkce a názvy předaných parametrů jsou úplně shodné s těmi, které byly registrovány při registraci.
Jak mohu zajistit, aby můj plugin po deaktivaci odstraňoval data?
Můžete použít… register_uninstall_hook() Funkce slouží k registraci odinstalačního háčku (uninstallation hook). V callback funkci tohoto háčku můžete použít… delete_option() Funkce slouží k odstranění všech databázových údajů vytvořených při instalaci daného pluginu. Upozorňujeme, že tato operace je nevratná a měla by být provedena pouze v případě, kdy uživatel rozhodně zvolí možnost “Odstranit” plugin, nikoli “Deaktivovat” ho.
Lze bezplatné pluginy odeslat do oficiálního katalogu WordPress?
Ano, WordPress oficiálně podporuje vývojáře, kteří předkládají standardní, bezplatné pluginy do svého pluginového katalogu. K tomu potřebujete mít účet na stránkách WordPress.org a pečlivě si prostudovat příslušné pokyny pro předkládání pluginů. Váš kód musí splňovat určité kódovací standardy a nesmí obsahovat žádný škodlivý kód ani porušovat podmínky licencí. Po úspěšném předložení budou uživatelé moci váš plugin hledat a instalovat přímo z administrace WordPressu.
Jaký je další krok? Co bych měl udělat dál?
Další čtení a praktické znalosti
Následující obsah souvisí s tématem tohoto článku a je vhodný k dalšímu prostudování. Obvykle je lepší začít čtením článku, který je nejblíže vašemu aktuálnímu problému, a poté postupně přecházet k souvisejícím tématům.
- Jak vybrat a přizpůsobit si dokonalý WordPress téma?
- Průvodce vývojem WordPress pluginů: Vytvořte si svůj první vlastní plugin od nuly
- Jak stát se vývojářem WordPress pluginů: Kompletní průvodce od začátku
- Od nuly k jedné: Kompletní průvodce a praktické tipy pro vytvoření profesionální webové stránky pomocí WordPressu.
- Kompletní průvodce vývojem pluginů pro WordPress: Od základů až po pokročilé návody na vytváření profesionálních rozšíření