Návod k vývoji pluginů pro WordPress: vytvořte svůj první funkční rozšíření od nuly.

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

Hlavní silou vývoje WordPressu je jeho výkonná architektura plug-inů, která umožňuje vývojářům rozšiřovat funkce webové stránky bez nutnosti měnit samotný základní kód. Plug-in může být velmi jednoduchý – např. jen přidání řádku textu do patra stránky – nebo velmi složitý – např. vytvoření kompletního systému pro elektronický obchod. Tento průvodce vás provede celým procesem vytvoření vašeho prvního plug-inu, vysvětlí základní strukturu plug-inů, bezpečnostní normy, způsoby jejich interakce s jádrem WordPressu a také způsoby jejich balení a distribuce. Díky praktickým cvičením získáte klíčové dovednosti potřebné k přispívání k vývoji tohoto nejpopulárnějšího systému pro správu obsahu na světě.

Přípravné práce a vývojové prostředí

Před napsáním prvního řádku kódu je velmi důležité vytvořit profesionální lokální vývojové prostředí. To zajistí, že váš vývojový proces bude efektivní a nebude mít negativní vliv na webové stránky v provozu.

Nastavení lokálního serverového prostředí

Doporučujeme použít integrované balíčky pro lokální serverové prostředí, jako jsou Local by Flywheel, XAMPP nebo MAMP. Tyto nástroje jedním kliknutím nainstalují Apache/Nginx, PHP a MySQL a perfektně splňují požadavky na provoz WordPressu. Ujistěte se, že vaše prostředí používá verzi PHP 7.4 nebo vyšší, stejně jako verzi MySQL 5.6 nebo vyšší, aby odpovídalo doporučeným konfiguračním požadavkům pro WordPress z roku 2026.

Doporučujeme k přečtení. Úvodní průvodce vývojem pluginů pro WordPress: Vytvořte si své první funkční rozšíření od nuly

Vytvoření základního souboru pluginu

Každý plugin pro WordPress potřebuje alespoň jednu hlavní PHP soubor. Nejprve najděte tuto soubor v adresáři vaší lokální instalace WordPress.wp-content/pluginsV této složce vytvořte novou složku. Název složky by měl být krátký, složený pouze z malých písmen a spojovacích čar, například:my-first-pluginV této složce vytvořte PHP soubor se stejným názvem jako složka.my-first-plugin.phpTento soubor bude sloužit jako vstupní bod pro 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.

Vytvoření struktury vašeho prvního pluginu

Standardní plugin musí nejenom obsahovat funkce, ale také metadata, které umožňují WordPressu tento plugin rozpoznat a spravovat. To je základním principem vývoje pluginů.

Přidat poznámku do hlavy pluginu

Na začátku hlavního souboru pluginu musíte přidat specifický blok PHP komentářů, tedy “informace o hlavě pluginu”. WordPress na základě těchto informací zobrazí váš plugin v seznamu pluginů v administraci. Níže je uveden jeden z nejzákladnějších příkladů takových informací:

<?php
/**
 * Plugin Name:       我的第一个插件
 * Plugin URI:        https://example.com/my-first-plugin
 * Description:       这是一个用于学习的示例插件,它在文章页脚添加自定义文本。
 * Version:           1.0.0
 * Author:            你的名字
 * Author URI:        https://example.com
 * License:           GPL v2 or later
 * Text Domain:       my-first-plugin
 */

Plugin NameJedná se o jedinou povinnou položku; ostatní položky jsou sice volitelné, ale jejich zadání může zvýšit profesionalitu tohoto doplňku.Text DomainSlouží k internacionalizaci překladů a obvykle se shoduje se názvem složky s pluginy.

Implement a basic functional function

Realizujme si klasický příklad: automatické přidávání prohlášení o autorských právech na konci každého článku. K tomu budeme potřebovat napsat funkci v PHP a připojit ji k filtrům WordPressu.
Nejprve definujte funkce potřebné pro vaše funkce v hlavním souboru:

Doporučujeme k přečtení. Průvodce začátkem vývoje pluginů pro WordPress

function myfp_add_footer_text( $content ) {
    // 仅在主循环的单篇文章页面添加
    if ( is_single() &amp;&amp; in_the_loop() &amp;&amp; is_main_query() ) {
        $footer_text = '<p><em>Tento článek byl poprvé zveřejněn na mém blogu. Při přepisování prosím uveďte zdroj.</em></p>';
        $content .= $footer_text;
    }
    return $content;
}

Připojit funkci k jádru WordPressu

