Přípravné práce a nastavení prostředí.
Před vývojem pluginu pro WordPress je velmi důležité vytvořit stabilní lokální vývojové prostředí. To vám umožní provádět testování a ladění bez ovlivnění webové stránky online.
Výběr a konfigurace lokálního vývojového prostředí
Nejzásadnějším krokem je vytvoření lokálního serveru, který integruje PHP, MySQL a Apache/Nginx. Můžete si zvolit…MAMP、XAMPPTakové integrované softwarové balíčky poskytují jednoduchý způsob instalace jak pro Windows, tak i pro macOS. Pro pokročilejší uživatele je k dispozici možnost využití dalších funkcí a nastavení.DockerKontejnerizace vašeho vývojového prostředí je v současnosti nejlepší praxí, neboť zajišťuje konzistenci prostředí a usnadňuje jeho replikaci. Ať už zvolíte jakýkoli způsob, ujistěte se, že verze PHP, kterou používáte, je kompatibilní s hlavními verzemi, pro které jsou vaše pluginy určeny (např. PHP 7.4 a vyšší), a že jsou povoleny potřebné PHP rozšíření, jako MySQLi nebo PDO.
Nainstalujte a nakonfigurujte WordPress.
Po přípravě lokálního serverového prostředí je nutné nainstalovat základní souborovou strukturu WordPressu („core“). Stáhněte nejnovější stabilní verzi z oficiálních webových stránek WordPress.org a rozbalte ji do kořenového adresáře webového serveru (např. `/www`).htdocs或wwwNachází se v jedné z složek pod daným adresářem. Následně se k této složce přihlaste prostřednictvím prohlížeče a dokončete nastavení podle známých “pětiminutových pokynů k instalaci”. Doporučujeme vytvořit databázi určenou výhradně k vývoji pluginů a zaznamenat si její název, uživatelské jméno a heslo. Po instalaci přejděte do administrace WordPress a nastavte strukturu fixních odkazů na formát jiný než výchozí (např. “název článku”), což usnadní testování kompatibility pluginu s permanentními odkazy.
Doporučujeme k přečtení. Začínáme s vývojem témat pro WordPress: vytvořte si své první přizpůsobené téma od nuly.。
Doporučení nezbytných vývojových nástrojů
Efektivní vývoj není možný bez vhodných nástrojů. Nejprve potřebujete editor kódu – například nějaký bezplatný a vysoce funkční…Visual Studio CodeNainstalujte pluginy vhodné pro PHP, WordPress a inteligentní rozpoznávání kódu. Nástroje pro správu verzí (version control tools).GitJe to nezbytný nástroj pro správu změn v kódu a sledování historie změn. Nástroje pro vývojáře v prohlížečích (např. Chrome DevTools nebo Firefox Developer Edition) jsou zásadní pro ladění front-end části aplikací. Nakonec zvažte instalaci nástroje na kontrolu kvality kódu.PHP_CodeSnifferKombinaceWordPress-Coding-StandardsSada pravidel vám pomůže dodržovat oficiální kódovací standardy WordPressu.
Základní struktura pluginu a klíčové soubory
Standardní WordPress plugin má určitou strukturu adresářů a souborů. Dodržování těchto pravidel je základem pro to, aby byl plugin systémem rozpoznán a mohl být efektivně spravován.
Základní struktura hlavního souboru a jeho funkce
Každý plugin musí mít hlavní PHP soubor, který slouží jako vstupní bod pro plugin. Příslušné hlavičkové poznámky („header comments“) tohoto souboru obsahují metadata pluginu, která jsou klíčová pro to, aby ho WordPress rozpoznal. Níže je uveden příklad nejzákladnějšího hlavního souboru pluginu.my-first-plugin.phpPříklad:
<?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
*/
// 防止直接文件访问
if ( ! defined( 'ABSPATH' ) ) {
exit;
} Plugin NameJedná se o jediné povinné pole, které slouží k zobrazení v seznamu backend pluginů. Doporučujeme jej definovat.ABSPATHZkontrolujte, aby se zabranilo přímému přístupu zlomyslných uživatelů k klíčovým souborům pluginu.
Přidání funkčního základního kódu pro plugin
Po přidání poznámky do hlavičky můžete začít psát kód funkčních částí pluginu. Nejjednodušším příkladem je přidání výzvy “Hello World” do administračního panelu. Můžete k tomu použít…add_actionTento „hook“ umožňuje připojit vlastní funkci k určitému bodu provedení v systému WordPress.
Doporučujeme k přečtení. Od nuly: Kompletní průvodce a praktický tutoriál pro vývoj pluginů pro WordPress.。
/**
* 在管理后台顶部显示欢迎信息
*/
function myfp_display_admin_notice() {
echo '<div class="notice notice-success is-dismissible"><p>Vítejte u “Mého prvního pluginu”!</p></div>';
}
add_action( 'admin_notices', 'myfp_display_admin_notice' ); Aby byl kód organizovaný a aby se předešlo konfliktům při pojmenovávání, měly by všechny funkce a názvy tříd používat jedinečný předponový znak. Například zde…myfp_(Zkratka pro „My First Plugin“.)
Organizační normy pro adresář s plug-iny a soubory s resursem
Plugin s o něco složitější funkcionalitou obvykle obsahuje více souborů. Správná struktura adresářů významně zvyšuje udržovatelnost kódu. Běžné způsoby organizace souborů v pluginu jsou následující:
- /assets/Slouží k uložení statických zdrojů, jako jsou CSS soubory, JavaScript kódy, obrázky a fonty.
- /includes/Skladuje hlavní soubory PHP tříd a funkčních funkcí.
- /admin/Ukládá se zde PHP, CSS a JS soubory, které se týkají výhradně administrátorského rozhraní.
- /public/Ukládá soubory související s webovou frontend stránkou.
- /languages/Slouží k uložení souborů s mezinárodními překlady (.po, .mo).
Vždy mějte na paměti, že hlavní soubor pluginu se nachází v kořenovém adresáři tohoto pluginu. Při odkazování na zdrojové soubory v kódu byste měli používat…plugin_dir_url( FILE )或plugin_dir_path( FILE )Získává se dynamicky správná URL nebo cesta k serveru.
Mechanismus hooků a interakce s hlavními API
Duší vývoje WordPress pluginů je mechanismus zvaný “hooky” („háčky“). Díky tomuto mechanismu můžete svůj kód vložit a spustit v určitých okamžicích během provozu jádra WordPress, tematických souborů nebo jiných pluginů.
Porozumění akčním hookům a filtrovacím hookům
Hooky jsou rozděleny do dvou hlavních kategorií: Akce (Action) a Filtry (Filter). Akční hooky slouží k provedení vašeho kódu po nastání určité události, například po zveřejnění článku nebo před načtením určité stránky. Nevracejí žádné hodnoty, pouze “udělají” něco. Klíčovou funkcí používanou při jejich použití je…add_action()和do_action()Filtrovací háčky slouží k úpravě dat. Před tím, než jsou data použita, uložena nebo zobrazena, můžete je zachytit a upravit. Musí však vrátit nějakou hodnotu. Klíčovou funkcí používanou při tomto procesu je…add_filter()和apply_filters()。
Připojení vlastní funkce ke standardním hookům
Jádro WordPressu poskytuje stovky standardních „hooků“ (připojovacích bodů). Například můžete automaticky přidat text s uvedením autorských práv na konci obsahu článku, což zahrnuje využití jak akcí (actions), tak i filtrů (filters).
Doporučujeme k přečtení. Vývoj pluginů pro WordPress od začátku až po pokročilou úroveň: naučte se vytvářet vlastní funkce krok za krokem.。
// 使用过滤器修改文章内容
function myfp_add_copyright_to_content( $content ) {
if ( is_single() ) {
$copyright_text = '<p><em>Při přepisování prosím uveďte zdroj.</em></p>';
$content .= $copyright_text;
}
return $content;
}
add_filter( 'the_content', 'myfp_add_copyright_to_content' );
// 使用动作在文章保存时执行操作
function myfp_log_post_publish( $post_id ) {
// 记录日志或执行其他后处理
error_log( "文章 ID {$post_id} 已发布。" );
}
add_action( 'publish_post', 'myfp_log_post_publish' ); Vytvořte a poskytněte vlastní hooky pro rozšíření.
Dobře navržený plugin by také měl umožňovat ostatním vývojářům, aby jej rozšiřovali. To můžete dosáhnout vytvořením vlastních, přizpůsobených „hooků“ (speciálních funkcí). Tím prokazujete otevřenost architektury pluginů a zároveň dodržujete filozofii samotného WordPressu.
// 定义一个自定义动作钩子
function myfp_process_data() {
$data = '一些初始数据';
// 其他开发者可以通过 ‘myfp_before_action’ 在此处插入代码
do_action( 'myfp_before_action', $data );
// 插件的主要处理逻辑...
// 其他开发者可以通过 ‘myfp_after_action’ 在此处插入代码
do_action( 'myfp_after_action', $data );
}
// 定义一个自定义过滤器钩子
function myfp_get_output() {
$output = '默认输出';
// 允许其他开发者过滤最终的输出
return apply_filters( 'myfp_filter_output', $output );
} Vytvořit rozhraní pro správu pluginů a možnosti nastavení
Většina pluginů vyžaduje backendové rozhraní, které umožňuje uživateli provádět konfiguraci. WordPress poskytuje řadu API, které vám pomohou rychle a bezpečně vytvořit standardní nastavovací stránky a možnosti.
Správa bezpečnostních nastavení pomocí API pro nastavení
WordPress API pro nastavení je bezpečný rámec určený k zpracování formulářů, ověřování, ukládání a zobrazování dat zvolených možností. Automaticky zpracovává bezpečné pole typu „nonce“ a provádí kontroly oprávnění. Základní kroky při vytvoření stránky pro nastavení zahrnují: 1) registraci nastavení, 2) přidání bloků určených k zobrazení nastavení a 3) přidání jednotlivých polí. Následující kód ukazuje, jak registrovat jednoduché nastavení:
function myfp_register_settings() {
register_setting(
'myfp_settings_group', // 选项组名
'myfp_option_name', // 选项名(存储在wp_options表中)
array( 'sanitize_callback' => 'myfp_sanitize_callback' ) // 消毒回调函数
);
add_settings_section(
'myfp_settings_section', // 区块ID
'基本设置', // 区块标题
'myfp_section_callback', // 区块回调函数(可输出描述)
'myfp-settings-page' // 设置页面Slug
);
add_settings_field(
'myfp_text_field', // 字段ID
'示例文本输入', // 字段标签
'myfp_text_field_callback', // 字段回调函数(输出HTML表单域)
'myfp-settings-page', // 页面Slug
'myfp_settings_section' // 所属区块ID
);
}
add_action( 'admin_init', 'myfp_register_settings' ); Vytvoření stránek s menu a podmenu na různých pozicích
Potřebujete přidat odkaz na stránku se nastavení do správního menu WordPressu. Pro to použijte následující kroky:add_menu_page()Je možné vytvořit hlavní menu a použít ho.add_submenu_page()Je možné vytvořit podmenü.
function myfp_add_admin_menu() {
// 添加顶级菜单
add_menu_page(
'我的插件设置', // 页面标题
'我的插件', // 菜单标题
'manage_options', // 权限能力
'myfp-settings-page', // 菜单Slug
'myfp_render_settings_page', // 渲染页面的回调函数
'dashicons-admin-generic', // 图标(可选)
80 // 菜单位置
);
// 添加子菜单(指向同一个页面,但菜单标题不同)
add_submenu_page(
'myfp-settings-page', // 父菜单Slug
'关于此插件', // 页面标题
'关于', // 菜单标题
'manage_options', // 权限能力
'myfp-about-page', // 菜单Slug
'myfp_render_about_page' // 渲染回调
);
}
add_action( 'admin_menu', 'myfp_add_admin_menu' ); Kontrolní funkce (callback function) pro načítání stránky se vlastními nastaveními
myfp_render_settings_pageZpětná volací funkce je zodpovědná za výstup HTML struktury nastavovací stránky. V této funkci je nutné provést volání…settings_fields()和do_settings_sections()Zobrazte pole registrovaná pomocí Settings API.
Funkce myfp_render_settings_page() {
// Zkontrolujte oprávnění uživatele
pokud ! current_user_can( 'manage_options' ) {
return;
}
?>
<div class="wrap">
<h1><?php echo esc_html( get_admin_page_title() ); ?></h1>
<form action="/cs/options.php/" method="post" data-trp-original-action="options.php">
<?php
settings_fields( 'myfp_settings_group' );
do_settings_sections( 'myfp-settings-page' );
submit_button( '保存设置' );
?>
<input type="hidden" name="trp-form-language" value="cs"/></form>
</div>
<br /><?php
} Závěr
Vývoj WordPress pluginů je procesem, při kterém se kreativní nápady proměňují v funkční nástroje. Úspěch tohoto procesu závisí na jasném pochopení základní struktury systému, obratném využívání mechanismů typu „hooks“ a neustálém důrazu na bezpečnost a uživatelský zážitek. Od vytvoření prostředí a napsání hlavních souborů přes hlubokou integraci s funkcemi WordPress pomocí akcí a filtrů až po vytvoření profesionálního administrátorského rozhraní prostřednictvím nastavení API – každý krok se řídí určitými normami a osvědčenými postupy. Klíčovým je udržovat kód modulární, čitelný a rozšiřitelný, používat jednotné předpony pro předcházení konfliktům a vždy upřednostňovat bezpečnost. Díky studiu a praktice tohoto průvodce nyní máte schopnost vyvinout kompletní a standardní WordPress plugin od nuly.
Časté dotazy
Jaké programovací znalosti jsou potřebné k vývoji WordPress pluginu ###?
Pro vývoj pluginů pro WordPress jsou zapotřebí základní znalosti programovacího jazyka PHP, včetně gramatiky, funkcí, polí a konceptů objektového programování. Zároveň je užitečné mít základní povědomí o front-end technologiích HTML, CSS a JavaScript, což velmi usnadňuje vývoj pluginů s uživatelským rozhraním. Také je přínosné být obeznámený s základními operacemi s databází MySQL, protože WordPress silně závisí na databázích.
Jak ladit WordPress plugin, na kterém pracujete?
Existuje několik způsobů, jak ladit doplňky. Nejprve…wp-config.phpAktivováno v souboru.WP_DEBUG和WP_DEBUG_LOGTo bude zaznamenávat chyby a varování PHP do…/wp-content/debug.logSoubory jsou uloženy v počítači a nezobrazují se uživatelům na stránce. Dále lze použít nástroje pro vývojáře v prohlížeči (např. Chrome DevTools) k ladění kódu JavaScriptu a síťových požadavků. U složitější logiky lze využít další nástroje a metody k lepšímu pochopení chování aplikace.var_dump()或error_log()Funkce může vypisovat hodnoty proměnných do logů nebo na stránky. Kromě toho lze instalovat profesionální PHP ladicí nástroje, jako je Xdebug, a integrovat je se svým kódovacím editorem – to umožňuje ladění pomocí přerušení („breakpoints“), což je nejefektivnější způsob ladění kódu.
Jak můj plugin implementovat mezinárodní podporu v několika jazycích?
Pro implementaci internacionalizace (i18n) se primárně využívají funkce, které poskytuje WordPress.__()、_e()、_x()V kódu pluginu obalte všechny textové stránky, které potřebují být přeloženy, pomocí těchto funkcí a určete textový domén (Text Domain), který je definován v poznámkách na začátku pluginu.Text DomainPoté použijte nástroj, jako je Poedit, k prohledání zdrojového kódu pluginu a generování požadovaných dat..potŠablony souborů – podle nichž vytvářejí překladatelé verze textů v různých jazycích..poA po kompilaci.moSoubory. Nakonec tyto přeložené soubory umístěte do pluginu./languages/Umístěte to do adresáře a použijte to při inicializaci pluginu.load_plugin_textdomain()Funkce je načítají.
Jak zveřejnit svůj plugin zdarma v oficiálním adresáři pluginů pro WordPress?
Pro zveřejnění pluginu do oficiálního katalogu je potřeba splnit řadu požadavků. Nejprve se ujistěte, že váš plugin plně dodržuje licenci GPL verze 2 nebo vyšší. Dále je důležité zajistit kvalitu a bezpečnost kódu a dodržovat standardy kódování WordPressu. Poté si musíte vytvořit účet na stránkách WordPress.org a následně odeslat svůj plugin do sekce určené pro vývojáře. Před odesláním pluginu se ujistěte, že obsahuje podrobné a dobře formátované informace.readme.txtSoubor je vytvořen pomocí specifického formátu Markdown a internacionalizace byla správně nastavena. Po odeslání bude váš plugin posouzen týmem příslušných posuzovatelů, což může trvat od několika dní až několika týdnů. Po úspěšném posouzení bude váš plugin dostupný k hledání a instalaci v oficiálním adresáři.
Jaký je další krok? Co bych měl udělat dál?
Další čtení a praktické znalosti
Následující obsah souvisí s tématem tohoto článku a je vhodný k dalšímu prostudování. Obvykle je lepší začít čtením článku, který je nejblíže vašemu aktuálnímu problému, a poté postupně přecházet k souvisejícím tématům.
- Podrobný průvodce celým procesem výstavby webových stránek: od analýzy požadavků až po nasazení ve provozu – odborný průvodce
- Průvodce výstavbou webových stránek: Od základů po kompletní pochopení celého procesu vývoje moderních webových aplikací
- Jak vybrat a přizpůsobit si dokonalý WordPress téma?
- Průvodce vývojem WordPress pluginů: Vytvořte si svůj první vlastní plugin od nuly
- Jak stát se vývojářem WordPress pluginů: Kompletní průvodce od začátku