Kompletní průvodce vývojem WordPress pluginů: Postup od nuly k vytvoření kvalitních rozšíření

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

Porozumění základním prvkům před začátkem vývoje

Než začnete psát kód, je nezbytné vytvořit bezpečné a efektivní vývojové prostředí. To nejen zvyšuje efektivitu vývoje, ale také zajišťuje i odolnost kódu. Potřebujete místní prostředí pro spuštění WordPressu – můžete použít nástroje jako XAMPP, MAMP, nebo modernější řešení jako Local by Flywheel nebo Docker. K dispozici by měl být také editor kódu nebo integrované vývojové prostředí (např. VS Code nebo PHPStorm), které vám pomohou při psaní kódu v jazycích PHP, JavaScript a CSS poskytovat funkce jako výrazové zvýraznění, syntaktické tipy a detekci chyb.

Důkladné pochopení základní architektury WordPressu je základem pro vývoj doplňků (pluginů). Sám WordPress funguje na principu event-driven modelu a hojně využívá takzvaných „hooků“ (zámků) a „filterů“ (filtrů).add_actionadd_filterTyto dvě funkce představují vlastně “spínače” a “ventily” pro správu chování pluginů. Kromě toho by pluginy měly zůstat nezávislé a nesměly narušovat základní funkce jiných pluginů či témat. To znamená, že musíte být obeznámeni s pojmy jmenných prostor (namespace), zabalení klas (class encapsulation) a základy objektově orientovaného programování (object-oriented programming).

Vytvořte svůj první plugin.

Prvním krokem při vytváření pluginu je vytvoření „domova“ pro něj – místa, kde bude uložen. Všechny pluginy jsou uloženy na určitém místě, obvykle v systému, který používáte k vývoji webových stránek./wp-content/plugins/V adresáři potřebujete vytvořit novou složku. Je vhodné, aby její název byl jedinečný a výstižný – obvykle se používají názvy pluginů v malých písmenech spojené spojovníky. Například:my-first-plugin

Doporučujeme k přečtení. Ultimátní průvodce vývojem WordPress pluginů: Vytvořte si svůj první vlastní plugin od nuly

V této složce je nejdůležitějším souborem hlavní pluginová soubor. Tento hlavní pluginový soubor se obvykle jmenuje podle názvu pluginu, například…my-first-plugin.phpKomentáře v části hlavičky tohoto souboru jsou klíčové pro rozpoznání a zobrazení pluginu v pozadí WordPressu a musí obsahovat určité metadatové informace. Níže je uveden nejzákladnější příklad:

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: 我的第一个插件
 * 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 vytvoření a uložení tohoto souboru se můžete přihlásit do administrace WordPressu, přejít na stránku správy pluginů a uvidět plugin s názvem “Můj první plugin”, který je v neaktivovaném stavu. Aktivací tohoto pluginu dokončíte první krok. Tento plugin zatím nemá žádné funkce, ale již je oficiálně uznáván systémem WordPress.

Následně přidáme pro něj nejjednodušší funkci: do patice webové stránky vložíme řádek vlastního textu. To nám pomůže pochopit, jak používat akční háčky (action hooks). Upravíme hlavní soubor pluginu a pod poznámkami na začátku souboru přidáme potřebný kód:

// 注册一个函数到 wp_footer 动作钩子
function my_first_plugin_add_footer_text() {
    echo '<p style="text-align: center;">Toto textové pole bylo přidáno pomocí “mého prvního pluginu”.</p>';
}
add_action( 'wp_footer', 'my_first_plugin_add_footer_text' );

Po uložení souboru obnovte přední stránku webového stránek a přečtěte se až na dno stránky – tam uvidíte přidaný text.add_actionŘekneme WordPressu: “Až systém dosáhne této části…“wp_footerPři provádění tohoto úkolu prosím zavolejte funkci, kterou jsem definoval.my_first_plugin_add_footer_text”Funkce“.

Implementace funkcí pluginů a správy dat

Praktický plugin obvykle potřebuje komunikovat s databází. WordPress k tomu poskytuje výkonnou abstrakci přístupu k databázi.$wpdbUmožňuje bezpečné a pohodlné provádění SQL operací. Například, pokud chcete vytvořit jednoduchou funkci pro uživatelské poznámky, možná budete potřebovat vytvořit vlastní datovou tabulku pro ukládání informací o každé poznámce.

Doporučujeme k přečtení. Úvod do vývoje pluginů pro WordPress: Postavte si své první funkční rozšíření od nuly

Stránka pro nastavení pluginu je hlavním způsobem, jakým uživatelé mohou konfigurovat parametry pluginu. Je nutné použít API pro nastavení WordPressu k vytvoření standardizovaných formulářů pro nastavení a položek menu. Tento proces zahrnuje hlavně tři klíčové funkce:register_settingSlouží k registraci sady nastavení polí.add_settings_sectionSlouží k přidání bloku na stránce nastavení, a také…add_settings_fieldSlouží k přidání konkrétních polí do bloku.

Přidat konfigurační možnosti pro plugin

Předpokládejme, že chceme do předchozího pluginu pro text v podobě patice přidat funkci, která umožní uživateli si samostatně nastavit text a barvu. Nejprve budeme muset použít…add_menu_pageadd_options_pageFunkce přidá menu stránku do administračního panelu. Poté, ve zpětné volání této menu stránky, se pomocí API pro nastavení vytvoří formulář.

