Základy vývoje pluginů pro WordPress
Než začnete psát kód, je velmi důležité pochopit základní koncepty WordPress pluginů. WordPress plugin je v podstatě soubor nebo soubory v PHP, které fungují pomocí různých funkcí a možností poskytovaných samotným WordPressem.API和HookSlouží k rozšíření nebo úpravě základních funkcí WordPressu. Pluginy mohou být velmi jednoduché – např. jen k přidání jednoho zkratkového kódu – stejně jako velmi složité – např. k vytvoření kompletní e-shopové platformy. Všechny pluginy jsou uloženy na…/wp-content/plugins/V adresáři má každý plugin svou vlastní složku.
Klíčem k vývoji pluginů je pochopení principů fungování WordPressu.动作钩子和过滤器钩子。动作钩子Umožňuje vám provádět vlastní PHP kód v určitých okamžicích – např. při načtení stránky nebo při zveřejnění článku.过滤器钩子Tím je vám umožněno upravovat různá data vytvářená WordPressem během jeho provozu (jako je obsah článků, nadpisy, úryvky textu). Dobrá znalost použití těchto „hooků“ (zásahových funkcí) je klíčová pro vývoj doplňků (pluginů).
Aby byly pluginy rozpoznány systémem WordPress, musí každý z nich obsahovat standardní hlavičkový komentář. Tento blok komentářů se obvykle nachází na začátku hlavního PHP souboru pluginu a poskytuje WordPress základní informace o pluginu, jako je jeho název, popis, verze, autor atd. Bez této hlavičky se plugin nezobrazí v seznamu pluginů v administraci.
Doporučujeme k přečtení. Hloubkové porozumění vývoji pluginů pro WordPress: od nuly až po vytvoření profesionálních rozšíření.。
Vytvořte svůj první plugin.
Začneme vytvořením nejjednoduššího pluginu “Hello World”. Tento plugin bude zobrazovat vlastní vítací zprávu na vrcholu panelu přehledu v administraci WordPressu.
Inicializace adresáře s pluginy a hlavního souboru
Nejprve potřebujete vytvořit prostředí pro vývoj nebo testovací webovou stránku na vašem lokálním počítači. /wp-content/plugins/ V adresáři vytvořte novou složku. Nazvěme ji… my-first-pluginPoté v této složce vytvořte hlavní PHP soubor, který obvykle pojmenujeme podle názvu pluginu. Zde ho vytvoříme… my-first-plugin.php。
在 my-first-plugin.php Na začátku souboru musí být přidána informace o hlavičce pluginu. Jedná se o “občanský průkaz” tohoto pluginu.
Napsání hlavičkových informací a hlavních funkcí pro plugin
Po vytvoření souboru jej otevřete a zadejte následující kód:
<?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
*/ Tento komentář definuje základní informace o pluginu. Po uložení souboru se přihlaste do svého WordPress administrátorského panelu a přejděte na stránku “Pluginy”. Měli byste tam vidět nový plugin s názvem “Můj první plugin”. Nyní ho aktivujte – zatím nemá žádné funkce.
Doporučujeme k přečtení. Kompletní návod k vývoji pluginů pro WordPress: vytvořte si vlastní plugin od nuly do jedné.。
Dále přidáme k němu první funkci. Použijeme… add_action() Tato funkce nasadí vlastní funkci do akčních hooků WordPressu. Pod hlavičkovými komentáři přidejte následující kód:
// 在仪表盘顶部添加欢迎信息
function my_first_plugin_admin_notice() {
echo '<div class="notice notice-success is-dismissible"><p>Vítejte u “Mého prvního pluginu”! To je úspěšný začátek.</p></div>';
}
add_action( 'admin_notices', 'my_first_plugin_admin_notice' ); Zde jsme vytvořili něco, co se nazývá… my_first_plugin_admin_notice Funkce, jejíž účelem je vypsat úsek HTML kódu určený k zobrazení oznámení ve stylu WordPress administrace. Poté jej použijeme… add_action( ‘admin_notices’, ‘my_first_plugin_admin_notice’ ) Připojte tuto funkci… admin_notices Tato akce je připojena k hooku. To znamená, že pokaždé, když WordPress v pozadí připravuje zobrazení administrativních oznámení, naše funkce bude spuštěna.
Po uložení souboru a obnovení libovolné stránky v administraci WordPressu uvidíte na vrcholu stránky zelené upozornění o úspěchu. Gratulujeme, váš první funkční plugin byl úspěšně spuštěn!
Přidání stránky pro nastavení pluginu
Kompletní plugin obvykle musí poskytovat uživatelům možnosti konfigurace. Pro “můj první plugin” přidáme jednoduchou stránku nastavení, která umožní uživatelům personalizovat text zobrazovaný v uvítací zprávě.
Vytvořit položky správního menu
Nejprve musíme do postranního panelu pro správu v backendu WordPress přidat nový položku menu. K tomu budeme potřebovat použít… add_action() Funkce byla nasazena („montována“). admin_menu „Hooky.“ Pokračujte v přidávání následujícího kódu do hlavního souboru pluginu:
// 添加插件设置页面到后台菜单
function my_first_plugin_add_menu() {
add_menu_page(
‘我的第一个插件设置’, // 页面标题
‘第一个插件’, // 菜单标题
‘manage_options’, // 权限 (manage_options 表示管理员权限)
‘my-first-plugin-settings’, // 菜单 slug
‘my_first_plugin_settings_page’, // 用于显示页面内容的回调函数
‘dashicons-smiley’, // 菜单图标 (Dashicons)
100 // 菜单位置
);
}
add_action( ‘admin_menu’, ‘my_first_plugin_add_menu’ ); add_menu_page() Tato funkce je součástí jádra WordPress a slouží k přidání hlavního menu na pozadí. Definujeme nadpis stránky, text zobrazovaný v menu a přístupová oprávnění – v tomto případě je stránka přístupná pouze pro administrátory. manage_optionsone-of-a-kind; uniqueslug…a také názvy callback funkcí používaných k výstupu obsahu stránek. my_first_plugin_settings_page。
Doporučujeme k přečtení. Průvodce pro začátečníky v oblasti cloudového hostingu: Návod k nasazení a správě cloudových serverů od nuly。
Vytvořit formulář pro stránku nastavení
Dále potřebujeme definovat… my_first_plugin_settings_page Funkce slouží k renderování HTML obsahu stránky nastavení a k zpracování logiky ukládání formulářů. Tato funkce vytvoří jednoduchý formulář, jehož data budou přenášena prostřednictvím systému WordPress. options API slouží k ukládání a načítání dat.
// 设置页面的内容
function my_first_plugin_settings_page() {
// 检查用户权限
if ( !current_user_can( ‘manage_options’ ) ) {
wp_die( __( ‘你没有权限访问此页面。’ ) );
}
// 保存表单数据
if ( isset( $_POST[‘my_first_plugin_message’] ) ) {
update_option( ‘my_first_plugin_custom_message’, sanitize_text_field( $_POST[‘my_first_plugin_message’] ) );
echo ‘<div class="“notice" notice-success is-dismissible”><p>Nastavení bylo uloženo!</p></div>’;
}
// 获取已保存的消息
$saved_message = get_option( ‘my_first_plugin_custom_message’, ‘这是一个通过设置页面定制的欢迎消息!’ );
// 输出表单 HTML
?>
<div class="“wrap”">
<h1>Nastavení mého prvního pluginu</h1>
<form method="“post”" action="/cs/“”/" data-trp-original-action="“”">
<table class="“form-table”">
<tr>
<th scope="“row”"><label for="“custom_message”">Vlastní vítací zpráva</label></th>
<td>
<input type="“text”" id="“custom_message”" name="“my_first_plugin_message”" value="”NO NUMERIC NOISE KEY" 1001” class="“regular-text”" />
<p class="“description”">Zadejte text, který chcete zobrazit v oznámeních na panelu přehledu.</p>
</td>
</tr>
</table>
<?php submit_button( ‘保存更改’ ); ?>
<input type="hidden" name="trp-form-language" value="cs"/></form>
</div>
<br /><?php
} V této funkci nejprve zkontrolujeme oprávnění uživatele. Poté zjistíme, zda byla odeslána požadavka typu POST (tj. zda uživatel klikl na tlačítko „Uložit“). Pokud ano, použijeme… update_option() Funkce uloží zprávy z formuláře do WordPressu. options V databázové tabulce a použít sanitize_text_field() Provedeme bezpečnostní filtraci. Poté použijeme… get_option() Načtěte hodnoty uložené předtím; pokud neexistují, použijte výchozí hodnoty. Nakonec vytvoříme HTML formulář obsahující vstupní pole.
Upravte funkci určenou k zasílání oznámení tak, aby používala vlastní zprávy.
Na závěr potřebujeme upravit to, co jsme předtím vytvořili. my_first_plugin_admin_notice Funkce by měla číst zprávy z uložených možností, místo aby zobrazovala pevně daný text.
// 修改后的通知函数
function my_first_plugin_admin_notice() {
// 从数据库获取自定义消息
$custom_message = get_option( ‘my_first_plugin_custom_message’, ‘欢迎使用“我的第一个插件”!这是一个成功的开始。’ );
echo ‘<div class="“notice" notice-success is-dismissible”><p>’ . esc_html( $custom_message ) . ‘</p></div>’;
} Nyní aktivujte plugin a v postranní liště v pozadí uvidíte menu “První plugin”. Klikněte na něj, změňte zprávu a uložte změny. Obnovte ostatní stránky v pozadí a uvidíte, že upozornění v horní části se změnilo na vámi vlastnoručně nastavený obsah. Tím je vytvořen malý plugin s základními funkcemi přidávání, mazání, úpravy a vyhledávání.
Nejlepší postupy pro vývoj doplňků a pokročilé techniky
Vývoj udržovatelného, bezpečného a dobře kompatibilního pluginu vyžaduje dodržování některých osvědčených postupů (best practices).
Zajistěte bezpečnost kódu a čištění dat.
Bezpečnost je nejdůležitějším aspektem při vývoji pluginů. Nikdy nesmíte důvěřovat datům, která zadávají uživatelé, ani datům pocházejícím z externích zdrojů. WordPress poskytuje řadu funkcí, které vám pomohou data očistit, vyhodnotit a ověřit.
* 净化输入:使用函数如 sanitize_text_field()、sanitize_email()、sanitize_url() Zpracovat data odeslaná při odeslání formuláře.
* 转义输出:在将任何数据输出到 HTML、JavaScript 或 URL 时,必须进行转义。使用 esc_html()、esc_attr()、esc_url() 和 wp_kses_post() Funkce jako…
* 权限检查:在进行任何管理操作之前,务必使用 current_user_can() Zkontrolujte, zda má aktuální uživatel odpovídající oprávnění, například… current_user_can( ‘manage_options’ )。
* Nonce验证:对于涉及数据更改的操作(如表单提交、AJAX请求),使用 wp_nonce_field()、wp_verify_nonce() Je to pro prevenci útoků typu „cross-site request forgery“ (CSRF). Můžeme vylepšit předchozí formulář na stránce nastavení a přidat ověřování pomocí „nonce“ hodnoty, abychom tak zvýšili bezpečnost.
Realizace internacionalizace pluginu.
Aby byl váš plugin použitelný uživateli po celém světě, je internacionalizace nezbytným krokem. To znamená, že musíte připravit překlady všech textových řetězců určených pro uživatele.
1. Použití textového pole: Definujte to v poznámkách na začátku pluginu. Text Domain(Například) my-first-plugin…) a používejte to ve všech řetězcích, které je třeba přeložit. __(‘文本’, ‘my-first-plugin’) 或 _e(‘文本’, ‘my-first-plugin’) Function wrapping.
2. Vytvoření souboru s překladem: Použijte nástroje, jako je Poedit, k prohledání všech překladatelných textových stránek v pluginu a vytvoření souboru s překladem. .pot Šablony souborů, a poté jejich překlad do různých jazyků. .po 和 .mo Dokumenty.
3. Načtení textového pole: Při inicializaci pluginu se to provádí pomocí… load_plugin_textdomain() Funkce načítá vaše překladové soubory.
Správa životního cyklu pluginů
Profesionální plugin by měl správně zpracovávat události aktivace, deaktivace a odinstalace. To můžete dosáhnout vytvořením odpovídajících hookových funkcí.
* 激活钩子:使用 register_activation_hook() Zaregistrujte funkci, která se spustí při aktivaci pluginu. Obvykle se používá k vytvoření databázových tabulek, inicializaci výchozích nastavení nebo kontrole kompatibility prostředí.
* 停用钩子:使用 register_deactivation_hook()Obvykle se používá k odstranění dočasných dat nebo k zastavení plánovaných úkolů.
* 卸载钩子:使用 register_uninstall_hook()Pozor: Tento „hook“ je určen k provedení po úplném odstranění pluginu z systému WordPress. Jeho účelem je smazání všech databázových položek, vlastních tabulek a souborů vytvořených tímto pluginem. Operace musí být prováděna opatrně a uživatel musí být o tom předem informován.
Závěr
Tento článek vás provede celým procesem vývoje WordPress pluginů od základů. Nejprve jste se seznámili s základními koncepty pluginů, zejména s úlohou akčních a filtrovacích hooků. Poté jste si sami vytvořili rámec pluginu, který obsahoval složky, hlavní soubor a standardní záhlaví informací. add_action() Funkce a admin_notices Hook implementoval první funkci zobrazování. Poté, díky přidání stránky pro nastavení pluginu, jste se naučili, jak ho používat. add_menu_page() Vytvoření backend menu a způsob jeho použití update_option() 和 get_option() Provádíme přidávání, mazání, úpravy a vyhledávání dat. Na závěr jsme probrali osvědčené postupy, kterým je třeba se při profesionálním vývoji držet – zejména pokud jde o bezpečné kódování, internacionalizaci a správu životního cyklu pluginů. Dodržováním těchto kroků a zásad získáte schopnost samostatně vytvářet jednoduché, užitečné a bezpečné WordPress pluginy a na jejich základě můžete dále zkoumat složitější funkce.
Časté dotazy
Jaké základní znalosti jsou potřebné k vývoji pluginů pro WordPress?
Potřebujete ovládnout základní gramatiku jazyka PHP, protože kód pluginů je většinou napsán v PHP. Kromě toho byste měli mít určité znalosti HTML, CSS a základních funkcí JavaScriptu, které jsou potřebné pro vytváření front-end uživatelského rozhraní a interakcí. Nejdůležitější je však být obeznámeni s jádrem architektury WordPressu, zejména s jeho…HookSystém (akce a filtry)选项API、数据库APIpřílišREST APIJe také velmi důležité pochopit kódovací standardy WordPressu a osvědčené postupy pro zabezpečení.
Jak ladit a testovat můj plugin?
Při vývoji pluginů pro WordPress existuje několik způsobů ladění. Nejprve byste měli… wp-config.php Aktivováno v souboru. WP_DEBUG 和 WP_DEBUG_LOG Konstanta, která bude sloužit k zaznamenávání chyb a varování v PHP. /wp-content/debug.log Ve souboru je to pohodlné pro vyšetřování problémů. Navíc u kódu s komplexní logikou lze použít… error_log() Funkce vypíše hodnoty proměnných do logů. Doporučuje se také vyvíjet v lokálním prostředí (např. Local by Flywheel, XAMPP) nebo na dočasných testovacích stránkách, aby nedošlo k ovlivnění produkční webové stránky. Používání systému pro správu verzí kódu (např. Git) je také dobrým zvykem.
Jak je možné, aby můj plugin komunikoval s různými verzemi WordPressu?
Pro zajištění široké kompatibility pluginu je během vývoje třeba dbát na následující body: Vyhněte se používání funkcí, které byly zavedeny až v nejnovější verzi WordPressu. Pokud je jejich použití nevyhnutelné, měli byste je použít s opatrností a s ohledem na možné kompatibilní problémy. function_exists() Provádějte podmínkové kontroly a připravte záložní plány. V komentářích na začátku pluginu to uveďte. Requires at least 和 Tested up to Ve svých dokumentacích jasně uveďte, které verze WordPressu vaše plugin podporuje. Pravidelně testujte svůj plugin na nejnovějších verzích WordPressu a včas aktualizujte informace o kompatibilitě. Dodržování oficiálních kódovacích standardů WordPressu také významně snižuje riziko kompatibilních problémů způsobených aktualizacemi jeho jádra.
Jak distribuovat svůj plugin po dokončení vývoje?
Existují dvě hlavní cesty k distribuci pluginů. První z nich je jejich bezplatné zveřejnění v oficiálním adresáři pluginů WordPress, což umožní, aby byly vaše pluginy objeveny a staženy miliony uživatelů po celém světě. K tomu je třeba navštívit stránky WordPress.org, odeslat svůj plugin a ujistit se, že kód splňuje jejich specifikace a kontrolní standardy. Druhá možnost je prodávat pluginy jako komerční produkty prostřednictvím vlastní webové stránky. V tomto případě musíte sami zvládat prodej, platby, ověřování licencí a zákaznickou podporu. U komerčních pluginů se často používá objektově orientované programování (OOP) k lepšímu uspořádání kódu a mohou být integrovány rámce pro zjednodušení správy licencí, oznámení o aktualizacích a dalších funkcí. Bez ohledu na zvolený způsob je velmi důležité poskytovat jasné dokumentace a včasnou podporu uživatelům.
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.
- Průvodce počátečníky v oblasti sdílených hostitelů: Jak si od nuly vybrat vhodný plán pro hostování webových stránek
- Doporučení 10 nejlepších WordPress pluginů pro rok 2026 – zlepšení výkonu a bezpečnosti webových stránek
- Podrobný rozbor WooCommerce: Vytvoření výkonného e-shopu na WordPressu od nuly
- 10 nejlepších WordPress pluginů pro rok 2026 – zlepšení výkonu a bezpečnosti webových stránek
- Doporučení 10 užitečných pluginů pro WordPress, které výrazně zlepší výkon a bezpečnost vašeho webu