Od nuly: Kompletní návod k vývoji pluginů pro WordPress a praktický tutoriál

Čtení za 3 minuty.
2026-03-12
2026-06-04
2,442
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.

Přípravné práce a nastavení prostředí.

Než začnete psát kód, je velmi důležité mít stabilní a efektivní vývojové prostředí. To nejenže zajistí, že váš plugin bude mít přehlednou strukturu i v budoucím vývoji, ale také vám umožní využívat moderní nástroje k zvýšení efektivity práce.

Nastavení lokálního vývojového prostředí.

Doporučujeme použít lokální serverové prostředí, jako je Local by Flywheel, XAMPP nebo MAMP. Tyto nástroje vám umožní rychle na vašem počítači nastavit prostředí vhodné pro provoz WordPressu s použitím serverů Apache/Nginx, databáze MySQL a jazyka PHP. Ujistěte se, že verze PHP, kterou používáte, je kompatibilní s verzí, kterou plánujete nasadit na vašem cílovém serveru, a zapněte funkci hlášení chyb – to vám pomůže rychleji identifikovat problémy během počáteční fáze vývoje.

Výběr editorů a nástrojů pro kódování

Prvním krokem je výběr výkonného editoru kódu, např. Visual Studio Code, PhpStorm nebo Sublime Text. Tyto nástroje obvykle poskytují výrazové zvýraznění kódu, podporu při psaní kódu a integraci s nástroji pro správu verzí. Kromě toho vám instalace nástrojů na zlepšení kvality kódu (např. PHP_CodeSniffer) a nástrojů pro ladění (např. Xdebug) výrazně zlepší vaše vývojářské prostředí a kvalitu vašeho kódu.

Doporučujeme k přečtení. Kompletní průvodce vývojem WordPress temat: Vytvoření profesionálních webových stránek od nuly

Vytvořte svůj první plugin.

Teď začněme vytvořením nejjednoduššího pluginu, abychom pochopili základní strukturu a mechanismus aktivace pluginů pro WordPress.

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.

Hlavní soubor pluginu a základní hlavičkové informace

Každý plugin pro WordPress musí mít hlavní PHP soubor, který musí obsahovat standardní informace o pluginu, aby ho WordPress mohl rozpoznat. Vytvoříme soubor s názvem… my-first-plugin.php Soubor „“.

Vložte tento kód do daného souboru a následně ho nahrajte do adresáře, kde je instalován WordPress. /wp-content/plugins/my-first-plugin/ Uvnitř složky.

<?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
 * Domain Path:       /languages
 */

Po uložení budete moci tento plugin vidět na stránce “Příslušenství” v administraci WordPress a můžete kliknout na “Aktivovat” pro jeho aktivaci. Zatím nemá žádné funkce, ale úspěšně jste vytvořili plugin, který je přijat WordPressem.

Přidejte pro plugin stránku nastavení.

Běžným požadavkem je přidat stránku pro správu pluginů z pohledu administrátora. To můžeme realizovat pomocí nástrojů poskytovaných WordPressem. add_menu_page()add_options_page() To lze provést pomocí funkce.

Doporučujeme k přečtení. Ultimátní průvodce vývojem pluginů pro WordPress: Vytvoření profesionálních rozšíření od nuly

V hlavním souboru pokračujeme v přidávání kódu a vytváříme jednoduchou stránku pro nastavení.

// 钩子:在管理员菜单中添加一个新的页面
add_action('admin_menu', 'mfp_add_admin_menu');

function mfp_add_admin_menu() {
    add_options_page(
        '我的插件设置',          // 页面标题
        '我的插件',             // 菜单标题
        'manage_options',       // 所需权限
        'my-first-plugin',      // 菜单slug
        'mfp_settings_page_html' // 用于显示页面内容的回调函数
    );
}

// 设置页面的HTML内容
function mfp_settings_page_html() {
    // 检查用户权限
    if (!current_user_can('manage_options')) {
        return;
    }
    ?&gt;
    <div class="wrap">
        <h1><?php echo esc_html(get_admin_page_title()); ?></h1>
        <p>Vítejte na stránce nastavení mého prvního doplňku!</p>
        <form action="/cs/options.php/" method="post" data-trp-original-action="options.php">
            <?php
            // 输出设置字段(后续可在此添加)
            settings_fields('mfp_options_group');
            do_settings_sections('my-first-plugin');
            submit_button('保存设置');
            ?>
        <input type="hidden" name="trp-form-language" value="cs"/></form>
    </div>
    <br />&lt;?php
}

Tento kód používá… add_action() „Hooky functions“ mfp_add_admin_menu Připojené k WordPressu admin_menu Co se týká akcí: Když je vytvořeno administrátorské menu, naše funkce jsou spuštěny, čímž je do hlavního menu “Nastavení” přidán nový podmenuový položek. Pokud se na tento podmenuový položek klikne, bude provedena příslušná akce. mfp_settings_page_html Funkce slouží k renderování obsahu stránky.

