Ultimátní průvodce vývojem WordPress pluginů: Vytvořte si svůj první vlastní plugin od nuly

Čtení za 3 minuty.
2026-03-21
2026-06-03
2,894
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, jako nejpopulárnější systém pro správu obsahu na světě, vděčí své vysoké rozšiřitelnosti především své architektuře založené na pluginech. Díky pluginům mohou vývojáři přidávat na základní platformu jakékoli funkce – od jednoduchých formulářů pro kontaktování lidí až po složité systémy pro elektronický obchod. Naučit se vytvářet vlastní pluginy znamená, že již nebudete omezeni stávající sbírkou dostupných pluginů. Budete moci přesně vybudovat funkce podle požadavků projektu, optimalizovat výkon webové stránky a dokonce z toho můžete vytvořit udržitelný podnik.

Hlavní výhodou vývoje vlastních pluginů je jejich flexibilita a možnost větší kontroly nad jejich funkcemi. Můžete zajistit, aby kód obsahoval pouze potřebné funkce, čímž se zabrání nadměrné komplikovanosti a zlepší rychlost webové stránky. Kromě toho můžete pluginy hluboce integrovat do konkrétních obchodních procesů, zajistit bezpečnost dat a dodržovat nejlepší standardy kódování. Z obchodního hlediska může úspěšný plugin být zveřejněn v oficiálním repozitáři WordPressu a dosáhnout tak milionů uživatelů tohoto systému, což může vést k významným příjmům.

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

Než začnete psát první řádek kódu, je nutné se ujistit, že je vaše vývojové prostředí připraveno. Stabilní lokální vývojové prostředí může výrazně zvýšit efektivitu a umožní vám testovat kód v bezpečném prostředí, aniž by to ovlivnilo webové stránky v reálném prostředí.

Doporučujeme k přečtení. Kompletní ovládnutí vývoje pluginů pro WordPress: Vytvoření vlastních funkcí od nuly

Vytvoření lokálního vývojového serveru

Doporučujeme použít nástroje jako MAMP, XAMPP nebo Local by Flywheel k rychlému vytvoření lokálního serveru obsahujícího PHP a MySQL. Po instalaci a konfiguraci WordPressu máte perfektní „sandbox“ prostředí pro vývoj. Ujistěte se, že verze PHP odpovídá verzi používané na vašem hostitelském prostředí, a zapněte funkci ladění chyb.wp-config.phpV souboru lze nastavit…WP_DEBUGtrueTo vám pomůže rychle lokalizovat problémy během vývojového procesu.

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.

Porozumění základní struktuře adresářů

WordPress pluginy se nacházejí v adresáři „plugins“./wp-content/plugins/Všechny pluginy jsou umístěny v daném adresáři. Každý plugin představuje samostatnou složku, jejímž jádrem je hlavní PHP soubor. Nové složky můžete vytvořit přímo v tomto adresáři pomocí FTP, SSH nebo místního správce souborů. Například, pro svůj první plugin můžete vytvořit složku s názvem…my-first-pluginPřejděte do požadované složky a v této složce vytvořte hlavní soubor.my-first-plugin.phpToto je vstupní bod pluginu – WordPress rozpozná plugin na základě konkrétních poznámek umístěných v začátku tohoto souboru.

Vytvoření první základní soubory pro plugin

Tato část vás provede krok za krokem vytvářením základní struktury pluginu, která je základem pro to, aby byl plugin rozpoznán a spravován systémem WordPress.

Napsat informace o hlavičce pluginu

Každý WordPress plugin musí na začátku svého hlavního PHP souboru obsahovat standardizované hlavičkové poznámky. Tyto informace se zobrazí na administrativní stránce určené k správě pluginů. Vytvořte nový soubor a pojmenujte ho…my-first-plugin.phpA zadejte následující kód:

<?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
 */

