Naučte se vyvíjet pluginy pro WordPress: vytvořte své první funkční rozšíření od nuly.

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

Proč se rozhodnout pro vývoj pluginů pro WordPress?

WordPress se stal nejpopulárnějším systémem pro správu obsahu na světě díky své výkonné architektuře plug-inů. Plug-iny umožňují vývojářům přidávat webovým stránkám téměř jakékoli funkce, a to bez nutnosti měnit samotný základní kód – od jednoduchých kontaktních formulářů až po složité e-shopové systémy. Naučit se vytvářet plug-iny znamená, že budete moci WordPress důkladně přizpůsobit svým konkrétním požadavkům nebo své nápady převést na použitelné produkty.

Vývoj vlastního pluginu oproti přímé úpravě tématu… functions.php Soubory mají významné výhody. Pluginy jsou funkční moduly, které jsou nezávislé na nastavení tématu („theme“) a jejich funkce se nepři změně tématu ztrácejí. Díky tomu je kód snazší na údržbu, aktualizaci a sdílení mezi různými projekty. Porozumění základním principům vývoje pluginů je nezbytnou součástí cesty k tomu, stát se pokročilým vývojářem WordPressu.

Nastavení vašeho vývojového prostředí

Než začnete psát první řádek kódu, je nezbytné mít stabilní a efektivní lokální vývojové prostředí. To vám umožní provádět testy a ladění bez ovlivnění webové stránky v reálném prostředí.

Doporučujeme k přečtení. Praktický průvodce vývojem WordPress pluginů: Postavte si svůj první funkční plugin od nuly

Konfigurace prostředí lokálního serveru

Doporučujeme použít integrovaná řešení lokálních serverů, jako je Local by Flywheel, XAMPP nebo MAMP. Ty umožňují jednoduchou instalaci Apache/Nginx, PHP a MySQL. Ujistěte se, že verze PHP, kterou používáte, je kompatibilní s verzí WordPress, kterou chcete nasadit – obvykle se doporučuje verze PHP 7.4 nebo novější. Kromě toho je nutné na lokálním serveru nainstalovat novou verzi WordPress, která bude sloužit jako “pískovka” pro testování pluginů.

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.

Kódový editor a nástroje pro ladění

Vyberte si výkonný editor kódu, jako je Visual Studio Code nebo PHPStorm. Tyto editory nabízejí výrazové zvýraznění kódu, podpůru při psaní kódu a integraci s nástroji pro správu verzí. Pro ladění je nutné zapnout režim ladění v WordPressu. K tomu je potřeba editovat soubory v kořenovém adresáři WordPressu. wp-config.php Soubor, bude… WP_DEBUG Konstanta je nastavena na true

define( 'WP_DEBUG', true );
define( 'WP_DEBUG_LOG', true ); // 将错误日志保存到 /wp-content/debug.log
define( 'WP_DEBUG_DISPLAY', false ); // 不要在页面上显示错误

Po aktivaci režimu ladění budou všechny chyby, varování a upozornění v PHP zaznamenány, což vám pomůže rychle lokalizovat problémy.

Vytvořte svůj první soubor plug-inu.

WordPress plugin může být jednoduchý a sestávat pouze z jediného souboru, avšak dodržování správné struktury je velmi důležité. Začneme s nejzákladnějším “Hello World” pluginem.

Struktura hlavního souboru pluginu

Nejprve, ve WordPressu… /wp-content/plugins/ V adresáři vytvořte nový složek, například… my-first-pluginV této složce vytvořte hlavní PHP soubor, jehož název obvykle odpovídá názvu složky:my-first-plugin.php

Doporučujeme k přečtení. Průvodce vlastním vývojem pluginů pro WooCommerce: Vytvoření vlastního online obchodu

Každý plugin musí obsahovat v úvodu souboru standardní blok s informacemi o pluginu. WordPress pomocí tohoto bloku identifikuje plugin a zobrazí ho v rozhraní pro správu v pozadí.

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

Po uložení souboru se přihlaste do svého WordPress administrátorského panelu a přejděte na stránku “Příslušenství” (Plugins). Nový plugin by se měl objevit v seznamu příslušenství. Nyní jej můžete aktivovat, i když zatím nemá žádné funkce.

Přidání první funkce: Správa menu

Následně přidáme pluginu jednu jednoduchou funkci: vytvoříme nový položek v menu na bočním panelu administrace WordPressu.

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žijeme add_action() Funkce slouží k připojení („mountování“) zpětné volání („callback function“) k nějakému jinému objektu nebo procesu. admin_menu Tento „Action“ je na tom háčku.