Porozumění WordPress hookům a filtrům

Základní filozofie WordPressu spočívá v použití “hooků” (anglicky „hooks“), které vám umožňují vložit vlastní kód v určité časové momenty nebo na konkrétních místech, čímž můžete upravovat nebo rozšiřovat funkce WordPressu, aniž byste museli přímo měnit jeho základní soubory. Hooky se dělí především na dvě kategorie: akce (Actions) a filtry (Filters).

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.

Použití akčních hooků

Akční háčky spouštějí váš kód při nastání určitých událostí, například při zveřejnění článku, načtení administrativního rozhraní nebo vytvoření podstránky s patičkou. Nečekají na návratové hodnoty a slouží především k provedení konkrétního úkolu. Používáme je… add_action() Funkce slouží k připojení zpětné volání (callback function) k určenému akčnímu háčku (action hook).

Například bychom chtěli automaticky přidávat na konci každého článku prohlášení o autorských právech. K tomu lze využít… the_content Tento filtr (který zároveň slouží i jako bod akce) je použit k tomuto účelu. Avšak pro čistší prezentaci samotné akce jej používáme… wp_footer Hooky vykazuje informace v podní části stránky (footer) na předním (front-end) rozhraní webové stránky.

add_action('wp_footer', 'mfp_add_footer_note');

function mfp_add_footer_note() {
    if (is_single()) { // 仅在文章页面显示
        echo '<p style="text-align:center; color:#666;">Tento článek je pro vás připraven mým pluginem.</p>';
    }
}

Použití filtrovacích hooků

Filtrovací hooky slouží k úpravě dat před tím, než jsou použita nebo uložena do databáze. Očekává se, že přijmete určité hodnoty, ty upravíte a poté je vrátíte zpět. My je používáme… add_filter() Funkce slouží k načtení a spuštění zpětné volací funkce (callback function).

Doporučujeme k přečtení. Průvodce vývojem pluginů pro WordPress: Vytvořte si vlastní funkční moduly od nuly

Klasickým příkladem je úprava délky shrnutí článku. Ve WordPressu je výchozí délka shrnutí 55 slov, a to můžeme změnit pomocí… excerpt_length Filtr slouží k jeho změně.

add_filter('excerpt_length', 'mfp_custom_excerpt_length');

function mfp_custom_excerpt_length($length) {
    // 将摘要长度修改为 20 个单词
    return 20;
}

V tomto příkladu funkce… mfp_custom_excerpt_length Byla přijata výchozí hodnota délky. $lengthPoté se vrátí naše vlastní hodnota nové délky – 20. WordPress použije tuto vrácenou hodnotu k generování shrnutí.

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.

Bezpečnost pluginů a osvědčené postupy

Vytvoření populárního pluginu vyžaduje zohlednění několika klíčových faktorů, mezi něž patří bezpečnost, udržovatelnost a výkonnost. Dodržování osvědčených postupů (best practices) může pomoci předcházet mnoha běžným problémům.

Data validation, escaping, and cleaning

Nikdy nesmíte důvěřovat datům zadaným uživateli ani datům pocházejícím z databáze. Před zpracováním jakýchkoli dat je nutné je ověřit, očistit a převést na vhodnou formu (např. pomocí escape funkcí).
* 验证(Validation):检查数据是否符合预期的格式或类型(如是否是邮箱、数字等)。可以使用 filter_var() Funkce nebo funkce v WordPressu sanitize_*() Série funkcí.
* 清理(Sanitization):清除数据中的非法或危险字符,使其变得安全。对于表单输入,常用 sanitize_text_field()
* 转义(Escaping):在将数据输出到 HTML、JavaScript 或 URL 时,根据上下文进行转义,以防止跨站脚本(XSS)攻击。WordPress 提供了丰富的转义函数,如 esc_html()esc_attr()esc_url()wp_kses_post()

Například: Bezpečné vypsaní proměnné pocházející z databáze:

// 假设 $user_input 是从数据库或表单获取的数据
echo '<div class="info">'`. esc_html($user_input)`.'</div>';
// 或者,如果允许一些安全的HTML标签
echo '<div class="info">'. wp_kses_post($user_input) . '</div>';

Internationalizace a lokalizace pluginů

Aby vaše plugin mohl být používán uživateli po celém světě, je nutné přidat podporu pro překlady – tento proces se nazývá internacionalizace (i18n). WordPress pro tento účel využívá framework GNU gettext.

Nejprve je třeba ve všech řetězcích, které je třeba přeložit, použít speciální funkce k jejich zpracování. Nejčastěji používanou funkcí je… __()(Used for return values) and _e()(Použito k přímému zobrazení výstupu.)

