Začínáme od nuly s vývojem WordPress pluginů: podrobné vysvětlení funkcí, standardů a osvědčených postupů.

Čtení za 2 minuty.
2026-03-19
2026-06-03
2,720
Získávám provize, když nakupujete prostřednictvím níže uvedených odkazů, aniž by vás to něco stálo navíc.

Pochopení pluginů: Základní stavební kámen rozšíření architektury WordPress

WordPress plugin je v podstatě sada kódových souborů napsaných v PHP, které interagují s jádrem systému prostřednictvím standardních rozhraní poskytovaných WordPressem. Díky tomu lze webové stránky rozšířit o nové funkce nebo změnit jejich chování, aniž by bylo nutné měnit samotný základní kód WordPressu. Plugin může být velmi jednoduchý – obsahovat pouze několik řádků kódu – nebo naopak velmi složitý – může se skládat z stovek souborů tvořících kompletní aplikaci.

Klíčovou hodnotou pluginů je jejich modulární struktura. Dodržují princip “plug and play” („připoj a použij“), což umožňuje správcům webů flexibilně kombinovat funkce podle konkrétních potřeb. Z technického hlediska interagují pluginy s WordPressem především pomocí dvou mechanismů: akčních háčků (Action Hooks) a filtrovacích háčků (Filter Hooks). Akční háčky vám umožňují spouštět vlastní kód v určitých okamžicích (např. před načtením stránky nebo po zveřejnění článku), zatímco filtrovací háčky vám umožňují upravovat data vytvořená během provozu WordPressu (jako je obsah článků, nadpisy, položky v menu atd.).

Je také důležité pochopit strukturu adresáře s pluginy v WordPressu. Všechny pluginy jsou uloženy v…/wp-content/plugins/V adresáři jsou umístěny jednotlivé pluginy. Každý plugin obvykle obsahuje samostatný hlavní složku, jejíž název musí být jedinečný a výstižný. V této složce musí být přinejmenším jedna hlavní PHP soubor. V hlavičce tohoto souboru jsou uvedeny všechny metadatové informace potřebné pro rozpoznání pluginu systémem WordPress.

Doporučujeme k přečtení. Kompletní průvodce vývojem pluginů pro WordPress: od začátků až po praktické příklady.

Vytvořte svůj první plugin: Začněte z základních souborů.

Chcete-li začít vytvářet pluginy, nejprve je potřeba…/wp-content/plugins/V adresáři vytvořte nový složku, například…my-first-pluginPoté v této složce vytvořte hlavní PHP soubor, jehož název obvykle odpovídá názvu složky, například:my-first-plugin.php

UltaHost – hosting služby pro weby postavené na platformě WordPress
Záruka vrácení peněz do 30 dnů, neomezený šířka pásma a databáze, bezplatná ochrana proti DDoS útokům. Sleva 501 TP4T při nákupu na 3 roky.

Napsat informace o hlavičce pluginu

Každý plugin pro WordPress musí začínat blokem PHP komentářů ve standardním formátu, který se nazývá „Plugin Header“. WordPress na základě těchto informací zobrazuje v administračním rozhraní název pluginu, popis, verzi a další podrobnosti. Níže je příklad takového „Plugin Header“:my-first-plugin.phpZákladní obsah souboru:

<?php
/**
 * Plugin Name:       我的第一个插件
 * Plugin URI:        https://example.com/my-first-plugin
 * Description:       这是一个用于学习WordPress插件开发的示例插件。
 * Version:           1.0.0
 * Author:            你的名字
 * Author URI:        https://yourwebsite.com
 * License:           GPL v2 or later
 * Text Domain:       my-first-plugin
 * Domain Path:       /languages
 */

V tomto komentáři…Plugin NameJedná se o jediné povinné pole; ostatní pole jsou volitelná. Pro úplnost a profesionalitu tohoto doplňku však doporučujeme vyplnit všechna pole, pokud je to možné.Text DomainDomain PathSlouží k internacionalizaci (i18n) a lokalizaci pluginů.

Implementovat jednoduchou funkci