Potřebujeme funkci pro inicializaci nastavení, která se obvykle připojí („mounts“) k…admin_initNa akčním háčku (action hook). Níže je zjednodušený příklad, který ukazuje, jak registrovat nastavení pole (setting field):

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.
function my_first_plugin_settings_init() {
    // 注册一个新的设置给 "my_first_plugin_settings" 页面
    register_setting( 'my_first_plugin_settings', 'my_first_plugin_footer_text' );

// 在页面中添加一个新的区块
    add_settings_section(
        'my_first_plugin_section',
        '页脚文字设置',
        null,
        'my_first_plugin_settings'
    );

// 在区块内添加TextField字段
    add_settings_field(
        'my_first_plugin_field_text',
        '请输入要显示的文本',
        'my_first_plugin_field_text_cb',
        'my_first_plugin_settings',
        'my_first_plugin_section'
    );
}
add_action( 'admin_init', 'my_first_plugin_settings_init' );

Poté potřebujete definovat funkci na zpětnou volání (callback function) pro jednotlivé pole.my_first_plugin_field_text_cbZobrazí se HTML vstupní pole. Po uložení nastavení budou hodnoty uloženy v WordPressu.optionsV tabulce můžete…get_option(‘my_first_plugin_footer_text’)Získávejte tuto hodnotu ve funkci na stránce podpatku a použijte ji místo hardkódovaného textu.

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

Až budou funkce vašeho pluginu dokonale vyvinuty, bezpečné a stabilní, možná budete chtít jej přihlásit do oficiálního adresáře WordPress pluginů, abyste jej mohli sdílet se uživateli po celém světě. K tomu budete potřebovat účet na WordPress.org a dodržovat podrobné pokyny pro vydávání. Váš kód musí odpovídat oficiálním standardům kódování, plugin musí být bezpečný (bez škodlivého kódu) a ideálně by měl obsahovat plnou podporu internacionalizace a lokalizace.

Implementace internacionalizace znamená, že texty v pluginu musí být přeloženy do dalších jazyků. K tomu je potřeba použít nástroje určené k překladu.__()_e()Funkce „etc.“ obalují všechny řetězce určené pro uživatele a jsou deklarovány na začátku pluginu.Text DomainDomain PathPoté pomocí nástroje vytvoříme požadovaný výstup..potPřeložte šablonový soubor pro použití překladateli.

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

Závěr

Od nastavení prostředí, pochopení základních konceptů, přes vytvoření hlavních souborů a implementaci funkcí pomocí „hooků“, až po vytvoření správního rozhraní prostřednictvím nastavení API, a nakonec až po správu dat a přípravu k publikování – tento proces zahrnuje klíčové kroky potřebné k vytvoření kvalitního rozšíření pro WordPress. Pamatujte, že skvělé rozšíření není jen o silných funkcích, ale také o čistotě kódu, bezpečnosti a respektu vůči WordPress ekosystému. Neustálé studium oficiálních příruček, sledování osvědčených postupů a aktivní testování jsou nezbytnou cestou každého vývojáře rozšíření.

Časté dotazy

Jaké PHP znalosti jsou potřebné k vývoji WordPress pluginu ###?
Musíte ovládnout základní syntaxi PHP, včetně proměnných, funkcí, podmínkových příkazů a cyklů. Je důležité také porozumět základním konceptům objektového programování (OOP), jako jsou třídy, objekty, vlastnosti a metody. Protože mnoho moderních pluginů je napsáno pomocí objektového programování, to usnadňuje organizaci a opakované využití kódu. Dále je nezbytné dobře ovládat práci s polemi a řetězci v PHP.

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.

Jak přidat vlastní databázovou tabulku do pluginu?

Nejprve potřebujete funkci, která spustí SQL příkaz pro vytvoření tabulky při aktivaci pluginu. To se obvykle provádí pomocí…register_activation_hookFunkce slouží k propojení vaší funkce pro vytváření tabulek. Uvnitř této funkce musíte použít…dbDeltaTato funkce slouží k vytvoření nebo aktualizaci struktury tabulky, protože dokáže inteligentně zpracovávat změny v tabulce. Prosím, vždy ji používejte.$wpdb->prefixPřidejte předponu „WordPress“ ke názvům vašich tabulek, abyste zajistili kompatibilitu s více webovými stránkami.

Na co je třeba dbát při zajišťování bezpečnosti pluginů pro WordPress?

Bezpečnost je velmi důležitá. Základním pravidlem je nikdy nedůvěřovat datům zadaným uživateli. Veškerá data pocházející od uživatelů nebo z externích zdrojů by měla být před zpracováním pečlivě ověřena.$_GET, $_POSTProvedete ověření a úpravy dat. Před tím, než data zobrazíte v prohlížeči, je nutné je escapeovat. K tomu použijte funkce poskytované WordPressem.sanitize_text_field(), esc_html(), wp_kses_post() A připravené příkazy pro… $wpdb Dotazy. Zároveň dodržujte princip minimálních oprávnění a prověřujte schopnosti uživatelů, např. při používání určitých funkcí.current_user_can()To zajišťuje, že konkrétní operace mohou provádět pouze uživatelé s odpovídajícími oprávněními.

Jak by měl být kód pluginu organizován, aby byla zachována dobrá struktura?

Správná struktura kódu je klíčem k udržitelnému údržbářství. Důrazně doporučujeme používat objektově orientované programování a související funkce uzavírat do tříd. Hlavní soubor pluginu by měl zůstat stručný a měl by se primárně starat o načítání a inicializaci. Ostatní funkční moduly, jako jsou třídy pro správní rozhraní, obecné funkce, komponenty atd., by měly být umístěny do samostatných PHP souborů a načítány podle potřeby z hlavního souboru. Pro svůj plugin definujte jedinečný jmenný prostor nebo předponu funkcí, abyste předešli konfliktům s názvy jiných pluginů nebo témat.