WordPress je nejpopulárnější systém pro správu obsahu na světě a jeho vysoká rozšiřitelnost je do značné míry způsobena jeho architekturou založenou na pluginech. Když zjistíte, že stávající funkce nedostatečně splňují vaše požadavky, vývoj vlastního pluginu se stává nejlepší možností. Tím nejen řešíte konkrétní problém, ale zároveň získáváte hluboké pochopení základních principů fungování WordPressu. Tento průvodce vás provede celým procesem vývoje vašeho prvního WordPress pluginu – od nastavení prostředí přes psaní kódu až po jeho finální publikaci.
Příprava vývojového prostředí a nástrojů
Než začnete psát kód, potřebujete vhodné vývojové prostředí. To vám zajistí efektivní vývojový proces a dodržování nejlepších postupů při práci s WordPressem.
Nastavení lokálního vývojového prostředí.
Preferovaným řešením je vytvoření lokálního serverového prostředí na vlastním počítači. Můžete použít nástroje jako XAMPP, MAMP (pro Mac), WAMP (pro Windows) nebo flexibilnější řešení typu Docker. Tyto sady nástrojů obsahují server Apache, databázi MySQL a jazyk PHP a perfektně simulují podmínky provozu WordPressu online. Po instalaci lokálního serveru stáhněte nejnovější verzi WordPressu z oficiálních webových stránek WordPress.org a nakonfigurujte ji podle standardního postupu “5 minutové instalace”.
Doporučujeme k přečtení. Průvodce vývojem WordPress pluginů: Postavte si svůj první funkční plugin od nuly。
Kódové editory a nezbytné nástroje
Silný editor kódu je nezbytný. Visual Studio Code, PhpStorm nebo Sublime Text jsou výborné volby – poskytují výrazové zvýraznění kódu, inteligentní podporu při psaní kódu a funkce pro ladění. Kromě toho potřebujete také systém pro správu verzí, např. Git, pro správu změn ve vašem kódu. Ačkoli první doplněk (plugin) může být jednoduchý, je důležité si vytvořit návyk používat systémy pro správu verzí pro budoucí vývoj.
Vytvořte svůj první soubor plug-inu.
Každý plugin pro WordPress začíná hlavním souborem, který obsahuje záhlavové poznámky (header comments) nezbytné k tomu, aby WordPress rozpoznal daný plugin.
Struktura hlavního souboru pluginu
V adresáři s vaší lokální instalací WordPressu přejděte do…wp-content/pluginsSložka. Zde vytvořte novou složku a pojmenujte ji…my-first-plugin(Název by měl být stručný a popisovat funkce pluginu.) V této složce vytvořte PHP soubor, který obvykle nese stejný název jako složka:my-first-plugin.phpTento soubor bude vstupním bodem pro plugin.
Napsat informace o hlavičce pluginu
Na začátku tohoto hlavního souboru musíte přidat blok poznámek pro hlavičku pluginu, který odpovídá standardům WordPress. Tyto poznámky poskytují základní informace o pluginu. Zde je nejzákladnější příklad:
<?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
*/ Tento kód je “identifikátorem” pluginu.Plugin NameToto je povinné pole – určuje název pluginu, který se zobrazí v administračním rozhraní WordPressu. Doporučujeme také doplnit další informace, jako je popis a verze pluginu. Po uložení souboru přejděte na stránku “Pluginy” v administraci WordPressu a měli byste vidět svůj první plugin v seznamu pluginů; můžete ho poté aktivovat. V tuto chvíli nemá tento plugin žádné funkce.
Doporučujeme k přečtení. Kompletní průvodce vývojem WordPress pluginů: Vytvořte si svůj první funkční plugin od nuly。
Přidání základních funkcí pro plugin
Po aktivaci pluginu mu přidáme dvě nejzákladnější funkce: možnost přidání vlastního textu za obsah článku a vytvoření jednoduché správní stránky.
Použití „hooků“ k úpravě obsahu článku
Jádrem WordPressu jsou “hooky” (závěsy), které vám umožňují vložit vlastní kód v určitéch časech během provádění aplikace. Akční hooky (Action Hooks) se používají k provedení určité akce, zatímco filtrační hooky (Filter Hooks) slouží k úpravě dat. Chceme přidat řádek textu na konci obsahu článku, a to vyžaduje použití hooků.the_contentTento filtrovací háček.
Pod poznámkami v hlavě vašeho hlavního pluginového souboru přidejte následující funkci a hooky:
// 在文章内容末尾添加自定义文本
function myfp_add_footer_text( $content ) {
// 仅在主循环的单篇文章页面添加
if ( is_single() && in_the_loop() && is_main_query() ) {
$custom_text = '<p><em>Děkujeme, že jste si to přečetli! Tento článek byl vytvořen pomocí nástroje “Můj první plugin”.</em></p>';
$content .= $custom_text;
}
return $content;
}
// 将函数挂载到‘the_content’过滤器上
add_filter( 'the_content', 'myfp_add_footer_text' ); Po uložení souboru obnovte stránku článku na webové stránce a dole v obsahu článku uvidíte přidaný text. V tomto kódu…myfp_add_footer_textFunkce přijímá původní data.$contentPo zkontrolování podmínek stránky byl za ní přidán vlastní text v podobě HTML odstavce a nakonec byl vrácen upravený obsah.add_filter()Funkce následně spojuje naši vlastní funkci s klíčovými filtry WordPressu.
Vytvořte jednoduchý správní menu.
Následně vytvoříme stránku pro nastavení tohoto pluginu v administraci WordPressu. To zahrnuje použití akčních háčků (action hooks) k přidání nového položky do správního menu. Přidejte následující kód:
// 在后台管理菜单中添加一个新页面
function myfp_add_admin_menu() {
add_menu_page(
'我的第一个插件设置', // 页面标题
'我的插件', // 菜单标题
'manage_options', // 所需权限
'my-first-plugin', // 菜单slug
'myfp_admin_page_html', // 用于输出页面内容的回调函数
'dashicons-admin-generic', // 图标(可选)
100 // 菜单位置
);
}
add_action( 'admin_menu', 'myfp_add_admin_menu' );
// 定义管理页面的HTML内容
function myfp_admin_page_html() {
// 检查用户权限
if ( ! current_user_can( 'manage_options' ) ) {
return;
}
?>
<div class="wrap">
<h1><?php echo esc_html( get_admin_page_title() ); ?></h1>
<p>Vítejte na stránce nastavení “Mého prvního pluginu”. To je začátek!</p>
</div>
<br /><?php
} Uložte změny a obnovte stránku v administraci WordPressu. Měli byste vidět nový položku v menu “Moje pluginy” poblíž spodní části levého menu. Kliknutím na ni se dostanete na jednoduchou stránku se nastaveními. Zde…add_menu_page()Funkce je zodpovědná za registraci hlavní stránky menu.myfp_admin_page_html()Funkce je zodpovědná za renderování HTML obsahu této stránky.
Bezpečnost pluginů a optimalizace kódu
Při vývoji doplňků je bezpečnost a udržovatelnost klíčovými aspekty, které je třeba zvážit hned od začátku.
Doporučujeme k přečtení. Začněme od začátku: Proč si vybrat vývoj pluginů pro WordPress?。
Data validation and escaping
Nikdy nesmíte důvěřovat datům zadaným uživateli ani datům z externích zdrojů. Před tím, než jakékoli data vypíšete do prohlížeče nebo je uložíte do databáze, je nutné je zpracovat. WordPress poskytuje mnoho pomocných funkcí. Například při vypisování proměnných do HTML atributů je vhodné použít vhodné funkce, které zajistí správnou formátaci a bezpečnost dat.esc_attr()Při výstupu do HTML textu se použije:esc_html()Při výstupu do URL se použije…esc_url()V předchozím…myfp_admin_page_html()Ve funkci jsme použili…esc_html()Zajistěte bezpečné vysílání nadpisu stránky.
Používejte třídy k organizaci kódu.
S rostoucím počtem funkcí pluginů může umístění všech funkcí do globálního jmenného prostoru snadno vést ke konfliktům a zmatku. Používání PHP tříd k zabalení funkcí pluginů je dobrým zvykem. To může zlepšit organizaci kódu, jeho čitelnost a přenositelnost. Níže je uveden základní rámec pro přepsání našich předchozích funkcí pomocí tříd:
class My_First_Plugin {
// 构造方法,用于初始化钩子
public function __construct() {
add_filter( 'the_content', array( $this, 'add_footer_text' ) );
add_action( 'admin_menu', array( $this, 'add_admin_menu' ) );
}
public function add_footer_text( $content ) {
// ... 函数实现同上 ...
}
public function add_admin_menu() {
// ... 函数实现同上 ...
}
public function admin_page_html() {
// ... 函数实现同上 ...
}
}
// 实例化插件类
new My_First_Plugin(); Tento přístup spojuje všechny relevantní metody a vlastnosti do jednoho objektu, což činí strukturu ještě jasnější.
Závěr
Díky této příručce jste dokončili základní kroky při vytváření WordPress pluginu od nuly: nastavení prostředí, vytvoření souboru pluginu s standardními záhlavími, použití akčních a filtrovacích hooků k přidávání funkcí do obsahu článků, a také vytvoření správního rozhraní. Zároveň jste se seznámili s důležitostí bezpečnosti a uspořádání kódu. To je však pouze začátek – svět vývoje WordPress pluginů je velmi rozsáhlý a můžete objevovat další pokročilé funkce, jako jsou shortcodes, widgety, vlastní typy článků (Custom Post Types) nebo REST API endpointy. Nezapomeňte, že čtení základního kódu, studium implementací vydařených pluginů a prohlížení oficiálních dokumentací pro vývojáře je nejlepším způsobem, jak se neustále zlepšovat.
Časté dotazy
K vývoji plug-inů je nutné ovládat následující technologie:
Pro vývoj pluginů pro WordPress je nutné ovládat základy jazyků PHP, HTML, CSS a JavaScript. PHP je zde klíčový, protože samotný WordPress je napsán v PHP a právě pomocí tohoto jazyka budete vytvářet logiku pluginů. HTML/CSS slouží k vytváření uživatelského rozhraní, zatímco JavaScript (zejména jQuery a moderní standardy jako ES6+) může pomoci zlepšit interaktivitu a provádět AJAX požadavky. Základní znalosti databáze MySQL jsou také užitečné při práci s daty.
Proč se můj plugin nezobrazuje v pozadí (v backendu)?
Nejprve zkontrolujte následující body: 1. Je hlavní soubor pluginu umístěn v adresáři <wp-content/pluginsV samostatné složce v adresáři. 2. Komentáře v záhlaví plug-inu hlavního souboru (zejména <Plugin Name:Je formát správný a bez chyb? 2) Je kódování souboru UTF-8 bez BOM? 3) Došlo k sintaktické chybě, která způsobila selhání analýzy PHP? Můžete si to ověřit v ladícím logu WordPressu (nutné v případě, že je aktivován).wp-config.phpAktivovat v čínštiněWP_DEBUG)。
Jak otestovat plugin, aniž by to ovlivnilo webové stránky v reálném prostředí?
Doporučujeme výrazně vyvíjet a testovat doplňky v lokálním vývojovém prostředí (např. Local by Flywheel, XAMPP) nebo na nezávislém testovacím serveru (Staging Site). Nikdy nesmíte testovat neověřené nové doplňky přímo na produkčním webu, který je v provozu a obsahuje důležité data. Pro správu kódu používejte nástroje pro správu verzí (např. Git), abyste mohli snadno vrátit systém do předchozí verze v případě výskytu problémů.
Jak by měly být pluginy aktualizovány na novější verze?
Měl bys to aktualizovat v poznámkách na začátku hlavního souboru pluginu.Version:Pole. Pro větší aktualizace se doporučuje používat semantické verzování (SemVer): například oprava chyby zvyšuje číslo revize (1.0.1), nová funkce kompatibilní se staršími verzemi zvyšuje číslo sekundární verze (1.1.0), zatímco nekompatibilní aktualizace zvyšuje číslo hlavní verze (2.0.0). Můžete také implementovat mechanismus detekce aktualizací (např. uložení informací o pluginu na vlastním serveru nebo v adresáři WordPress pluginů), aby uživatelé dostávali upozornění na aktualizace v pozadí.
Jaké jsou požadavky na zveřejnění plug-inu do oficiálního katalogu?
Pokud chcete svůj plugin odeslat do oficiálního adresáře pluginů na WordPress.org, musíte splnit následující podmínky: Kód pluginu musí být kompatibilní s licencí GPLv2 nebo vyšší; kvalita kódu musí být dostatečná a musí odpovídat „WordPress Coding Standards“; funkce pluginu musí být univerzální a užitečné – nesmí být určeny výhradně pro konkrétní webovou stránku; plugin nesmí obsahovat škodlivý kód nebo nežádoucí odkazy. Před odesláním si pečlivě přečtěte podrobné pokyny a požadavky v „Developer Center“ na oficiálním adresáři.
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.
- Proč zvolit WordPress jako preferovanou platformu pro výstavbu webových stránek?
- Průvodce základymi WordPressu: Vytvořte si své první profesionální webové stránky od nuly
- Co je WordPress? Představení komplexního systému pro správu obsahu
- Předmluva: Proč zvolit WordPress pro vývoj
- Jak vybrat a přizpůsobit si dokonalý WordPress téma?