Změňte název správní stránky, kterou jsme předtím vytvořili:

function mfp_settings_page_html() {
    if (!current_user_can('manage_options')) {
        return;
    }
    ?&gt;
    <div class="wrap">
        <h1><?php echo esc_html(get_admin_page_title()); ?></h1>
        <p><?php _e('欢迎来到我的第一个插件的设置页面!', 'my-first-plugin'); ?></p>
        ...
    </div>
    <br />&lt;?php
}

Všimněte si, že každá funkce pro překlad obsahuje parametr textového pole (`‘my-first-plugin’`), který musí odpovídat informacím definovaným v hlavičce pluginu. Text Domain Úplně shodné. Poté můžete použít nástroje, jako je Poedit, k prohledání textových stránek pluginů hledajících překladatelné části kódu a vytvoření potřebných překladů. .pot Šablony souborů a vytvoření verzí pro různé jazyky .po.mo Přeložte soubor a umístěte ho do adresáře s pluginy. /languages/ V podadru.

Závěr

Prostřednictvím tohoto průvodce jsme systematicky prošli hlavními kroky vývoje WordPress pluginů. Od nastavení lokálního prostředí a vytvoření hlavního souboru obsahujícího standardní záhlaví, přes využití akcí a filtrů k hluboké interakci s jádrem WordPress, až po důležité bezpečnostní postupy a přípravu na internacionalizaci, nyní již znáte základy potřebné k vytvoření plně funkčního, bezpečného a spolehlivého pluginu. Pamatujte, že kvalitní pluginy vycházejí z jasné struktury kódu, přísného zabezpečení a pečlivého uživatelského prostředí. Nejlepším způsobem, jak se dále učit, je praktická práce – začněte s vytvořením pluginu, který řeší nějaký konkrétní, malý problém, a postupně zkoumejte složitější API a funkce.

Časté dotazy

Jaké základní znalosti jsou potřebné k vývoji pluginů pro WordPress?

Potřebujete ovládat programovací jazyk PHP, který je základem pro vývoj WordPressu. Zároveň by mělo být vaše základní znalost HTML, CSS a JavaScriptu, neboť tyto technologie slouží k zpracování vzhledu a interakcí na straně uživatele. Dobré znalosti základních konceptů databáze MySQL (jako jsou operace CRUD) jsou také užitečné, protože WordPress používá tuto databázi k ukládání dat. Konečně je klíčové pochopit základní architekturu a pracovní postup WordPressu.

Jak ladit můj WordPress plugin?

Nejprve zapněte režim ladění WordPressu v souboru wp-config.php. define('WP_DEBUG', true);define('WP_DEBUG_LOG', true); Nastavte to na „true“. Tím se chybové zprávy uloží do souboru „/wp-content/debug.log“ a nebudou zobrazovány návštěvníkům. Dále můžete využít profesionální ladící nástroje, jako je Xdebug, v integrovaní se svým kódovacím editorem (např. VS Code), abyste mohli nastavovat přerušení, provádět krok za krokem ladění a další pokročilé funkce. Kromě toho můžete pomocí panelů síťových aktivit a konzole v prohlížečových nástrojích pro vývojáře kontrolovat AJAX požadavky a chyby v front-end JavaScript kódu.

Jak mohu odeslat plugin, který jsem vyvinul, do oficiálního adresáře pluginů WordPress?

Před odesláním se ujistěte, že váš plugin plně dodržuje oficiální kódovací standardy a osvědčené postupy WordPressu, a provést důkladnou revizi kódu a bezpečnostní kontroly. Budete muset si zaregistrovat účet na stránkách WordPress.org a poté na stránce pro odeslání pluginů odeslat svůj komprimovaný balíček pluginu. Tým posuzovatelů prověří váš kód, aby se ujistil, že je bezpečný, legální a odpovídá příslušným pokynům. Po úspěšném posouzení bude váš plugin zařazen do oficiálního katalogu, kde ho mohou uživatelé po celém světě stahovat a instalovat.

Jak přidat možnost nastavení do WordPress Customizeru pro svůj plugin?

WordPress Customizer nabízí možnost konfigurace s možností přímého přehledu v reálném čase. Můžete jej použít k úpravám vzhledu a funkcí vašeho webu bez nutnosti předchozího uložení změn. add_action('customize_register', 'your_function'); Hook. V zpětné volací funkci (callback function). your_function V Číně, prostřednictvím $wp_customize Objekt obsahuje jednu kapitolu (Section), jednu nastavení (Setting) a jeden ovladač (Control). To umožňuje uživatelům upravovat parametry v rozhraní přizpůsobování a okamžitě vidět výsledky na straně klienta, což je ideální pro správu vzhledových nastavení témat a doplňků.