Přípravné práce a nastavení prostředí.
Než začnete psát kód, potřebujete vhodné vývojové prostředí. To zahrnuje lokální instalaci WordPressu a editor kódu. Doporučujeme nástroje jako XAMPP, MAMP, Local by Flywheel nebo Laragon pro rychlé nastavení lokálního serverového prostředí. Ujistěte se, že vaše prostředí používá aktuální verzi PHP (doporučujeme verzi 7.4 nebo vyšší) a databázi MySQL/MariaDB.
Dále se musíte seznámit se základní strukturou pluginů pro WordPress. Nejzákladnějším souborem v pluginu je hlavní PHP soubor, jehož název a název adresáře mohou být přizpůsobeny, ale musí obsahovat specifickou poznámku o hlavičce pluginu, která slouží k označení vašeho pluginu pro WordPress. Tento soubor najdete v adresáři instalace WordPress. wp-content/plugins V této složce vytvořte novou složku, například… my-first-plugin。
V této složce vytvořte svůj hlavní pluginový soubor – například pojmenujte ho „main_plugin.py“. my-first-plugin.phpNa začátku tohoto souboru musí být obsažena standardní poznámka s informacemi o plug-inu.
Doporučujeme k přečtení. Návod k vývoji pluginů pro WordPress: Vytvořte si své první rozšíření s vlastními funkcemi od nuly.。
Vytvořte svůj první soubor plug-inu.
Teď si společně vytvoříme základní strukturu našeho pluginu. V adresáři s vašimi pluginy otevřete hlavní PHP soubor a zapište do něj následující standardní informace o hlavičce pluginu.
<?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 klíčový pro to, aby WordPress rozpoznal plugin. V něm jsou uvedeny důležité informace…Plugin Name Toto je povinné pole; vše ostatní je volitelné. Po uložení souboru můžete tento nový plugin najít na stránce “Příslušenství” v administraci WordPress a aktivovat ho. V současné době nemá žádné funkce.
Přidejte do pluginu jednoduchou funkci.
Jednou z nejjednodušších funkcí je přidání vlastního správního menu do administrativního panelu webové stránky. K tomu použijeme… add_action Funkce byla nasazena („montována“). admin_menu Tento „akční háček“ je připojen…
Do hlavního souboru pluginu, za blokem komentářů, přidejte následující kód:
// 在管理菜单中添加一个顶级菜单
function mfp_add_admin_menu() {
add_menu_page(
'我的第一个插件设置', // 页面标题
'我的插件', // 菜单标题
'manage_options', // 权限要求
'my-first-plugin', // 菜单 slug
'mfp_settings_page', // 回调函数,用于输出页面内容
'dashicons-admin-generic', // 图标(可选)
6 // 菜单位置(可选)
);
}
add_action('admin_menu', 'mfp_add_admin_menu');
// 定义设置页面的回调函数
function mfp_settings_page() {
?>
<div class="wrap">
<h1><?php echo esc_html(get_admin_page_title()); ?></h1>
<p>Vítejte na stránce nastavení mého prvního doplňku!</p>
<form method="post" action="/cs/options.php/" data-trp-original-action="options.php">
<?php
// 后续可以在这里添加设置字段
?>
<p class="submit">
<input type="submit" name="submit" id="submit" class="button button-primary" value="Uložit změny">
</p>
<input type="hidden" name="trp-form-language" value="cs"/></form>
</div>
<br /><?php
} Tento kód vytvoří nový hlavní menu s názvem “Moje doplňky” („My Plugins“). Po kliknutí na toto menu se otevře jednoduchá nastavovací stránka. Zde byly použity následující techniky/komponenty: add_menu_page Funkce slouží k registraci menu a také definuje funkci na zpětnou vazbu (callback function). mfp_settings_page Zde se provádí renderování obsahu stránky.
Doporučujeme k přečtení. Průvodce vývojem WordPress pluginů: Postavte si svůj první funkční plugin od nuly。
Rozšíření funkcí pomocí háčků a filtrů
Síla jádra WordPress spočívá v jeho architektuře plugínů, která je realizována pomocí akčních a filtrovacích hooků. Akční hooky vám umožňují spouštět vlastní kód v určitých okamžicích, zatímco filtrovací hooky vám umožňují upravovat data.
Použijte akční háčky k přidání podpisu na stránce.
Předpokládejme, že chceme automaticky přidávat na konci všech článků na webu určitý vlastní text. To lze dosáhnout pomocí montáže („mounting“) tohoto textu do příslušných částí stránek. the_content Tento filtr je implementován pomocí hooků. Všimněte si, že i když se jmenuje “filtr”, ve skutečnosti… the_content Obvykle se používá k úpravě výstupu obsahu článků.
// 在文章内容末尾添加自定义文本
function mfp_append_text_to_content($content) {
// 确保只在主循环的单篇文章页面添加
if (is_single() && in_the_loop() && is_main_query()) {
$custom_text = '<p><em>Tento článek vám přináší “Můj první plugin”.</em></p>';
$content .= $custom_text;
}
return $content;
}
add_filter('the_content', 'mfp_append_text_to_content'); Tato funkce mfp_append_text_to_content Přijměte původní obsah článku. $contentPo zkontrolování kontextových podmínek (ujistění se, že se jedná o samostatnou stránku článku) přidá vlastní text na konec obsahu a nakonec se vrátí upravený obsah. add_filter Zaregistrujte to… the_content Hák.
Vytvořit konfigurovatelné možnosti pro plugin
Užitečný plugin obvykle vyžaduje několik možností, které mohou být nastaveny uživatelem. WordPress poskytuje API pro nastavení, který umožňuje bezpečné zpracování a správu těchto možností. Na předchozí stránce nastavení přidáme jednoduché textové pole.
Nejprve musíme zaregistrovat novou nastavení a přidat ji na stávající stránku s menu.
// 初始化插件设置
function mfp_settings_init() {
// 注册一个新的设置到 “reading” 组(或自定义组)
register_setting('mfp_plugin_settings', 'mfp_custom_message');
// 在现有页面内添加一个设置区域
add_settings_section(
'mfp_section_id',
'自定义消息设置',
'mfp_section_callback',
'my-first-plugin'
);
// 向该区域添加一个字段
add_settings_field(
'mfp_field_id',
'页脚消息',
'mfp_field_callback',
'my-first-plugin',
'mfp_section_id'
);
}
add_action('admin_init', 'mfp_settings_init');
// 区域描述回调函数
function mfp_section_callback() {
echo '<p>Zde nakonfigurujete zprávu, která se zobrazí na konci článku pomocí pluginu.</p>';
}
// 字段输出回调函数
function mfp_field_callback() {
// 从数据库中获取已保存的选项值
$message = get_option('mfp_custom_message', '本文由“我的第一个插件”为您呈现。');
echo '<input type="text" name="mfp_custom_message" value="' . esc_attr($message) . '" class="regular-text">'; echo '
echo '<p class="description">Zadejte zprávu, kterou chcete zobrazovat na konci každého článku.</p>';
} Poté je nutné upravit dříve definované prvky. mfp_settings_page Funkce slouží k výpisu nastavených polí v formuláři.
Doporučujeme k přečtení. Od základů až po dokonalost: Kompletní průvodce vývojem pluginů pro WordPress a praktické návody。
// 更新后的设置页面回调函数
function mfp_settings_page() {
?>
<div class="wrap">
<h1><?php echo esc_html(get_admin_page_title()); ?></h1>
<form method="post" action="/cs/options.php/" data-trp-original-action="options.php">
<?php
// 输出设置字段、安全随机数和设置组
settings_fields('mfp_plugin_settings');
do_settings_sections('my-first-plugin');
submit_button();
?>
<input type="hidden" name="trp-form-language" value="cs"/></form>
</div>
<br /><?php
} Na závěr aktualizujte funkci, která předtím přidává text, tak aby používala konfigurovatelné možnosti.
function mfp_append_text_to_content($content) {
if (is_single() && in_the_loop() && is_main_query()) {
// 从选项中获取自定义消息,如果不存在则使用默认值
$custom_text = get_option('mfp_custom_message', '本文由“我的第一个插件”为您呈现。');
if (!empty($custom_text)) {
$content .= '<p><em>'. wp_kses_post($custom_text) . '</em></p>';
}
}
return $content;
} Internationalizace pluginů a příprava k jejich vydání
Aby bylo možné používat pluginy uživatelům po celém světě, je internacionalizace důležitým krokem. To zahrnuje použití textových polí a funkcí pro překlad všech řetězců, které jsou viditelné pro uživatele.
Text byl zabalen pomocí funkce překladu.
Potřebujete všechny řetězce vypsané v pluginu (např. echo Text vrácený funkcí „or“ (nebo podobnou) je potřeba obalit pomocí specifické funkce pro překlad. Nejčastěji používanou funkcí je… () Slouží k překladu a vracení řetězců, stejně jako… esc_html__() Slouží k překladu a escapeování HTML kódu.
Upravit předchozí příklad kódu:
// 在管理菜单中添加一个顶级菜单(国际化版本)
function mfp_add_admin_menu() {
add_menu_page(
__('我的第一个插件设置', 'my-first-plugin'), // 页面标题
__('我的插件', 'my-first-plugin'), // 菜单标题
'manage_options',
'my-first-plugin',
'mfp_settings_page',
'dashicons-admin-generic',
6
);
}
add_action('admin_menu', 'mfp_add_admin_menu');
// 区域描述回调函数(国际化版本)
function mfp_section_callback() {
echo '<p>' . esc_html__('在这里配置插件在文章末尾显示的消息。', 'my-first-plugin') . '</p>';
} Zároveň je potřeba načíst textové pole. Po bloku komentářů v hlavním souboru pluginu přidejte kód na načtení souborů s překlady:
// 加载插件文本域
function mfp_load_textdomain() {
load_plugin_textdomain('my-first-plugin', false, dirname(plugin_basename(__FILE__)) . '/languages/');
}
add_action('plugins_loaded', 'mfp_load_textdomain'); Připravte soubor s komprimovanými pluginy.
Před vydáním nebo sdílením pluginu musíte vytvořit čistý balíček určený k distribuci. Ujistěte se, že adresář s vaším pluginem obsahuje všechny potřebné soubory, a zároveň vynechte ty, které nejsou nutné k fungování pluginu. .git Bezplatné nástroje, šablony, dokumentace, ukázky kódu, příklady použití, nápady na vylepšení a další materiály, které mohou pomoci uživatelům začít pracovat s daným nástrojem nebo rozšířením.
1. 主插件 PHP 文件。
2. 一个可选的 readme.txt Soubor splňuje formátovací standardy WordPress.org a slouží k zobrazení v adresáři s pluginy.
3. 一个包含翻译文件的 /languages Složka (pokud existuje).
4. 其他必需的 JavaScript、CSS 或图片资源文件夹。
Sbalte celou složku s pluginy do souboru ve formátu ZIP. Tento soubor poté můžete nainstalovat pomocí funkce “Nahrát plugin” v administraci WordPressu, nebo jej odeslat do oficiálního adresáře s pluginy WordPressu.
Závěr
Díky této příručce jsme prošli základním procesem vývoje WordPress pluginů: od přípravy prostředí, vytvoření hlavního souboru s standardním pluginovým hlavičkovým souborem, přes přidávání funkcí pomocí akcí a filtrových háčků, až po vytváření konfigurovatelných nastavení pomocí API pro nastavení. Na závěr jsme se seznámili se základy internacionalizace. To vám poskytlo solidní základ pro vývoj složitějších a užitečnějších pluginů. Nezapomeňte, že dobrá struktura kódu, dodržování standardů kódování WordPressu a hluboké pochopení jeho systému háčků jsou klíčové pro to, abyste se stali skvělými vývojáři pluginů.
Časté dotazy
Jaké programovací znalosti jsou potřebné k vývoji WordPress pluginu ###?
Potřebujete mít základní znalosti programování v PHP, protože jádro WordPressu a jeho pluginy jsou převážně napsány v PHP. Základní znalosti HTML, CSS a JavaScriptu budou také velmi užitečné, zejména pokud budete chtít personalizovat správní rozhraní nebo front-end interakce. Rovněž je nezbytné porozumět základním konceptům WordPressu, jako jsou články, stránky, kategorie a „hooky“.
Jak má být nazýván hlavní soubor pluginu?
Neexistují žádné povinné požadavky. Hlavní soubor může mít jakékoli platné název PHP souboru, ale obvykle se doporučuje použít název, který se shoduje s názvem adresáře s pluginy. Například, pokud je název adresáře… my-super-pluginPoté může být hlavní soubor nazýván… my-super-plugin.phpKlíčovým faktorem jsou poznámky o pluginových hlavičkách umístěné na začátku souboru – WordPress využívá informace obsažené v těchto poznámkách. Plugin Name: Slouží k identifikaci pluginů.
Jak ladit kód mého pluginu?
Existuje několik způsobů, jak ladit pluginy. Nejprve se ujistěte, že máte k dispozici všechny potřebné informace a nástroje. wp-config.php V souboru zapněte režim ladění WordPressu. WP_DEBUG Konstanta je nastavena na trueTo zobrazí na stránce chyby, varování a upozornění PHP. Kromě toho lze použít… error_log() Funkce zapisuje informace o ladění do chybového logu serveru, nebo využívá pokročilejší nástroje pro ladění, jako je např. plugin Query Monitor, který poskytuje podrobné údaje o databázových dotazech, hookech a chybách v PHP.
Jak mohu svůj vytvořený plugin zveřejnit v oficiálním katalogu WordPressu?
Chcete-li svůj plugin zveřejnit v oficiálním adresáři pluginů na WordPress.org, musíte nejprve zaregistrovat účet na stránkách WordPress.org a poté svůj plugin odeslat k posouzení. Kód vašeho pluginu musí být v souladu s licencí GNU GPL a musí obsahovat správně formátované dokumentace. readme.txt Soubory. Kontrolní tým prověří kvalitu kódu, jeho bezpečnost a soulad s předepsanými směrnicemi pro strukturu adresářů. Po úspěšné kontrole obdržíte SVN repozitář, který vám umožní spravovat a aktualizovat verze vašeho doplňku.
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.
- 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
- Od nuly k jedné: Kompletní průvodce a praktické tipy pro vytvoření profesionální webové stránky pomocí WordPressu.
- 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í