Vývoj pluginů pro WordPress: základní techniky a praktické pokyny od začátku až po odbornost.

Čtení za 2 minuty.
2026-03-16
2026-06-03
2,121
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.

Základy vývoje pluginů pro WordPress a nastavení vývojového prostředí

WordPress pluginy jsou nezávislé sady kódu, které rozšiřují základní funkce WordPressu. Pro začátek vývoje je nejprve nutné vytvořit profesionální lokální vývojové prostředí. To obvykle zahrnuje instalaci softwaru pro lokální server (např. XAMPP, MAMP nebo Local by Flywheel), kódového editoru (např. VS Code nebo PhpStorm) a instalaci WordPressu určenou k testování. Používání lokálního prostředí pomáhá vyhnout se rizikům, která mohou vzniknout při experimentálním vývoji na webových stránkách publikovaných online.

Po přípravě je vytvoření prvního pluginu velmi jednoduché. Stačí pouze v prostředí WordPressu…wp-content/pluginsV 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. Na začátku tohoto hlavního souboru musí být standardní poznámka s hlavičkou pluginu – to je klíčové pro to, aby WordPress tento plugin rozpoznal.

Nezbytná struktura hlavního souboru pluginu

Hlavní soubor pluginu je vstupním bodem tohoto pluginu a blok komentářů na jeho začátku obsahuje řadu metadat.Plugin NameJediným povinným polem je to, které se zobrazí v seznamu pluginů v administraci WordPressu. Nejzákladnější plugin může obsahovat pouze tuto hlavičkovou informaci a žádný skutečně spouštěný kód.

Doporučujeme k přečtení. Kompletní průvodce vývojem WordPress pluginů: Od základů po pokročilé praktické návody

Níže je ukázka kódu pro nejjednodušší možnou verzi pluginového souboru:

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.
<?php
/**
 * Plugin Name: 我的第一个插件
 * Description: 这是一个用于学习的简单WordPress插件。
 * Version: 1.0.0
 * Author: 你的名字
 * License: GPL v2 or later
 * Text Domain: my-first-plugin
 */

Po uložení tohoto kódu se přihlaste do administrace WordPressu na stránce “Příslušenství” (Plugins) a tam uvidíte tento nový plugin, který můžete aktivovat. Ačkoli zatím nebude vykonávat žádné funkce, to značí oficiální začátek vývojového procesu.

Klíčové mechanismy: Akční háčky a filtry

Klíčovou filozofií vývoje pluginů pro WordPress je koncept “hooků” (anglicky “hooks”), který umožňuje vašemu kódu v určitých okamžicích nebo na základě konkrétních dat „zapojit se“ do základního procesu fungování WordPressu. Hooky se dělí především na dvě kategorie: akce (Actions) a filtry (Filters).

Akční háčky spouštějí vaši vlastní funkci po nastání určité události – například po zveřejnění článku nebo při načtení skriptů v hlavní části stránky. Slouží k provedení určitých akcí.add_action()Funkce umožňuje připojit vaši funkci k určenému akčnímu hooku (akčnímu bodu).

Přidání funkce pomocí akčních háčků

Například, pokud chcete přidat vlastní text do patra stránky webového stránky, můžete to provést pomocíwp_footerTento akční hook: Nejprve musíte v hlavním souboru pluginu napsat vlastní funkci a poté ji použít.add_action()Připojte ho k háčku.

Doporučujeme k přečtení. Ovládněte vývoj pluginů pro WordPress: Postavte si svůj první vlastní plugin od nuly

Níže je příklad implementace:

function myplugin_add_footer_text() {
    echo '<p style="text-align:center;">Děkujeme, že používáte naše webové stránky!</p>';
}
add_action( 'wp_footer', 'myplugin_add_footer_text' );

Když WordPress provede…wp_footerPři použití tohoto „háčku“ dojde k automatickému spuštění dané funkce.myplugin_add_footer_text()Funkce, vypíšte text, který jste definovali.

Upravování dat pomocí filtrovacích hooků