// 在插件主文件中,插件头部注释块之后,添加以下代码

if ( ! defined( 'ABSPATH' ) ) {
    exit; // 禁止直接访问
}

// 钩子到 admin_menu 动作
add_action( 'admin_menu', 'mfp_add_admin_menu' );

/**
 * 注册一个自定义管理菜单
 */
function mfp_add_admin_menu() {
    add_menu_page(
        '我的第一个插件设置', // 页面标题
        '我的插件',          // 菜单标题
        'manage_options',    // 所需权限
        'my-first-plugin',   // 菜单别名 (slug)
        'mfp_display_admin_page', // 显示页面内容的回调函数
        'dashicons-smiley', // 菜单图标 (使用 Dashicon)
        6                    // 菜单位置
    );
}

/**
 * 管理页面的显示内容
 */
function mfp_display_admin_page() {
    ?&gt;
    <div class="wrap">
        <h1><?php echo esc_html( get_admin_page_title() ); ?></h1>
        <p>Ahoj, světě! Toto je moje první stránka pro správu pluginů v WordPressu.</p>
    </div>
    <br />&lt;?php
}

Po uložení souboru a obnovení WordPress administrace uvidíte v levém menu nový položku s názvem “Moje pluginy”. Kliknutím na ni se zobrazí jednoduchá stránka s uvítacím textem.

Podrobněji do hloubky: Hooky a filtry

Klíčovou filozofií vývoje pluginů pro WordPress jsou “hooky”. Hooky umožňují vašemu kódu v určitých okamžicích “zapojit se” do základního procesu WordPressu a tak změnit nebo přidat nové funkce. Hooky se dělí především na dvě kategorie: akce (Actions) a filtry (Filters).

Doporučujeme k přečtení. Průvodce vývojem a personalizací WordPress temat: Od základů až po pokročilé návody na vytvoření vlastní webové stránky

Porozumění akčním hookům (action hooks)

Akční háčky (action hooks) v WordPressu jsou spouštěny v určitých okamžicích během provádění aplikace – například při uložení článku, načtení hlavičky stránky nebo vytvoření patičky stránky. Vaše plugin může tyto okamžiky “sledovat” a poté spustit své vlastní funkce. Přesně to jsme použili v předchozím příkladu. admin_menu Jde prostě o akční hook (akční „háček“).

Dalším běžným příkladem je automatické přidání textového úryvku na konci obsahu článku.

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.
add_action( 'the_content', 'mfp_append_text_to_content' );

function mfp_append_text_to_content( $content ) {
    if ( is_single() &amp;&amp; in_the_loop() &amp;&amp; is_main_query() ) {
        $append_text = '<p><em>Tento článek byl vytvořen mým prvním pluginem.</em></p>';
        $content .= $append_text;
    }
    return $content;
}

Modifikace dat pomocí filtrů

Filtrovací háčky slouží k úpravě dat před jejich uložením do databáze nebo odesláním do prohlížeče. Přijímají data, po úpravě je musí vrátit. Typickým příkladem je úprava nadpisu článku.

add_filter( 'the_title', 'mfp_modify_post_title' );

function mfp_modify_post_title( $title ) {
    // 只在非后台的主查询中修改
    if ( ! is_admin() && in_the_loop() ) {
        $title = '[重要] ' . $title;
    }
    return $title;
}

Porozumění a obratné využívání „hooků“ je klíčem k vytváření flexibilních a výkonných pluginů. Jádro WordPressu poskytuje tisíce hooků, které jsou rozprostřeny po celém životním cyklu aplikace.

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

Napsání bezpečného kódu a dodržování osvědčených postupů (best practices) zajišťuje, že váš plugin bude stabilní, efektivní a snadno přijatý ostatními vývojáři.

Data validation and escaping

Nikdy nespoléhejte na data zadaná uživateli ani data pocházející z databáze. Před tím, než jakékoli data vypíšete do prohlížeče (v formátu HTML, JavaScript nebo jako atributy), je nutné je označit speciálními značkami (tzv. „escape“). WordPress poskytuje řadu pomocných funkcí k tomuto účelu.

// 输出到 HTML 内容中
echo esc_html( $untrusted_data );
// 输出到 HTML 属性中
echo esc_attr( $untrusted_data );
// 输出到 URL 中
echo esc_url( $untrusted_data );
// 在 JavaScript 变量中输出
$js_data = wp_json_encode( $untrusted_data );

Před uložením dat do databáze nebo provedením logických vyhodnocení je nutné provést validaci, aby bylo zajištěno, že data odpovídají očekávanému formátu (např. zda se jedná o e-mailovou adresu, číslo atd.).