Teď přidáme tomuto pluginu jednoduchou funkci: automatické vložení určitého textu na konec obsahu článku. Pro to použijeme…the_contentTento filtrovací hook – přidejte následující kód pod hlavičkové informace hlavního PHP souboru:

// 防止直接访问文件
if ( ! defined( 'ABSPATH' ) ) {
    exit; // 如果ABSPATH未定义,则退出
}

/**
 * 在文章内容末尾添加自定义文本
 * @param string $content 原始文章内容
 * @return string 修改后的文章内容
 */
function myfp_add_text_to_content( $content ) {
    // 确保仅在主循环的单篇文章页面执行
    if ( is_single() &amp;&amp; in_the_loop() &amp;&amp; is_main_query() ) {
        $custom_text = '<p><em>Tento text vám přináší “Můj první plugin”.</em></p>';
        $content .= $custom_text;
    }
    return $content;
}
// 将我们的函数挂载到‘the_content’过滤器上
add_filter( 'the_content', 'myfp_add_text_to_content' );

Tento kód definuje funkci.myfp_add_text_to_contentPřijímá obsah článku.$contentJako parametr, a poté použít podmínkové značky.is_single()Počkejte na kontrolu, abyste se ujistili, že text HTML se přidává až na konci obsahu pouze v hlavním dotazu na stránce konkrétního článku. Nakonec…add_filter()Tato funkce nakonfiguruje toto vlastní funkce tak, aby byla dostupná v WordPressu.the_contentNa filtru.

Doporučujeme k přečtení. Kompletní průvodce vývojem pluginů pro WordPress: vytvořte svůj první plugin od nuly do jedné

Dodržovat základní vývojové normy

Dodržování kódovacích standardů WordPress je základem pro vývoj kvalitních, udržovatelných a bezpečných pluginů. To se týká nejen stylu kódu, ale také bezpečnostních postupů a návrhu architektury.

Kódová struktura a pravidla pojmenovávání

