Nastavení vývojového prostředí pro pluginy WordPressu.
Než začnete psát svůj první plugin, je velmi důležitá stabilní, izolovaná a plně funkční vývojová prostředí. To nejenže ochrání váš produkční web, ale také poskytne všechny nástroje potřebné k ladění a testování.
Konfigurace lokálního vývojového prostředí
Nejlepším způsobem je použít lokální serverové prostředí, jako je Local by Flywheel, XAMPP nebo MAMP. Tyto nástroje umožňují jednoduchou instalaci WordPressu a zároveň obsahují integrované verze PHP, MySQL a webového serveru. Ujistěte se, že vaše verze PHP odpovídá aktuální verzi doporučené WordPressem, a zapněte funkci hlášení chyb – to vám pomůže v rané fázi vývoje odhalit případné problémy.
Ve složce instalace vašeho WordPressu… wp-content/plugins V té složce vytvořte samostatnou složku pro váš nový plugin, například: my-first-pluginVšechny soubory pluginů budou umístěny zde.
Doporučujeme k přečtení. Komplexní analýza SEO optimalizace: Praktický průvodce od technické architektury po strategii obsahu。
Výběr kódového editoru a nástrojů pro ladění
Výběr silného editoru kódu může výrazně zvýšit efektivitu vývoje – např. Visual Studio Code, PHPStorm nebo Sublime Text. Nezapomeňte do editoru nainstalovat doplňky jako WordPress Code Snippets, PHP IntelliSense a PHP Debugging.
Pro ladění, kromě zapnutí funkcí v WordPressu… WP_DEBUG „Režim (v)“ wp-config.php Nastavení v souboru define('WP_DEBUG', true);Dále se doporučuje nainstalovat plugin Query Monitor. Jedná se o vývojářské nástroje, které v reálném čase zobrazují důležité informace o databázových dotazech, chybách v PHP kódu, hookech a skriptech. Je považován za “všestranný nástroj” určený k vývoji pluginů.
Vytvořte svůj první WordPress plugin.
Standardní WordPress plugin musí mít alespoň jednu hlavní soubor. Tato hlavní soubor musí obsahovat specifické informace o pluginu, aby ho WordPress mohl rozpoznat a načíst.
Napsat hlavní soubor pluginu
Ve vaší složce s pluginy (například…) my-first-pluginV rámci toho vytvořte PHP soubor, který se obvykle nazývá podle názvu pluginu, například: my-first-plugin.phpNa začátku souboru musí být obsažena poznámka s informacemi o plug-inu.
<?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 “občanským průkazem” pluginu. V něm jsou uvedeny důležité informace o fungování pluginu, jeho vlastnostech a komponentách.Plugin Name Jedná se o povinné pole; vše ostatní je volitelné. Právě pomocí skenování těchto informací WordPress zobrazí vaše pluginy v seznamu pluginů v pozadí.
Doporučujeme k přečtení. Kompletní průvodce vývojem pluginů pro WordPress: od nuly až po pokročilé techniky.。
Implementovat základní funkci
Přidejme tomuto pluginu jednoduchou funkci: automatické přidávání vlastního textu na konci obsahu článku. Pro to použijeme… the_content Filtr.
Pod informacemi v hlavičce pluginu přidejte následující kód:
// 在文章内容末尾添加自定义文本
function myfp_add_footer_text($content) {
// 仅对单篇文章生效
if (is_single()) {
$custom_text = '<p><em>Děkujeme za čtení! Tento článek byl podpořen projektem “Můj první plugin”.</em></p>';
$content .= $custom_text;
}
return $content;
}
add_filter('the_content', 'myfp_add_footer_text'); Po uložení souboru přejděte na stránku “Příslušenství” (Plugins) v administraci WordPressu a měli byste vidět svůj první plugin. Aktivujte ho a poté prohlédněte si článek na webu – předdefinovaný text by měl být přidán na konec článku. Tento jednoduchý příklad ukazuje, jak pomocí “filtrů” (Filters) upravit výstup WordPressu.
Podrobný pohled do jádra pluginů: Hooky a API
Základem silných funkcí WordPress pluginů je jejich “hook” systém a bohatá API. Porozumění těmto konceptům je klíčové pro pokročilé vývojářské aktivity.
Porozumění akcím a filtrovacím hookům
Háčky se dělí do dvou hlavních typů: Akce (Action) a Filtry (Filter).
Akční háčky vám umožňují vložit vlastní kód v konkrétních okamžicích běhu WordPressu – například při zveřejnění článku nebo při načítání administrace. add_action() Funkce slouží k montáži. Provádí pouze požadované operace a neočekává žádné výsledné hodnoty (návratové hodnoty).
Filtrovací hooky vám umožňují upravovat data, která vytváří WordPress během svého zpracování. add_filter() Funkce slouží k montáži. Musíte přijmout vstupní hodnotu, změnit ji a poté ji vrátit.
Například, odeslání e-mailu při přihlášení uživatele je jednou z akcí.
Doporučujeme k přečtení. Vytvořte si samostatný e-shop na platformě WooCommerce: praktický návod od nuly až po dokončení。
function myfp_on_user_login($user_login, $user) {
wp_mail($user->user_email, '欢迎回来!', '您刚刚成功登录了网站。');
}
add_action('wp_login', 'myfp_on_user_login', 10, 2); A změna nadpisu článku je vlastně „filtr“ – slouží k určitému způsobu filtrování obsahu článku.
function myfp_prepend_title($title) {
return '精选:' . $title;
}
add_filter('the_title', 'myfp_prepend_title'); Podrobný popis běžně používaných API rozhraní
WordPress poskytuje velké množství bezpečných API funkcí, které vám zabránějí v přímé manipulaci s databází.
* 选项 API:使用 add_option(), get_option(), update_option() Slouží k ukládání a načítání nastavení pluginů. Tato data budou uložena… wp_options V tabulce.
* 设置 API:用于在后台“设置”或独立页面中创建标准化、安全且可验证的表单字段。它简化了设置页面的创建过程,并自动处理安全校验(Nonce)和数据存储。核心函数包括 register_setting(), add_settings_section() 和 add_settings_field()。
* 数据库 API:通过 $wpdb Globální objekt umožňuje provádět vlastní operace s databází. Poskytuje funkce, jako… $wpdb->insert(), $wpdb->update(), $wpdb->get_results() Takový postup již zahrnuje ochranu proti předponám tabulek a SQL injectionům.
* HTTP API:使用 wp_remote_get() 或 wp_remote_post() Slouží k iniciování vzdálených HTTP požadavků. Je lepší než původní PHP funkce, jako např. file_get_contents() Bezpečnější, lépe kompatibilní a podporuje SSL i proxy servery.
Vytvoření backendu pro pluginy a uživatelského rozhraní
Zralý plugin obvykle vyžaduje stránku pro konfiguraci, která umožňuje uživatelům přizpůsobit jeho chování. WordPress nabízí různé způsoby, jak tyto stránky přidat do administrativního menu.
Vytvoření správního menu a podmení
Použití add_menu_page() Funkce umožňuje přidat nový položku do hlavního menu v levém navigačním panelu v pozadí. add_submenu_page() Je možné k nim přidat podstránky. Tyto funkce se obvykle používají… admin_menu Volá se v akčním háčku.
Níže je příklad stránky určené k vytvoření hlavního menu a jejích nastavení:
// 添加后台菜单
function myfp_add_admin_menu() {
// 添加顶级菜单
add_menu_page(
'我的插件设置', // 页面标题
'我的插件', // 菜单标题
'manage_options', // 权限要求
'myfp-settings', // 菜单slug
'myfp_settings_page_html', // 用于输出页面内容的回调函数
'dashicons-admin-generic', // 图标
80 // 位置
);
}
add_action('admin_menu', 'myfp_add_admin_menu');
// 设置页面HTML内容
function myfp_settings_page_html() {
// 权限检查
if (!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_options'); // 与 register_setting() 的选项组名匹配
do_settings_sections('myfp-settings'); // 与页面slug匹配
submit_button('保存设置');
?>
<input type="hidden" name="trp-form-language" value="cs"/></form>
</div>
<br /><?php
} Vytvoření formuláře pomocí API pro nastavení
Aby výše uvedený formulář skutečně fungoval, potřebujeme použít API pro nastavení (setting API) k registraci polí. To se obvykle provádí… admin_init Dokončeno v „hooku“.
// 初始化设置
function myfp_settings_init() {
// 注册一个设置选项
register_setting('myfp_options', 'myfp_settings');
// 添加一个设置节
add_settings_section(
'myfp_section_basic',
'基础设置',
null, // 节描述回调函数,可为空
'myfp-settings'
);
// 为节添加一个文本字段
add_settings_field(
'myfp_field_footer_text',
'页脚文本',
'myfp_field_footer_text_html', // 渲染字段HTML的回调函数
'myfp-settings',
'myfp_section_basic',
['label_for' => 'myfp_field_footer_text']
);
}
add_action('admin_init', 'myfp_settings_init');
// 字段HTML渲染函数
function myfp_field_footer_text_html() {
$options = get_option('myfp_settings');
$value = $options['footer_text'] ?? '默认文本';
?>
<input type="text"
id="myfp_field_footer_text"
name="myfp_settings[footer_text]"
value="<?php echo esc_attr($value); ?>"
class="regular-text">
<?php
} Díky takové kombinaci jsme vytvořili standardizovanou stránku pro nastavení backendu, která obsahuje funkce ověřování a ukládání dat. Po uložení údajů je jejich obsah přenesen do požadovaného systému. get_option('myfp_settings') Bylo získáno a použito pro funkce pluginu.
Závěr
Vývoj pluginů pro WordPress je proces, který začíná pochopením základní struktury (hlavičky pluginu, organizace souborů) a postupně pokračuje osvojením jeho klíčových mechanismů (hooky, API). Pomocí vytvoření profesionálního lokálního prostředí můžete bezpečně provádět experimenty a ladění. Vytvoření vašeho prvního pluginu vás seznámí s procesem, jakým WordPress pluginy rozpoznává a načítá. Dobré pochopení hooků pro akce a filtry, stejně jako API pro nastavení, parametry a databázi, je základem pro vytváření funkčních a bezpečných pluginů. Nakonec můžete využít funkce správního menu a API pro nastavení poskytované WordPressem k vytvoření uživatelsky přívětivého a snadno konfigurovatelného backendu. Dodržováním těchto kroků a osvědčených postupů budete schopni od nuly vytvořit pluginy pro WordPress, které splňují různé požadavky.
Časté dotazy
Jaké základní znalosti jsou potřebné k vývoji pluginů pro WordPress?
Potřebujete mít základní znalosti programovacího jazyka PHP, protože 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 JavaScriptu, které jsou nezbytné pro vytváření webových rozhraní a interakčních prvků. Poznání základních konceptů databáze MySQL (např. přidávání, mazání, úprava a vyhledávání dat) vám pomůže lépe porozumět způsobu práce s daty v WordPressu. Nakonec je nezbytné znát základní architekturu WordPressu a běžné šablony (templates).
Jak zajistit, aby plugin, který jsem vyvinul, byl bezpečný?
Zajištění bezpečnosti pluginů vyžaduje dodržování řady osvědčených postupů. Nejprve je nutné ověřit, očistit a escapeovat všechna data zadaná uživateli. Pro tento účel můžete využít funkce poskytované WordPressem. esc_html(), esc_attr(), sanitize_text_field() 和 wp_kses()Zadruhé, při provádění jakýchkoli operací spojených s úpravou dat (např. odeslání formuláře) je nutné použít Nonce (jednorázový token) k ověření účelu a zdroje požadavku. Nakonec, při přímé interakci s databází je nezbytné vždy používat odpovídající bezpečnostní mechanismy. $wpdb Mějte na paměti metody poskytované těmi třídami, nebo využívejte pokročilejší API, abyste se vyhnuli psaní ručních SQL příkazů a tak zabránili útokům typu injection.
Může být hlavní soubor pluginu pojmenován jakkoliv?
Možné je, ale je nutné dodržovat určité pravidla. Hlavní PHP soubor může mít libovolný název, avšak obvykle se doporučuje použít název, který je shodný s názvem adresáře nebo názvem pluginu, je psán celými malými písmeny a je spojen spojovníkem. Například: my-awesome-plugin.phpZásadní je, že tento soubor musí obsahovat správné poznámky o hlavičkách pluginů (tj. Plugin Name: Atd.), protože WordPress rozpoznává pluginy na základě těchto specifických poznámek v obsahu souborů, a to skenováním jejich obsahu, nikoli na základě názvů souborů.
Jak přidat mému pluginu podporu více jazyků?
Přidání podpory více jazyků ( internacionalizace a lokalizace ) pro plugin se skládá ze tří hlavních kroků. Prvním krokem je v kódu pluginu vyměnit všechny textové stránky, které je třeba přeložit, za příslušné překladatelské verze. __() 或 _e() Zabalte funkce do příslušných obalů a nastavte textové pole (Text Domain). Druhým krokem je správné deklarování těchto funkcí v poznámkách na začátku pluginu. Text Domain 和 Domain PathTřetí krok: Použijte nástroj, jako je Poedit, k prohledání kódu pluginu a generování požadovaných dat. .pot Šablony souborů, poté je přeložit pro každý jazyk a vytvořit odpovídající verze. .po 和 .mo Soubor umístěte do určeného slovníkového adresáře pro daný jazyk. WordPress automaticky načte odpovídající překlad podle nastavení jazyka webové stránky.
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.
- Praktický průvodce SEO optimalizací firemních webových stránek pro rok 2026: Základní strategie až po pokročilé postupy
- Ultimátní průvodce výstavbou webových stránek: Komplexní praktický plán od nuly až po profesionální spuštění
- Praktický průvodce SEO optimalizací pro rok 2026: Systémové strategie od základů až po pokročilé úrovně
- Od začátků až po dokonalost: Kompletní průvodce praktickými postupy a strategiemi SEO optimalizace
- Ovládněte základní techniky SEO optimalizace: Praktický průvodce od výběru klíčových slov po strukturovanou optimalizaci celé webové stránky