Průvodce vývojem WordPress pluginů: Od základů až po vytváření profesionálních funkcí

Čtení za 3 minuty.
2026-03-19
2026-06-05
2,649
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ředchozí znalosti potřebné pro vývoj pluginů pro WordPress

Než začnete psát první řádek kódu, je zásadní pochopit základní koncepty WordPress pluginů a potřebnou sadu dovedností. WordPress plugin je v podstatě jedna nebo více PHP souborů, které dodržují určitou strukturu a pravidla a prostřednictvím řady procesů…hook„Hooky“ moduly interagují s jádrem WordPressu, čímž umožňují rozšířit nebo upravit funkce webové stránky.

您需要具备的基础知识主要包括:对PHP语言有基本的了解,能够理解函数、变量和基础语法;熟悉HTML和CSS,用于构建插件的前端界面;对JavaScript有一定认识,可以处理交互逻辑将大有裨益。此外,了解WordPress的核心概念,如action(akce) afilterFiltry jsou jádrem vývoje doplňků (pluginů). Akce vám umožňují spouštět svůj kód v určitém okamžiku, zatímco filtry vám umožňují upravovat data generovaná WordPressem nebo jinými doplňky.

Postavení vývojového prostředí je prvním krokem. Potřebujete na svém lokálním počítači nakonfigurovat vývojové prostředí pro PHP; doporučujeme použít nástroje XAMPP, MAMP nebo Local by Flywheel. Nainstalujte také editor kódu, např. Visual Studio Code nebo PhpStorm, které poskytují dobrou podporu pro výrazné zvýraznění kódu a ladění. Nakonec se ujistěte, že máte nainstalovanou verzi WordPress určenou k testování.

Doporučujeme k přečtení. Ultimátní průvodce vývojem WordPress pluginů: Ovládněte základní principy a praktické projekty

Vytvořte svůj první WordPress plugin.

Začněme vytvořením nejjednoduššího “Hello World” pluginu, což vám pomůže pochopit základní strukturu pluginů a proces jejich aktivace.

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.

Nejprve, v rámci WordPressu…wp-content/pluginsV adresáři vytvořte novou složku s názvemmy-first-pluginV této složce vytvořte hlavní PHP soubor, který obvykle nese stejné jméno jako složka.my-first-plugin.php

Každý plugin musí obsahovat standardní poznámku v hlavičce, která slouží k poskytnutí metadat o pluginu systému WordPress. Otevřete tento soubor.my-first-plugin.phpSoubor a zadejte následující kód:

<?php
/**
 * Plugin Name:       我的第一个插件
 * Plugin URI:        https://example.com/my-first-plugin
 * Description:       这是一个用于学习的简单WordPress插件。
 * Version:           1.0.0
 * Author:            你的名字
 * License:           GPL v2 or later
 * Text Domain:       my-first-plugin
 */

Po uložení souboru přejděte do administrace WordPress na stránku “Příslušenství” (Plugins) a měli byste vidět, že “Můj první plugin” se objevil v seznamu příslušenství. Nyní ho můžete aktivovat, ale zatím nebude nic dělat.

Následně přidáme pluginu jednu jednoduchou funkci: zobrazování vítací zprávy v horní části administrativního panelu webové stránky. Pro to použijeme…admin_noticesTento akční hook – přidejte následující kód pod poznámky v hlavě pluginu:

Doporučujeme k přečtení. Vývoj pluginů pro WordPress od začátku až po pokročilou úroveň: vytvořte svůj první funkční plugin.

function my_first_plugin_admin_notice() {
    echo '<div class="notice notice-success is-dismissible"><p>Vítejte při používání “Mého prvního pluginu”!</p></div>';
}
add_action( 'admin_notices', 'my_first_plugin_admin_notice' );

Uložte soubor a obnovte obsah administrace WordPress. Na vrcholu stránky uvidíte zelené upozornění o úspěchu. Nyní jste úspěšně vytvořili a aktivovali svůj první funkční plugin.

Porozumění základním principům fungování WordPressu: Hooky a API

Flexibilita a vysoká rozšiřitelnost WordPressu se do značné míry díky systému hooků a bohatému API. Dobré pochopení těchto dvou aspektů je klíčové pro profesionální vývoj doplňků (pluginů).