WordPress PHP kód většinou dodržuje následující standardy a zásady:Standardy kódování PHP pro WordPressKlíčové body zahrnují: používání malých písmen a podtržecích jako oddělovačů při pojmenovávání funkcí a proměnných (např.)myplugin_do_somethingPři pojmenovávání tříd se používá velká hřebenatá skloňovací metoda (např.MyPlugin_Admin_SettingsKonstanty se vždy píšou všech písmen velkých a jsou odděleny podtržkou (např.MYPLUGIN_VERSION)。

Veškerý kód pluginů by měl být řádně uspořádán do funkcí, tříd nebo jmenných prostorů, aby se předešlo nežádoucím efektům v globálním oboru platnosti. Doporučujeme přidat jedinečný předponový znak k názvům funkcí a tříd vašeho pluginu – např. zkratku názvu pluginu – aby nedošlo ke kolizi s názvy funkcí jádra WordPressu, jiných pluginů nebo témat.

Shared hosting na hosting.com
Vysoký výkon, vybavený procesorem AMD EPYC, úložištěm NVMe SSD a LiteSpeedem, nepřetržitá interní podpora odborníků 24 hodin denně a 7 dní v týdnu, pokročilá bezpečnostní opatření včetně SSL, ochrany proti útokům hrubou silou, malwaru a DDoS, úspora až 731 TB/měsíc.

Bezpečnost je nejvyšším prioritním.

Bezpečnost musí být začleněna do každé fáze vývoje doplňků. Základním pravidlem je: nikdy nespoléhejte na data zadaná uživateli. Všechna data získaná z vnějších zdrojů (např.…)$_GET$_POST$_COOKIEPřed použitím pro databázové dotazy, výstup do prohlížeče nebo operace s souborovým systémem je nutné vše ověřit, očistit nebo escapeovat.

Pro data vypisovaná na HTML stránky se používá…esc_html()esc_attr()Pro funkce typu „escape“ je nutné použít specifické způsoby jejich použití. Při operacích s databází je rovněž nezbytné využívat příslušné nástroje a postupy.$wpdbMetody poskytované třídou (například$wpdb->prepare()To je způsob, jak zabránit SQL injectionům. Při provádění operací s souborovým systémem by měla být použita API souborového systému WordPressu.WP_Filesystem

Kromě toho je velmi důležité provést kontrolu uživatelských oprávnění. Před prováděním správních operací nebo přístupem k citlivým datům musíte vždy použít odpovídající ověřovací mechanismy.current_user_can()Funkce ověřuje, zda má aktuální uživatel příslušná oprávnění („Capability“), například…‘manage_options’

Doporučujeme k přečtení. Od nuly ke jedničce: Postupně vás naučíme základním technikám vývoje pluginů pro WordPress

Pokročilé postupy v vývoji doplňků (plug-inů)

Když se funkce pluginů stávají složitějšími, je důležitý jak kvalitní návrh architektury, tak i implementace pokročilých funkcí.

Vytvoření stránky pro nastavení administrátora

Většina pluginů vyžaduje administrativní stránku, na které může uživatel provádět konfiguraci. Obvykle je tato stránka dostupná prostřednictvím…add_menu_page()add_submenu_page()Funkce by měla být přidána do správního menu WordPressu. Nejlepší praxí je uložit veškerý kód související s stránkou nastavení (HTML formuláře, logiku ukládání možností atd.) do jedné třídy nebo do samostatného souboru.

Shared hosting od InterServeru
Sdílený hosting za 1 TB + 5 TB měsíčně za 2,50 USD, slevový kód tryinterserver pro první měsíc za 1 TB + 5 TB za 0,1 USD, a 461 skriptů cloudových aplikací k jednoduché instalaci.

Nejprve použijteadd_action( ‘admin_menu’, ‘myplugin_add_admin_menu’ )Přijďte se registrovat do menu. V funkcí volání zpět (callback function).myplugin_add_admin_menuV tomto kontextu můžete definovat nadpisy stránek, nadpisy menu, oprávnění, identifikátory menu („slugs“) a funkce na vykreslení obsahu stránek. Pro uložení nastavení doporučujeme použít WordPress API pro nastavení (Settings API), které automaticky zpracovává bezpečnostní ověření a serializaci dat.

Efektivní využití akčních a filtrovacích hooků

Znalost systému hooků v WordPressu je klíčová pro vývoj pokročilých pluginů. Kromě použití existujících hooků by skvělý plugin měl také poskytovat vlastní, přizpůsobené hooky, aby další vývojáři mohli váš plugin rozšiřovat.

Použitído_action( ‘myplugin_custom_hook’, $some_data )Vytvořme akční hook, který umožní ostatním vývojářům v tomto okamžiku vložit kód. Použijte…apply_filters( ‘myplugin_filter_data’, $data_to_filter )Vytvořte filtrový háček, který umožní ostatním vývojářům upravovat určité data ve vašem pluginu.

Tento designový vzor výrazně zvyšuje rozšiřitelnost a flexibilitu pluginů. Například můžete přidat filtrový háček před uložením dat v pluginu, aby je mohly upravit jiné pluginy; nebo můžete spustit akční háček po dokončení provedení nějaké úlohy, aby bylo možné provést následné záznamy do logů nebo odeslání notifikací.

Zpracování aktivace a deaktivace pluginů

Když uživatel aktivuje nebo deaktivuje plugin, může být potřeba provést některé jednorázové úkoly, jako je vytvoření databázových tabulek, inicializace výchozích nastavení nebo úklid dočasných dat. To lze dosáhnout registrací hooků pro aktivaci a deaktivaci.

Ve vašem hlavním souboru pluginu použijte…register_activation_hook( FILE, ‘myplugin_activate’ )Definujte funkci, která se spustí při aktivaci. Je důležité si uvědomit, že v rámci této funkce by se mělo vyhnout volání funkcí, které nemusí být definovány (např. některé API, které se načítají pouze na konkrétních administrátorských stránkách), a že pro složité inicializační úkoly (jako je vytvoření databázových tabulek) by mělo být zváženo použití robustnějšího “kontrolního režimu verze databáze”, místo toho, abychom je pokaždé při aktivaci pokoušeli vytvořit znovu.

Závěr

Vývoj pluginů pro WordPress je velmi cennou dovedností, která umožňuje přeměnit kreativní nápady na konkrétní funkce webových stránek. Jádrem tohoto procesu je pochopení systému hooků (akce a filtry) v WordPressu a využití tohoto mechanismu k napsání kódu v PHP, který splňuje standardy kódování a bezpečnostní požadavky. Začněte správným zadaním informací v hlavičce pluginu, postupně implementujte požadované funkce a mějte neustále na paměti potřebu ověřovat uživatelské vstupy, jejich převodu do vhodné podoby a čištění výstupních dat – to je základ pro bezpečnost a stabilitu vašeho pluginu. S rozvojem svých dovedností se naučíte vytvářet stránky nastavení s jasnou strukturou, vytvářet vlastní hooky pro další vývojáře a správně zpracovávat celý životní cyklus pluginu. Díky tomu se váš plugin stane nejen “funkčním”, ale také “profesionálním” a “důvěryhodným” nástrojem. Dodržováním těchto principů a osvědčených postupů budete schopni vytvářet efektivní, bezpečné a snadno udržovatelné pluginy pro WordPress.

Časté dotazy

Jaké základní znalosti jsou potřebné k vývoji WordPress pluginů?
Pro vývoj pluginů pro WordPress je nutné ovládat základy programovacího jazyka PHP, včetně proměnných, funkcí, tříd a základní syntaxe. Je také důležité mít základní znalosti HTML, CSS a JavaScript, abyste mohli spravovat vzhled a interakce na straně klienta. Nejdůležitější však je porozumět základní architektuře WordPressu, zejména fungování akčních háčků (Action Hooks) a filtrovacích háčků (Filter Hooks).

Jak ladit a testovat vlastně vyvinuté pluginy?

Doporučujeme zapnout funkce WordPressu.WP_DEBUGRežim, který umožňuje vypisovat chyby a varování PHP do souborů protokolů nebo na obrazovku, vám pomůže rychle lokalizovat problémy. Můžete to nastavit tak, že…wp-config.phpDefinováno v souborudefine( ‘WP_DEBUG’, true );Zapněte ho. Kromě toho může výrazně zvýšit efektivitu ladění použití nástrojů pro vývojáře v prohlížeči k prohlížení konzole a síťových požadavků, stejně jako profesionálních ladících doplňků, jako je Query Monitor. Při testování logiky kódu byste měli dodržovat zásadu “testovat během vývoje” a ověřovat funkce v různých scénářích (různé stránky, různé uživatelské role).

Jak při vývoji doplňků (pluginů) předejít konfliktům s jinými doplňky?

Hlavní metodou, jak předejít konfliktům, je používat jedinečné předpony pro pojmenování všech vašich funkcí, tříd, konstant a globálních proměnných. Tato předpona by měla být dostatečně jedinečná – nejlépe by to mohlo být název vašeho pluginu nebo jeho zkratka. Například, pokud váš plugin nazýváte “Awesome Gallery”, můžete použít předponu jako „agal“.ag_awesome_gallery_Jako předpona. Dále je také efektivním způsobem izolace zabalit kód do tříd nebo jmenných prostorů. Při výstupu CSS a JavaScriptu je třeba zajistit, aby selektory byli specifické, a zvážit použití názvů pluginů jako ID nebo tříd kontejnerových prvků.

Jak po dokončení vývoje pluginu odeslat tento plugin do oficiálního adresáře pluginů?

Chcete-li nahrát plugin do oficiálního adresáře pluginů na WordPress.org, nejprve si musíte vytvořit účet na WordPress.org a odeslat název pluginu ke zkontrolě. Po schválení musíte pomocí nástroje SVN (Subversion) nahrát kód vašeho pluginu do přiděleného SVN repozitáře. Kód pluginu musí obsahovat standardní informace o hlavičce pluginu a…readme.txtSoubor popisující plugin v určitém formátu musí splňovat všechna pravidla a zásady vývoje a bezpečnosti WordPress. Po odeslání bude plugin posouzen týmem recenzentů, kteří prověří jeho kód. Po úspěšné kontrole bude plugin zpřístupněn ve veřejném adresáři.