Filtrovací háčky slouží k úpravě dat. Zpracovávají data ještě před tím, než jsou použita (např. uložena do databáze nebo zobrazena v prohlížeči). Jejich účelem je “něco změnit” v datech.add_filter()Funkce slouží k aplikaci filtrů. Například, pokud chcete upravit všechny nadpisy článků, můžete před jejich zobrazení přidat předponu.

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.

Následující kód ukazuje, jak přidat předponu “[Doporučeno]” ke všem nadpisům článků:

function myplugin_modify_title( $title ) {
    if ( is_single() ) {
        $title = '[推荐] ' . $title;
    }
    return $title;
}
add_filter( 'the_title', 'myplugin_modify_title' );

Vytvořit stránku pro správu pluginů v pozadí

Mnoho pluginů vyžaduje, aby byly uživatelům poskytnuty možnosti konfigurace, což znamená vytvoření správního menu a nastavovacích stránek v pozadí WordPressu. WordPress nabízí řadu funkcí pro přidávání položek do hlavního menu nebo podmení.

Přidat hlavní správní menu

Můžete použít…add_menu_page()Tato funkce vytvoří pro váš plugin samostatný pozadíový menu. Vyžaduje více parametrů, mezi nimiž patří název stránky, název menu, oprávnění uživatelů, přezdívka menu a funkce na generování obsahu stránky.

Doporučujeme k přečtení. Naučím vás krok za krokem, jak začít s vývojem pluginů pro WordPress od nuly.

Zde je funkce na zpětné volání (callback function).myplugin_settings_page_htmlJe zodpovědný za generování HTML obsahu stránky pro nastavení.

Kód pro přidání menu se obvykle přidává na konci hlavního souboru kódu, tedy např. na konec skriptu nebo do koncové části HTML stránky.admin_menuTento akční háček zajišťuje, že daná akce bude provedena při inicializaci uživatelského rozhraní.

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.

Vytvoření stránky nastavení a bezpečnostního formuláře

V zpětné volací funkci na stránce nastavení potřebujete vytvořit formulář a zpracovat jeho odeslání. WordPress poskytuje API pro nastavení, které tento proces zjednodušuje – umožňuje bezpečně registrovat, uložit a zobrazit volby. Pro pochopení základních principů však můžeme nejprve prohlédnout jednoduchý příklad ručního zpracování odeslání formuláře.

Níže uvedený kód demonstruje, jak vytvořit jednoduchou nastavovací stránku obsahující pole pro vstup a bezpečně uložit data:

function myplugin_settings_page_html() {
    // 检查用户权限
    if ( ! current_user_can( 'manage_options' ) ) {
        return;
    }
    // 处理表单提交
    if ( isset( $_POST['myplugin_option'] ) ) {
        // 安全检查:验证随机数
        check_admin_referer( 'myplugin_save_settings' );
        // 清理并保存数据
        $option_value = sanitize_text_field( $_POST['myplugin_option'] );
        update_option( 'myplugin_custom_option', $option_value );
        echo '<div class="notice notice-success"><p>Nastavení bylo uloženo!</p></div>';
    }
    // 获取已保存的值
    $saved_value = get_option( 'myplugin_custom_option', '默认值' );
    ?&gt;
    <div class="wrap">
        <h1>Nastavení mého pluginu</h1>
        <form method="post" action="">
            <?php wp_nonce_field( 'myplugin_save_settings' ); ?>
            <label for="myplugin_option">Možnosti:</label>
            <input type="text" id="myplugin_option" name="myplugin_option" value="<?php echo esc_attr( $saved_value ); ?>" />
            <?php submit_button( '保存更改' ); ?>
        <input type="hidden" name="trp-form-language" value="cs"/></form>
    </div>
    <br />&lt;?php
}

Pokročilý vývoj a vydávání pluginů

Když se funkce pluginů stávají složitějšími, je důležitá správná organizace kódu. Doporučuje se použít objektově orientované programování (OOP) a funkce pluginů zabalené do tříd. To pomáhá předcházet konfliktům názvů funkcí a činí strukturu kódu jasnější a snazší na údržbu.