Tento komentář je nutný.Plugin NameBylo definováno jméno, které se zobrazí pluginu v pozadí.Text DomainPro mezinárodní překlad: Po uložení souboru jej umístěte do adresáře, který jste si připravili./wp-content/plugins/my-first-plugin/Vytvořená složka obsahuje nový plugin. Nyní se přihlaste do administrace WordPress na stránce “Příslušenství” a měli byste vidět, že tento nový plugin je v stavu “Nepovolený” (neaktivní).

Doporučujeme k přečtení. Analýza vývoje pluginů pro WordPress: kompletní návod k vytvoření vlastních funkčních modulů od nuly.

Přidejte jednoduchou funkci.

Pluginy bez žádných funkcí nemají smysl. Přidejme tedy nejzákladnější funkci: automatické přidávání vlastního textu na konec obsahu článku. Pod hlavičkovými poznámkami přidejte následující kód v PHP:

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

function myfp_add_footer_text( $content ) {
    // 检查是否在单个文章页面
    if ( is_single() ) {
        $custom_text = '<p><em>Děkujeme, že jste si tento článek přečetli! Toto zprávo bylo generováno “Mým prvním vlastním pluginem”.</em></p>';
        $content .= $custom_text;
    }
    return $content;
}
add_filter( 'the_content', 'myfp_add_footer_text' );

Tento kód definuje funkci.myfp_add_footer_textProstřednictvím…add_filterTen „hook“ je připojen k WordPressu.the_contentNa filtru. Používá se uvnitř funkce.is_single()Použijeme podmínkové ověření, abychom zajistili, že text bude přidán pouze na stránku konkrétního článku a nedojde k ovlivnění domovské stránky nebo stránek s archivem. Název funkce obsahuje krátký předponu.myfp(Zkratka pro „My First Plugin“), což je dobrá praxe, která pomáhá předcházet konfliktům s názvy funkcí jiných pluginů.

Podrobné informace o technologiích vývoje jádra pluginů

Chcete-li, aby funkce pluginu byly výkonné a profesionální, je nutné ovládnout řadu základních API a vývojových modelů poskytovaných WordPressem.

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 háčků a filtrů

Akční háčky (Action Hooks) a filtrovací háčky (Filter Hooks) jsou esencí vývoje pluginů pro WordPress. Akční háčky vám umožňují “spustit” kód v určitých okamžicích – například při zveřejnění článku.publish_post) nebo při načítání stránky pro správu v pozadí (admin_initFiltry vám umožňují “upravovat” data – stejně jako v předchozím příkladu, kdy jsme upravovali obsah článků.

Vytvoření stránky s administrativním menu je typickým příkladem použití akčních hooků. Kód můžete připojit („mount“) na…admin_menuNa háčku. Níže je příklad stránky určené k vytvoření jednoduchých nastavení:

function myfp_create_admin_menu() {
    add_menu_page(
        '我的插件设置', // 页面标题
        '我的插件',     // 菜单标题
        'manage_options', // 权限能力
        'myfp-settings-page', // 菜单slug
        'myfp_settings_page_html', // 回调函数,用于输出页面HTML
        'dashicons-admin-generic', // 图标
        80 // 菜单位置
    );
}
add_action( 'admin_menu', 'myfp_create_admin_menu' );

function myfp_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>Toto je stránka nastavení mého prvního pluginu.</p>
    </div>
    <br />&lt;?php
}

Implementace možností pluginů a ukládání dat

Většina pluginů potřebuje ukládat některé uživatelské nastavení. WordPress to umožňuje.Options APIK bezpečnému ukládání a vyhledávání dat můžete použít…add_option()get_option()update_option()Funkce. Pro vytvoření interaktivního formuláře pro nastavení je potřeba kombinovat HTML formuláře s bezpečnostními funkcemi WordPressu, jako např.wp_nonce_field()Slouží k generování a ověřování bezpečných náhodných čísel, stejně jako…sanitize_text_field()Slouží k očištění uživatelského vstupu.