Použití jmenných prostorů a tříd

Pro složité pluginy se doporučuje používat PHP názvové prostory a objektově orientované programování (OOP) k organizaci kódu. Tím lze efektivně předejít konfliktům mezi názvy funkcí a zlepšit modularitu a čitelnost kódu.

<?php
namespace MyFirstPluginAdmin;

class Admin_Menu {
    public function __construct() {
        add_action( 'admin_menu', [ $this, 'add_menu_page' ] );
    }

public function add_menu_page() {
        add_menu_page( ... );
    }
}

// 初始化
new Admin_Menu();

Kromě toho je nutné přidat podporu internacionalizace pro tento plugin (použít…) __()_e() Funkce, dostupnost rozumných možností pro odinstalaci a úklid, stejně jako dodržování kódovacích standardů WordPress, jsou důležitými součástmi kvalitního pluginu.

Závěr

Vývoj pluginů pro WordPress je cesta, která vede od základů k pokročilým technikám. Začínáte vytvořením základního souboru, který je schopen být rozpoznán systémem WordPress, a postupně pokračujete používáním silných nástrojů, jako jsou akce (actions) a filtrovací háčky (filter hooks), abyste rozšířili funkce pluginu. Každý krok je založen na pochopení architektury WordPressu. Lokální vývojové prostředí je vaší „laboratoří“, nástroje pro ladění slouží k detailnímu prozkoumávání kódu, zatímco bezpečnost a osvědčené postupy (best practices) jsou základem pro to, aby váš plugin fungoval stabilně a spolehlivě.

Tím, že jste vytvořili jednoduchý plugin pro správu menu, jste si osvojili základní postupy vývoje pluginů. Následně můžete zkusit integrovat možnosti nastavení, vytvořit vlastní databázové tabulky, přidat funkce založené na šablonách (shortcodes) nebo vyvinout menší nástroje. Díky neustálému procvičování a studiu základního kódu a implementací dalších kvalitních pluginů budete schopni zvládat stále složitější požadavky a nakonec vytvořit profesionální WordPress pluginy.

Časté dotazy

Kolik souborů musí mít minimálně WordPress plugin?

WordPress plugin potřebuje minimálně jediný PHP soubor. Pokud tento soubor obsahuje správné hlavičkové poznámky (metadata), WordPress ho dokáže identifikovat a aktivovat v seznamu pluginů v pozadí. Pro pluginy s rozsáhlejšími funkcemi je však běžné organizovat kód do více souborů a složek, aby bylo snazší o jejich údržbu.

Jak se vyhnout konfliktům názvů funkcí při vývoji doplňků (pluginů)?

Existují dvě hlavní metody, jak předejít konfliktům názvů funkcí. První z nich spočívá v přidání jedinečné předpony ke všem vašim funkcím – například použitím zkratk nebo abreviátů z názvů pluginů. mfp_myplugin_Druhým způsobem je využití tříd a jmenných prostorů v PHP – vaše funkce můžete zabalit do metod tříd. Jedná se o modernější a doporučenější přístup, který zásadně řeší problémy s konflikty názvů.

Jak přidat stránku se nastaveními pro můj plugin?

Přidávání stránek pro nastavení pluginů obvykle zahrnuje použití add_options_page()add_submenu_page() Funkce slouží k registraci stránek a následně k bezpečnému vytváření, ověřování a ukládání nastavení pomocí WordPress API (Settings API). Tento API obsahuje potřebné funkce pro správu nastavení webového projektu. register_setting()add_settings_section()add_settings_field() Funkce jako tyto zjednodušují proces vytváření formulářů se standardizovanými nastaveními a automaticky zajišťují bezpečnostní opatření a ukládání dat.

Po dokončení vývoje, jak publikovat plugin do oficiálního adresáře WordPressu?

Chcete-li zveřejnit svůj plugin do oficiálního katalogu WordPress.org, musíte nejprve na WordPress.org požádat o vytvoření SVN repozitáře pro svůj plugin. Poté se ujistěte, že váš plugin splňuje oficiální požadavky a směrnice – co se týká kvality kódu, bezpečnosti, licencování (musí být kompatibilní s licencí GPL) a obsahu standardního souboru readme.txt. Následně pomocí nástrojů pro správu SVN repozitářů odešlete svůj kód do určeného repozitáře. Tým WordPress provede posouzení a po schválení se váš plugin objeví v oficiálním katalogu, kde ho uživatelé mohou stahovat a instalovat.