Internationalizace pluginů je klíčem k jejich širokému použití po celém světě.__()_e()Funkce jako „wrap“ obalí veškerý text určený pro uživatele a poté…load_plugin_textdomain()Funkce načítá soubory s překladovými informacemi. Je třeba správně nastavit tyto parametry v poznámkách na začátku pluginu.Text DomainTo je také nezbytné.

Přípravné kroky před vydáním pluginu

Před tím, než příslušný plugin odešlete do oficiálního katalogu nebo ho začnete distribuovat, je nutné ho důkladně otestovat. To zahrnuje testování kompatibility s různými verzemi PHP, WordPressu, stejně jako s různými kombinacemi temat a pluginů. Kód by měl dodržovat standardy kódování WordPressu a měl by být chráněn proti bezpečnostním hrozbám – všechny uživatelské vstupy by měly být ověřeny, očištěny a přeformátovány (např. pomocí funkce escape).

Napište jasné pokyny pro plugin.README.txtSoubor obsahuje popis jeho funkce, postup instalace, časté otázky a další důležité informace. Nakonec zkompilujte kód do souboru ve formátu ZIP a můžete jej nahrát do adresáře s pluginy na stránkách WordPress.org nebo jej distribuovat na svém vlastním webu.

Závěr

Vývoj WordPress pluginů začíná pochopením základních mechanismů hooků, postupně se přechází k vytváření uživatelských rozhraní, organizaci struktury kódu a nakonec k bezpečnému vydání pluginu. Základem je ovládnutí použití akčních (action) a filtrovacích (filter) hooků – jedná se o nástroje, které umožňují interakci s WordPressem. Ať už jde o přidání jednoduché funkce nebo vytvoření komplexního komerčního pluginu, dodržování bezpečnostních standardů kódování, důkladné testování a zohlednění možností internacionalizace jsou klíčovými faktory k úspěchu. Díky pravidelné praxi budete schopni vytvářet silné, stabilní a populární WordPress pluginy.

Časté dotazy

Je nutné se naučit PHP před tím, než začnete vytvářet pluginy?

Ano, solidní znalosti základů PHP jsou nezbytné pro vývoj pluginů pro WordPress. Většina samotného WordPressu a jeho pluginů je totiž napsána v PHP. Potřebujete znát syntaxi PHP, funkce, proměnné, pole, koncepty objektového programování a podobně, abyste mohli efektivně psát a ladit kód pluginů.

Jak zabránit tomu, aby názvy funkcí mých pluginů kolizovaly s názvy funkcí jiných pluginů?

Nejlepší praxí pro předcházení konfliktům názvů funkcí je použití objektově orientovaného programování a zabalení všech vašich funkcí do metod v jedné třídě. Pokud používáte procedurální programování, měli byste všem názvům funkcí přidat jedinečný předponu, která obvykle souvisí s názvem vašeho pluginu nebo jeho zkratkou.myplugin_mp_To může výrazně snížit pravděpodobnost konfliktů při pojmenovávání.

Proč po uložení nastavení mého pluginu zmizí po obnovení stránky?

To je obvykle způsobeno tím, že nebyla správně zpracována validace náhodných čísel při odeslání formuláře. Před uložením dat z formuláře je nutné použít…check_admin_referer()wp_verify_nonce()Funkce slouží k ověření náhodného čísla, aby bylo zajištěno, že požadavek pochází z ověřeného zdroje a aby bylo zabráněno útokům typu „cross-site request forgery“ (CSRF). V případě neúspěšné verifikace WordPress zabrání uložení dat.

Jak mohu zajistit, aby text v mém pluginu byl přeložen do jiných jazyků?

Potřebujete internacionalizovat všechny textové stránky určené pro uživatele v tomto pluginu. Pro to použijte…__()Funkce získává překlad řetězce, nebo jej používá._e()Funkce vydává výstup přímo. Také je potřeba to zajistit při inicializaci pluginu (např. při jeho připojení k systému).plugins_loadedHook (zvaný také „call”)load_plugin_textdomain()Funkce slouží k načtení odpovídajícího jazykového souboru. Nástroje jako Poedit vám mohou pomoci s jeho vytvořením..potŠablony a.po/.moPřekládání dokumentů.