Po definování funkce je potřeba říct WordPressu, kdy a kde ji má spustit. To se provádí pomocí speciálních nastavení v souborech konfigurace WordPressu, obvykle v souborech typu `wp-config.php` nebo `functions.php`.add_filterImplementováno pomocí funkce. Po výše uvedeném definování funkce přidejte následující kód:

add_filter( 'the_content', 'myfp_add_footer_text' );

Tento řádek kódu…myfp_add_footer_textFunkce byla nasazena („montována“).the_contentTento filtr bude používán při každém pokusu WordPressu o výstup obsahu článku – vždy nejprve projde obsah článku vaší funkcí. Nyní můžete na stránce “Příslušenství” v lokálním backendu WordPressu aktivovat “Můj první plugin” a poté prohlédnout jakýkoli článek; vlastní text by měl být již zobrazen na dně stránky.

Podrobný přehled bezpečnosti pluginů a osvědčených postupů

Implementace funkcí je pouze prvním krokem; skutečným znakem profesionálního vývojáře je zajištění bezpečnosti, efektivity a snadné údržby kódu.

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žívejte třídy k zabalení kódu.

S rostoucím počtem funkcí může umístění všech funkcí do globálního jmenného prostoru snadno vést ke konfliktům. Použití PHP tříd k jejich zabalení je lepší volbou. Přepracovaný příklad vypadá následovně:

class My_First_Plugin {
    public function __construct() {
        // 在构造函数中挂载钩子
        add_action( 'init', array( $this, 'load_textdomain' ) );
        add_filter( 'the_content', array( $this, 'add_footer_text' ) );
    }

public function load_textdomain() {
        load_plugin_textdomain( 'my-first-plugin', false, dirname( plugin_basename( __FILE__ ) ) . '/languages/' );
    }

public function add_footer_text( $content ) {
        if ( is_single() &amp;&amp; in_the_loop() &amp;&amp; is_main_query() ) {
            $footer_text = '<p><em>' . esc_html__( '本文首发于我的博客,转载请注明出处。', 'my-first-plugin' ) . '</em></p>';
            $content .= $footer_text;
        }
        return $content;
    }
}
// 初始化插件类
new My_First_Plugin();

Bezpečná interakce s databází

Pokud váš plugin potřebuje ukládat nastavení, použijte funkce, které poskytuje WordPress.Options APINikdy neprovádějte SQL dotazy přímo. Používejte nástroje nebo frameworky, které vám to usnadní.add_optionget_optionupdate_optionFunkce slouží k bezpečnému přístupu k datům. Například umožňují konfigurovat text v patičce stránky:

// 保存设置
update_option( 'myfp_footer_text', sanitize_text_field( $_POST['footer_text'] ) );
// 获取设置
$saved_text = get_option( 'myfp_footer_text', '默认文本' );

Vytvořit stránku pro správu nastavení

Poskytnutí grafického nastavovacího rozhraní pro plugin výrazně zlepší uživatelský zážitek. Můžete k tomu využít funkce dostupné v WordPressu.Settings APIChceme vytvořit standardizovanou stránku s možnostmi výběru. To zahrnuje několik klíčových kroků:add_menu_pageadd_submenu_pageStránka pro registraci funkcí, používejteregister_settingRegistrovací nastavení a jejich použitíadd_settings_sectionadd_settings_fieldPoužijte tyto prvky k vytvoření polí formuláře.Settings APIBude se automaticky zpracovat ověření bezpečnosti (kontrola Nonce, ověření oprávnění) a uložení polí.

Doporučujeme k přečtení. Kompletní návod k vývoji pluginů pro WordPress: od nuly až po uvedení na trh.

Vydávání a údržba pluginů

Po dokončení vývoje a důkladném testování můžete zvážit sdílení svého díla.

Provedení finálních testů a ladění

Provedeme kompletní testování na lokálním a dočasném serveru, které bude zahrnovat testování na různých verzích PHP, kontrolu kompatibility s populárními tématy a dalšími pluginy, zajištění toho, aby veškeré uživatelské vstupy byly validovány a očištěny, a použití funkcí WordPressu.WP_DEBUGZkontrolujte, zda modul vykazuje jakékoli varování nebo chybové zprávy.

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.

Balit pluginy a následně je distribuovat