Doporučujeme k přečtení. Od nuly: Kompletní průvodce a praktický tutoriál pro vývoj pluginů pro WordPress.

Níže je ukázka zjednodušeného postupu ukládání a zpracování dat:

Pokud je nastavena proměnná $_POST['myfp_submit'] {
    // Ověření bezpečnostního náhodného čísla
    Pokud ! wp_verify_nonce( $_POST['myfp_nonce'], 'myfp_save_settings' ) {
        wp_die( 'Bezpečnostní kontrola selhala!' );
    }

// Vyčištění a uložení dat
    $user_text = sanitize_text_field( $_POST['custom_text'] );
    update_option( 'myfp_custom_text', $user_text );

echo '<div class="notice notice-success"><p>Nastavení bylo uloženo!</p></div>';
}

Zavedení skriptů a souborů se styly

Aby se nepodílelo to na výkonu webové stránky, musí být soubory JavaScriptu a CSS zavedené pomocí pluginů správně použity.wp_enqueue_script()wp_enqueue_style()Funkce. To umožňuje WordPressu spravovat závislosti a předcházet konfliktům. Správný montážní háček je…wp_enqueue_scripts(Použito na frontendu) Aadmin_enqueue_scripts(Používá se pro backend.)

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.
function myfp_enqueue_frontend_assets() {
    wp_enqueue_style(
        'myfp-frontend-style',
        plugins_url( 'assets/css/frontend-style.css', __FILE__ ),
        array(),
        '1.0.0'
    );
}
add_action( 'wp_enqueue_scripts', 'myfp_enqueue_frontend_assets' );

Nejlepší postupy pro vydávání a údržbu doplňků (plug-inů)

Po dokončení vývoje je třeba zvážit, jak budete svůj plugin udržovat a distribuovat způsobem udržitelným.

Bezpečnost a revize kódu

Bezpečnost je při vývoji doplňků nejdůležitějším aspektem. Veškeré údaje zadané uživateli musí být považovány za nedůvěryhodné a je nutné používat metody, které zajistí jejich bezpečné zpracování.esc_html()esc_url()sanitize_text_field()Použijte funkce k escapeování nebo čištění dat, a poté je vypusťte do prohlížeče nebo uložte do databáze. Při přímém použití SQL dotazů je nutné tato opatření dodržovat.$wpdbTřídy a jejich…prepare()Metody pro prevenci útoků typu SQL injection. Pravidelné používání nástrojů na analýzu kódu WordPressu pomáhá dodržovat standardy kódování a odhalovat potenciální chyby.

Příprava na internacionalizaci a lokalizaci

Pokud chcete, aby byl plugin používán uživateli po celém světě, je internacionalizace (i18n) nezbytná. To znamená, že musíte všechny textové zprávy určené pro uživatele přeložit do různých jazyků.()_e()Pak tyto funkce pro čekání zabalte do nějakého „obalu“ (tj. do funkce, která je obsahuje a řídí jejich provádění). Například:echo (‘Hello World!‘, ‘my-first-plugin‘);Definováno v hlavě pluginu.Text Domainmy-first-pluginMusí být naprosto shodné s textovým polem použitým v funkci překladu. Poté můžete použít nástroje, jako je Poedit, k vytvoření….potŠablonský soubor, který umožňuje překladatelům vytvářet texty v různých jazycích..moDokumenty.

Aktualizace verze a kompatibilita

Když přidáváte nové funkce do pluginu nebo opravujete chyby, je potřeba vydat novou verzi. Nezapomeňte aktualizovat část hlavičky hlavního souboru (main file header).VersionInformace: Doporučujeme poskytnout postup pro aktualizaci. Při aktivaci pluginu by mělo být ověřeno verzní číslo a následně by mělo dojít k provedení potřebných úprav.register_activation_hookProvedete potřebné aktualizace databáze nebo migraci dat. Zároveň…readme.txtV souboru jsou jasně zaznamenány protokoly o aktualizacích, kompatibilní verze WordPressu a návody k instalaci, zejména pokud plánujete nahrát tento plugin do oficiálního adresáře WordPressu.