Hooky systémy se dělí na dvě kategorie: akce (actions) a filtry (filters). Akční hooky se spouštějí v okamžiku, kdy dojde k určitým základním událostem v jádře WordPressu, například při zveřejnění článku.publish_post) nebo načtení správního backendu (admin_initMůžete použít…add_action()Funkce “nasadí” vaši vlastní funkci na tyto body. Například, právě jsme…admin_noticesByla načtena funkce pro zobrazování oznámení.

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.

Filtrovací hooky slouží k úpravě dat. Umožňují vám data upravit ještě před tím, než budou použita (např. při uložení do databáze nebo zobrazení v prohlížeči).add_filter()Funkce slouží k přidání filtrů. Běžným příkladem je úprava posledních znaků obsahu článku.

function my_content_filter( $content ) {
    if ( is_single() ) {
        $content .= '<p><em>Tento text obsahuje podpis přidaný mým pluginem.</em></p>';
    }
    return $content;
}
add_filter( 'the_content', 'my_content_filter' );

Kromě systému hooků poskytuje WordPress také velké množství API, které umožňují bezpečný a pohodlný přístup k základním funkcím. Například:
* 选项API:使用add_option(), get_option(), update_option()Slouží k bezpečnému ukládání a čtení konfiguračních dat pluginů.
* 设置API:用于在“设置”或你自己插件的页面中,创建标准化的、带有安全验证的表单字段。
* 数据库API:通过$wpdbGlobální objekt bezpečně provádí vlastní dotazy do databáze.
* REST API:为你的插件创建可被外部应用访问的API端点,这是构建现代、交互式功能的基础。

Vytvoření profesionálního pluginu s backend rozhraním

Plug-in s kompletní funkcionalitou obvykle vyžaduje stránku pro konfiguraci, která umožňuje správci webové stránky nastavovat parametry. Vytvoříme jednoduchou administrátorskou stránku pro tento plug-in a uložíme jednu možnost konfigurace.

Doporučujeme k přečtení. Ultimátní průvodce optimalizací výkonnosti webových stránek WordPress: Kompletní řešení pro zvýšení rychlosti načítání a zlepšení uživatelského zážitku

Nejprve použijteadd_action()Mount a function toadmin_menuNa háčku je možné přidat položku menu. Poté vytvořte dvě funkce: jednu pro zobrazení formuláře stránky nastavení a druhou pro zpracování odeslání formuláře a ověření dat.

Níže je příklad vytvoření hlavního správního menu a jednoduchého formuláře:

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.
// 步骤1:将菜单项添加到管理后台
function my_plugin_add_menu_page() {
    add_menu_page(
        '我的插件设置',          // 页面标题
        '我的插件',             // 菜单标题
        'manage_options',       // 所需权限
        'my-plugin-settings',   // 菜单别名
        'my_plugin_settings_page', // 显示页面的回调函数
        'dashicons-admin-generic', // 图标
        100                     // 菜单位置
    );
}
add_action( 'admin_menu', 'my_plugin_add_menu_page' );

// 步骤2:定义设置页面的内容
function my_plugin_settings_page() {
    // 检查用户权限
    if ( !current_user_can( 'manage_options' ) ) {
        wp_die( __( '你没有权限访问此页面。' ) );
    }

// 处理表单提交(非保存选项)
    if ( isset( $_POST['my_plugin_greeting'] ) ) {
        check_admin_referer( 'my_plugin_save_settings' ); // 安全检查
        $greeting = sanitize_text_field( $_POST['my_plugin_greeting'] );
        update_option( 'my_plugin_greeting_text', $greeting );
        echo '<div class="notice notice-success"><p>Nastavení bylo uloženo!</p></div>';
    }

// 获取已保存的值
    $saved_greeting = get_option( 'my_plugin_greeting_text', '你好,世界!' );
    ?&gt;
    <div class="wrap">
        <h1>Nastavení mého pluginu</h1>
        <form method="post" action="">
            <?php wp_nonce_field( 'my_plugin_save_settings' ); // 添加安全随机数 ?>
            <table class="form-table">
                <tr>
                    <th scope="row"><label for="greeting">Zdravící výrazy</label></th>
                    <td><input name="my_plugin_greeting" type="text" id="greeting" value="<?php echo esc_attr( $saved_greeting ); ?>" class="regular-text"></td>
                </tr>
            </table>
            <?php submit_button( '保存更改' ); ?>
        <input type="hidden" name="trp-form-language" value="cs"/></form>
    </div>
    <br />&lt;?php
}

Tento příklad ukazuje, jak vytvořit jednoduchou stránku pro nastavení pomocí…update_optionget_optionSlouží k ukládání a čtení dat, a byly použity…sanitize_text_fieldwp_nonce_fieldTo zajistí bezpečnost. Pro složitější nastavení se doporučuje použít WordPress API pro nastavení (Settings API), který automaticky zpracovává ověření bezpečnosti a zobrazení polí.

Závěr

Vývoj pluginů pro WordPress je proces, který začíná pochopením základních konceptů (jako jsou “hooky” a API) a postupně se přechází k vytváření funkčních modulů. Začněte jednoduchým pluginem typu „Hello World“, abyste si vytvořili základní představu o struktuře pluginů. S postupným pochopením funkcí typu „actions“ a „filters“ budete schopni přesně vložit vlastní funkce do různých fází životního cyklu WordPressu. Nakonec, vytvořením administrativního rozhraní a využitím nástrojů jako je Option API nebo Settings API, bude váš plugin vybaven profesionální konfigurací a bezpečností. Klíčem k osvojení této dovednosti je neustálé učení a cvičení – každý kus napsaného kódu představuje další krok v objevování rozsáhlého ekosystému WordPressu.

Časté dotazy

Je nutné být zdatný v PHP, abyste vytvořili plugin pro WordPress?

Nemusíte hned od začátku být odborníky na PHP, ale musíte mít solidní základy tohoto jazyka – včetně porozumění proměnným, funkcím, polím, podmínkovým výrazům a cyklům. Postupem času se při dalším vývoji přirozeně setkáte s objektově orientovaným programováním a specifickými funkcemi PHP používanými v WordPressu. Doporučujeme, abyste zároveň s učením vývoje pluginů také dále posilovali své znalosti PHP.

Jak zajistit, aby plugin, který jsem vyvinul, byl bezpečný?

Bezpečnost pluginů je velmi důležitá. Vždy provádějte ověřování a čištění uživatelského vstupu a používejte vhodné způsoby k ochraně systému před možnými útoky.sanitize_text_field()esc_html()esc_url()Funkce jako „wait“. Při provádění vlastních dotazů na databázi se tyto funkce používají.$wpdb->prepare()To je pro prevenci SQL injection. Při zpracovávání odeslání formulářů nebo AJAX požadavků je nutné vždy používat vhodné bezpečnostní postupy.wp_noncePro ověření se používá bezpečný náhodný číslo. Dodržujte princip “minimálních oprávnění” při použití tohoto čísla.current_user_can()Zkontrolujte oprávnění uživatele.

Jak bych měl ladit a testovat svůj plugin?

Nejprve provádějte testy ve vývojovém prostředí nebo na testovacím (staging) webu a nikdy neprovádějte ladění přímo na produkčním webu. Aktivujte…WP_DEBUGRežim, můžete…wp-config.phpNastavení v souborudefine( ‘WP_DEBUG’, true );Tímto způsobem se chyby a varování zobrazí na obrazovce. Použijte to.error_log()Funkce zapisuje informace o ladění do chybového logu serveru. Pro složitější logiku lze použít profesionální nástroje na ladění, jako je Xdebug.

Jak odeslat svůj plugin do oficiálního WordPress pluginového katalogu?

Kód vašeho pluginu musí být licencován pod licencí GPL verze 2 nebo vyšší. Ujistěte se, že kvalita kódu, jeho bezpečnost a příslušné poznámky (komentáře) splňují stanovené standardy. Budete potřebovat navštívit stránky WordPress.org, vytvořit si účet a následně odeslat svůj plugin ke zkoumání. Během tohoto procesu budou kontrolovány standardy kódu, jeho bezpečnost a také to, zda neobsahuje žádný nevhodný obsah. Po úspěšném posouzení můžete svůj kód uložit do oficiálního repozitáře pomocí nástroje SVN, kde jej budou moci stahovat uživatelé po celém světě.