Proč jsou pluginy jádrem ekosystému WordPress?
Silná rozšiřitelnost WordPressu do značné míry závisí na jeho systému pluginů. Pluginy umožňují vývojářům přidávat webové stránky jakékoli funkce, od jednoduchých kontaktních formulářů až po složité e-shopové systémy, aniž by bylo nutné měnit samotný základní kód WordPressu. Porozumění vývoji pluginů znamená, že držíte v rukou klíč k přizpůsobení WordPressu podle vašich požadavků. Pluginy fungují podle principu “dohody je lepší než konfigurace” a komunikují s jádrem WordPressu prostřednictvím sady jasně definovaných životních cyklů („life cycle hooks“).
Standardní plugin je v podstatě jeden nebo více modulů, které se nacházejí…/wp-content/plugins/PHP soubory v adresáři musí obsahovat specifické poznámky v úvodu souboru („header“), které popisují daný plugin pro WordPress. Tento modulární design zajišťuje izolaci jednotlivých funkcí a stabilitu celého systému, což usnadňuje bezpečné a kontrolované aktivování, deaktivování a odinstalování pluginů.
Vytvořte si svůj první plugin: Základní struktura
Pro vytvoření pluginu je nejprve nutné vytvořit jeho základní soubory a strukturu. Nejde pouze o napsání kódu, ale také o vytvoření podkladů pro budoucí údržbu a rozšíření pluginu.
Doporučujeme k přečtení. Naučte se od základů vývoje pluginů pro WordPress: vytvářejte vlastní funkce a dosahujte efektivního zisku。
Nejprve, ve vašem lokálním vývojovém prostředí WordPress…/wp-content/plugins/V adresáři vytvořte novou složku. Název složky by měl být jedinečný a popisovat funkce daného doplňku – měl by se jednat o anglický název psaný malými písmeny. Například:my-first-greeting-pluginV této složce vytvořte hlavní PHP soubor, jehož název obvykle odpovídá názvu složky, například:my-first-greeting-plugin.php。
Záhlaví informací o pluginu
Hlavní soubor pluginu musí začínat určitým blokem komentářů, což je klíčové pro to, aby ho WordPress rozpoznal. Vložte následující kód do svého hlavního PHP souboru:
<?php
/**
* Plugin Name: 我的第一个问候插件
* Plugin URI: https://example.com/my-greeting-plugin
* Description: 这是一个演示插件,用于在网站页脚添加一句自定义问候语。
* Version: 1.0.0
* Author: 你的名字
* Author URI: https://example.com
* License: GPL v2 or later
* Text Domain: my-first-greeting-plugin
* Domain Path: /languages
*/ Tento komentář definuje všechny informace, které se zobrazují o pluginu na stránce “Pluginy” v administraci WordPressu.Plugin NameJedná se o povinný položku; vše ostatní je volitelné. Po uložení souboru uvidíte tento nový plugin v seznamu pluginů v administraci WordPress a můžete ho aktivovat stejným způsobem jako ostatní pluginy.
Přidání funkce pomocí akčních háčků
Po aktivaci pluginu zatím nic nedělá. Aby plugin začal fungovat, musíme využít “hooky” (závěsy) v WordPressu. Hooky se dělí na “akce” (Actions) a “filtry” (Filters). Akce vám umožňují spouštět vlastní kód v určitých okamžicích – např. při načtení stránky nebo při publikování článku.
Přidejte pozdrav do patra stránky.
Jedním z běžných požadavků je přidání obsahu do podokna (footer) webové stránky. WordPress to umožňuje.wp_footerTento akční háček umožňuje připojit naši vlastní funkci k tomuto mechanismu.
Doporučujeme k přečtení. Ultimátní průvodce vývojem WordPress pluginů: Vytvořte si svůj první vlastní plugin od nuly。
Pod poznámkou v úvodu hlavního PHP souboru přidejte následující kód:
// 声明一个自定义函数,用于输出问候语
function my_greeting_display() {
echo '<p style="text-align: center; color: #666; padding: 10px;">Ahoj, světě! Vítejte u mého prvního WordPress pluginu.</p>';
}
// 使用 add_action 函数将我们的自定义函数挂载到 wp_footer 钩子上
add_action( 'wp_footer', 'my_greeting_display' ); add_actionFunkce slouží jako most mezi vlastním kódem a jádrem WordPressu. Prvním parametrem je název hooku.‘wp_footer’Druhý parametr je název funkce, který jsme si sami definovali.‘my_greeting_display’Uložte soubor a obnovte webové stránky – poté uvidíte tento pozdravný text v patičce stránky.
Zavedení filtrů zvyšuje flexibilitu.
Akční hooky nám umožňují “něco udělat”, zatímco filtrovací hooky nám umožňují “data upravit”. Umožňují nám tedy změnit data ještě předtím, než jsou použita nebo vypsaná do prohlížeče. Díky tomu je funkce pluginů flexibilnější a lépe konfigurovatelná.
Příklad úpravy nadpisu článku:
Předpokládejme, že chceme automaticky přidávat před názvy všech článků text “【Doporučeno】”. Pro to můžeme použít…the_titleFiltr.
Do hlavního souboru vašeho pluginu přidejte následující novou funkci a filtr:
// 声明一个函数,用于修改文章标题
function my_prefix_post_title( $title, $post_id = null ) {
// 确保只在主循环且是文章页面添加前缀
if ( is_single() && in_the_loop() ) {
$title = '【推荐】' . $title;
}
// 必须返回修改后的值
return $title;
}
// 使用 add_filter 函数,挂载到 the_title 过滤器
add_filter( 'the_title', 'my_prefix_post_title', 10, 2 ); add_filtertřetí parametr10Jde o prioritu – čím menší je číslo, tím dříve se operace provede; čtvrtý parametr…2Znamená to, že něco je předáno do funkce.my_prefix_post_titlePočet parametrů. Funkce filtru musí vrátit upravenou hodnotu, nikoli pouze výstup. To umožňuje vašemu kódu vzájemně spolupracovat s filtry jiných pluginů nebo témat v podobě řetězce.
Doporučujeme k přečtení. Kompletní ovládnutí vývoje pluginů pro WordPress: Vytvoření vlastních funkcí od nuly。
Vytvořit stránku pro správu pluginů
Když potřebuje plugin některé volitelné nastavení, která mohou uživatelé upravit, je nutné pro něj vytvořit stránku pro správu v administraci. Toho je dosaženo pomocí API správního menu WordPressu.
Přidat stránku se nastaveními do administrativního panelu
Přidáme jednoduchý hlavní menu do levého navigačního panelu v administraci WordPressu.
V hlavním souboru svého pluginu pokračujte v přidávání následujícího kódu:
// 注册管理菜单
function my_greeting_add_admin_menu() {
add_menu_page(
'问候插件设置', // 页面标题
'问候插件', // 菜单标题
'manage_options', // 权限(管理员)
'my-greeting-plugin', // 菜单slug
'my_greeting_admin_page', // 回调函数,用于显示页面内容
'dashicons-admin-generic', // 菜单图标(WordPress Dashicons)
80 // 菜单位置
);
}
add_action( 'admin_menu', 'my_greeting_add_admin_menu' );
// 定义设置页面的HTML内容
function my_greeting_admin_page() {
// 安全检查
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( 'my_greeting_options' );
do_settings_sections( 'my-greeting-plugin' );
submit_button( '保存设置' );
?>
<input type="hidden" name="trp-form-language" value="cs"/></form>
<p>Vítejte na stránce nastavení mého prvního doplňku. V budoucnu zde můžete přidat další možnosti.</p>
</div>
<br /><?php
} add_menu_pageFunkce jsou klíčové pro vytvoření hlavního menu. Po uložení se přihlaste do administrace WordPressu jako administrátor a na levé straně uvidíte nový položku menu s názvem “Přivítací plugin”. Kliknutím na ni se dostanete na stránku s základními nastaveními, které jsme definovali. Toto je první krok při vytváření složitějších funkcí pluginu – v budoucnu zde můžete integrovat další prvky, jako jsou pole pro nastavení, funkce pro ukládání dat a podobně.
Závěr
Tím, že jsme vytvořili jednoduchý plugin pro pozdravy, prošli jsme základními kroky vývoje WordPress pluginů: začali jsme vytvářením základních souborů a hlavičkových informací, a poté jsme použili…add_actionKlíčová slova: „hook“, „kód“, „konkrétní pozice“, „následné použití“add_filterZměňte výstupní obsah tak, aby na závěr byla prostřednictvím API správního menu přidána webová stránka pro konfiguraci pluginu. Tyto čtyři základní stěny – struktura souborů, akční háčky, filtrovací háčky a správní rozhraní – tvoří základ téměř všech WordPress pluginů. Pokud pochopíte a dobře ovládnete tyto koncepty, přejdete od počáteční úrovně k mistrovství a budete moci začít vytvářet složitější a výkonnější vlastní nástroje, čímž skutečně uvolníte plný potenciál WordPressu.
Časté dotazy
Jaká je minimální struktura pluginu ###?
Jeden plugin může obsahovat pouze jediný samostatný PHP soubor. Stačí, aby tento soubor obsahoval platné hlavičkové poznámky určené pro WordPress pluginy (tj.Plugin Name…) a umístěte ho…/wp-content/plugins/V adresáři nebo jeho podadresářích dokáže WordPress tento adresář rozpoznat a zobrazit jej. Samozřejmě, složitější pluginy obvykle organizují svůj kód do více souborů a podadresářů za účelem lepší údržovatelnosti.
Jaký je zásadní rozdíl mezi akčními háčky (action hooks) a filtrovacími háčky (filter hooks)?
Akční háčky slouží k “provádění operací” v určitém okamžiku a nevyžadují, aby vaše funkce nějakou hodnotu vracela; jejich hlavním účelem je spustit určitý kus kódu. Filtrační háčky naopak slouží k “úpravě dat” a vyžadují, aby vaše funkce vždy vrátila hodnotu (obvykle upravenou hodnotu předanou jako vstup), aby data mohla být dále předána v rámci filtračního řetězce. Stručně řečeno: akční háčky něco udělají, zatímco filtrační háčky něco změní.
Jak zajistit, aby můj kód pluginu nekonfliktoval s ostatními pluginy?
Aby se předešlo kolizím názvů funkcí, tříd nebo konstant, je osvědčenou praxí používat jmenné prostory (doporučeno) nebo přidávat všem identifikátorům jedinečné předpony. Například všechny funkce v příkladech v tomto článku používají takové předpony.my_或my_greeting_Jako předpona. Od verze PHP 5.3 je používání jmenných prostorů modernějším a komplexnějším přístupem.
Jak provádět ladění při vývoji doplňků (pluginů)?
Nejprve se ujistěte, že ve vašem…wp-config.phpAktivováno v souboru.WP_DEBUG:define( ‘WP_DEBUG’, true );Nyní můžete začít používat službu Google Assistant.error_log()Funkce zapisuje informace o ladění do chybového logu serveru. Pro kontrolu proměnných lze použít…print_r()或var_dump()V kombinaci swp_die()Výstup dat musí být bezpečný na stránce. Kromě toho může výrazně zvýšit efektivitu ladění použití vývojářských nástrojů, jako je Query Monitor.
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.
- 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
- Kompletní průvodce vývojem pluginů pro WordPress: Od základů až po pokročilé návody na vytváření profesionálních rozšíření
- Od nuly ke jedničce: Podrobný průvodce celým procesem vývoje WordPress temat a praktické návody
- Od nuly k jedničce: Kompletní průvodce postupným vývojem vašeho prvního WordPress pluginu