Závěr

Od pochopení základních konceptů pluginů až po vlastní vytvoření kompletního pluginu, který obsahuje funkční části, spravuje stránky a načítání zdrojových souborů, jste vstoupili do světa vývoje WordPress pluginů. Klíčové jsou znalosti akcí a filtrů, bezpečné zpracování dat a nastavení, stejně jako dodržování osvědčených postupů v oblasti internacionalizace a bezpečnosti. Vývoj pluginů je proces neustálého učení – pravidelné testování, čtení zdrojového kódu jádra WordPressu a dalších kvalitních pluginů vám pomůže vytvořit silnější a profesionálnější nástroje. Nyní můžete na základě těchto znalostí začít přemýšlet a realizovat jedinečné funkce, které vás napadly.

Časté dotazy

Jaké programovací znalosti jsou potřebné k vývoji WordPress pluginu ###?
Pro vývoj pluginů pro WordPress je nutné mít základní znalosti programovacího jazyka PHP, neboť pluginy jsou většinou napsány v PHP. Stejně tak je důležité mít základní povědomí o HTML, CSS a JavaScript, které slouží k vytváření uživatelského rozhraní a interakcí. Znalost základních konceptů databáze MySQL pomůže pochopit způsob, jakým WordPress ukládá data.

Může být hlavní PHP soubor pluginu pojmenován jakkoliv?

Možné to je, ale obvykle se doporučuje použít název, který se shoduje s názvem složky s pluginy, nebo který je jasně vysvětlující jejich účel. Nejdůležitější však je, ať už soubor nese jakýkoli název, aby v jeho horní části byly přítomny poznámky týkající se informací o pluginuPlugin NameTen komentář musí být naprosto přesný, protože WordPress právě na základě čtení těchto informací rozpoznává pluginy.

Jak zabránit tomu, aby názvy funkcí, které jsem napsal, konfliktovaly s názvy jiných pluginů?

Nejlepší praxí je používat jedinečný předponový znak pro pojmenování všech vašich funkcí, tříd, proměnných a konstant. Tento předponový znak by měl být dostatečně jedinečný a obvykle by měl souviset se zkratkou vašeho pluginu nebo s vaší značkou. Například, pokud se vaše plugin jmenuje “Super SEO Tools”, můžete použít předponu „SuperSEO“.sset_sst_Jako předpona, například…sst_generate_meta_descriptionPoužití jmenných prostorů v PHP (v prostředích, která je toto podporují) představuje další, modernější a efektivnější řešení.

Můžu vytvořit databázovou tabulku v nějakém pluginu?

Možné to je, ale musíte postupovat velmi opatrně. Vytvářejte vlastní databázové tabulky pouze v případě naprosté nutnosti, protože API pro nastavení WordPressu (Options API) a vestavěné tabulky typu Posts/Post Meta jsou obvykle dostatečně flexibilní pro splnění většiny požadavků na ukládání dat. Pokud musíte vytvořit novou tabulku, použijte…$wpdbObjekt, a ujistěte se, že je aktivován hook pro spouštění pluginu (použijte…)register_activation_hookV tomto procesu je nutné zajistit vytvoření tabulek a zároveň zvážit možnost jejich odstranění po odinstalaci programu.

Jak po dokončení vývoje sdílet plugin s ostatními lidmi k použití?

Pro osobní nebo klientovské projekty je možné je jednoduše zabalit a odeslat.zipStačí pouze soubor. Pokud chcete, aby byl veřejně dostupný, nejformálnějším způsobem je jeho předložení do oficiálního adresáře pluginů WordPress. K tomu budete muset vytvořit plugin, který splňuje požadavky tohoto adresáře.readme.txtPřed odesláním prosím důkladně otestujte kompatibilitu a bezpečnost pluginu v různých prostředích a ujistěte se, že kód dodržuje open-source licenci (např. GPL).