Vytvořte čistý soubor komprimovaný formátem ZIP, který obsahuje pouze složku s pluginy a všechny její nutné soubory (hlavní PHP soubor, …).README.txtPřekládejte soubory, dokumenty o aktivech atd.). Nezahrnujte adresáře systémů pro správu verzí (např..gitMůžete tento soubor ZIP odeslat do oficiálního adresáře pro WordPress pluginy, což vyžaduje dodržování přísných pravidel při posuzování pluginů. Také můžete tento plugin distribuovat na svém vlastním webu nebo na třetích stranách (např. na trzích s aplikacemi).

Plánování aktualizací verzí a poskytování podpory

S aktualizacemi jádra WordPress je nutné také udržovat vaše pluginy v pořádku. Vytvořte standardy pro správu verzí (např. pomocí semantických verzí) a jasně popište změny v každé verzi v části hlavy pluginu a v logu aktualizací. Aktivně reagujte na zpětnou vazbu uživatelů na fórech pro podporu a neustále vylepšujte kód – to je klíčové pro dlouhodobý úspěch vašeho pluginu.

Závěr

Vývoj pluginů pro WordPress je proces, při kterém se kreativní nápady proměňují v funkční řešení. Začínáme nastavením prostředí a vytvořením základní struktury souborů, poté postupně pokračujeme k implementaci klíčových funkcí a použití nejlepších postupů objektového a bezpečného programování. Na závěr se zabýváme kroky potřebnými k publikování a údržbě pluginů. Klíčové je pochopit a dobře ovládat různé možnosti, které WordPress nabízí.Hook(Hook, including Action and Filter) andAPI(Například API Options, API Settings) – to jsou bezpečné mosty, pomocí kterých komunikujete se světem WordPress. Pamatujte, že dobrý plugin není jen tak něco, co funguje, ale také něco, co je bezpečné, efektivní a snadno použitelné pro ostatní. Nyní, když už znáte základy vytváření prvního pluginu, je čas dále zdokonalovat své dovednosti prostřednictvím praxe a studia základního kódu.

Časté dotazy

Je nutné být expertem na PHP, abyste mohli vytvářet doplňky (plugins)?

Ano, dobrou znalost PHP je základem pro vývoj pluginů pro WordPress. Musíte porozumět PHP syntaxi, funkcím, třídám, jmenným prostorům a také způsobům bezpečné interakce s databází. Kromě toho bude velmi užitečné mít znalosti HTML, CSS a základních funkcí JavaScriptu.

Proč se po aktivaci mého pluginu na webových stránkách zobrazí prázdný obrazovka?

“Bílý obrazovka a zastavení aplikace” je obvykle způsobeno fatální chybou v PHP. Ujistěte se, že vaše lokální vývojové prostředí je správně nastaveno.WP_DEBUG„Režim“ – můžete to nastavit na webových stránkách.wp-config.phpPřidejte následující kód do souboru, abyste aktivovali režim ladění:define( 'WP_DEBUG', true );To zobrazí konkrétní informace o chybě na obrazovce, což vám pomůže lokalizovat problém.

Jak řešit konflikty, které mohou vzniknout mezi různými doplňky (plugins)?

Konflikty obvykle vznikají kvůli shodě názvů funkcí nebo tříd, nebo kvůli nesprávnému nastavení priorit pro stejné „hooky“. Nejlepší praxí při prevenci konfliktů názvů je přidání jedinečné předpony ke všem svým funkcím a třídám (např. pomocí zkratk používaných v pluginech). U „hooků“ lze použít…add_filteradd_actiontřetí parametr$priorityPoužijte to k úpravě pořadí provedení. Pokud je to nutné…remove_actionOpatrně odstraňte konfliktní „hooky“.

Jak přidat mému pluginu podporu více jazyků?

Musíte použít funkce internacionalizace (i18n) a lokalizace (l10n) WordPressu. V kódu použijte__()_e()Použijte funkce pro překlad, abyste obalili všechny textové řetězce, které je třeba přeložit, a určete pro ně doménu textu vašeho pluginu. Poté vytvořte pomocí nástrojů, jako je Poedit..potŠablony souborů a nechat překladatele vytvořit verze těchto šablon v různých jazycích..mo.poSoubor je uložen v pluginu./languages/V adresáři.

Lze komerční pluginy odeslat do oficiálního katalogu WordPress?

Ano, oficiální adresář pluginů WordPress přijímá komerční pluginy, které odpovídají jeho filozofii svobodného softwaru (používají licenční smlouvy kompatibilní s GPL). Pod pojmem “komerční” se však rozumí, že plugin samotný má placenou verzi nebo nabízí placenou podporu; verze, která je přihlášena do oficiálního adresáře, musí být plně funkční a volně dostupná pro všechny uživatele. Placené pokročilé funkce, podpora nebo aktualizace jsou obvykle poskytovány prostřednictvím webových stránek samotných vývojářů. Před přihlášením pluginu si prosím pečlivě přečtěte oficiální pokyny pro přihlášení pluginů a požadavky týkající se licencí.