Základní návod k vývoji rozšíření pro WooCommerce a praktická příručka.

Čtení za 3 minuty.
2026-03-14
2026-06-04
2,135
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.

Proč je potřeba vytvářet rozšíření pro WooCommerce?

WooCommerce, jako nejvýkonnější e-shopový plugin v ekosystému WordPress, pokrývá základní potřeby provozování online obchodů – správu produktů, nákupní košíky, platbu atd. Avšak obchodní modely, vlastnosti produktů a provozní procesy každého podniku jsou jedinečné. Standardní funkce často nedokáží splnit požadavky na personalizaci produktových nastavení, komplexní výpočty poštovných nákladů, integraci s konkrétními systémy pro řízení podnikových zdrojů (ERP) nebo vytvoření unikátních systémů pro členy. V takových případech je nezbytný vývoj vlastních rozšíření pro WooCommerce.

Díky vývoji rozšíření mohou vývojáři specifickou obchodní logiku zabalit do samostatných modulů, čímž mohou bez změny základního kódu WooCommerce bezproblémově rozšířit nebo upravit funkce obchodu. Tento přístup zajišťuje kompatibilitu a udržovatelnost rozšíření a usnadňuje následné aktualizace a inovace. Ať už jde o poskytování řešení pro konkrétní odvětví (jako jsou rezervační služby, digitální stahování, předplatné) nebo o optimalizaci uživatelského zážitku (jako je vylepšené vyhledávání, personalizované doporučení), vlastní rozšíření představují klíčovou cestu k dosažení obchodní diferenciace a technické nezávislosti.

Vytvoření vývojového prostředí pro rozšíření WooCommerce

Než začnete psát kód, je nezbytné mít stabilní a prostředí lokálního vývoje, které odpovídá prostředí produkčnímu. To nejen zvyšuje efektivitu vývoje, ale také eliminuje rizika spojená s experimentováním na online serverech.

Doporučujeme k přečtení. Podrobné vysvětlení WooCommerce: kompletní průvodce od základní konfigurace až po efektivní provoz.

Nastavení lokálního vývojového prostředí.

Doporučujeme použít lokální serverové integrační prostředí, jako je Local by Flywheel, Laragon nebo XAMPP. Tyto nástroje umožňují rychle nastavit PHP, MySQL a webové servery (např. Apache nebo Nginx) na vašem počítači. Je důležité zajistit, že verze PHP je kompatibilní s vaší cílovou verzí WordPress a WooCommerce; obvykle se doporučuje používat verzi PHP 7.4 nebo vyšší. Kromě toho je potřeba na místě nainstalovat editory kódu, jako je Visual Studio Code nebo PhpStorm, které poskytují dobrou podporu pro vývoj v PHP a WordPress.

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.

Instalace WordPressu a WooCommerceu

Ve svém lokálním serverovém prostředí nejprve nainstalujte zcela novou verzi WordPress. Doporučujeme stáhnout nejnovější verzi z webu WordPress.org. Po dokončení instalace přejděte do administrace WordPress na stránku “Příslušenství” > “Instalovat příslušenství”, vyhledejte požadované příslušenství a nainstalujte ho. WooCommerceProveďte základní konfiguraci pomocí průvodce nastavení WooCommerce, vytvořte testovací produkt, nastavte možnosti platby a poštovného, abyste vytvořili reálné testovací prostředí pro další vývoj. Doporučujeme také zapnout režim ladění (debugging mode) v WordPressu. wp-config.php V souboru bude… WP_DEBUG Konstanta je nastavena na trueTo pomáhá rychle objevovat chyby během vývojového procesu.

Vytvořte svůj první plugin pro WooCommerce.

WooCommerce rozšíření je v podstatě plugin pro WordPress. Prvním krokem při vytváření pluginu je vytvoření správné struktury souborů a zadání informací o tomto pluginu.

Struktura základního souboru zásuvného modulu

Ve složce instalace vašeho WordPressu… wp-content/plugins V té složce vytvořte novou složku, například… my-first-woocommerce-extensionV této složce vytvořte hlavní soubor pluginu, který se obvykle nazývá podle názvu samotného pluginu. my-first-woocommerce-extension.phpToto je vstupní bod pluginu a musí obsahovat standardní poznámky pro hlavičky WordPress pluginů.

<?php
/**
 * Plugin Name: My First WooCommerce Extension
 * Plugin URI:  https://yourwebsite.com/
 * Description: 一个简单的 WooCommerce 扩展示例,用于演示开发基础。
 * Version:     1.0.0
 * Author:      Your Name
 * License:     GPL v2 or later
 * Text Domain: my-first-wc-ext
 */

Přidejte jednoduchý funkční hook.

Abychom zajistili, že naše rozšíření běží pouze v případě, že je WooCommerce aktivováno, a aby byly funkce přidány bezpečným způsobem, musíme použít akční háčky (Action Hooks) nebo filtrovací háčky (Filter Hooks). Níže je příklad, který přidává vlastní text za nadpisem stránky jednotlivého produktu. Používáme… woocommerce_single_product_summary Tento akční hook.

Doporučujeme k přečtení. Co je WooCommerce a jaké jsou jeho hlavní komponenty?

// 防止文件被直接访问
if ( ! defined( 'ABSPATH' ) ) {
    exit;
}

// 检查 WooCommerce 是否激活
if ( in_array( 'woocommerce/woocommerce.php', apply_filters( 'active_plugins', get_option( 'active_plugins' ) ) ) ) {

add_action( 'woocommerce_single_product_summary', 'my_custom_product_message', 6 );

function my_custom_product_message() {
        echo '<p class="my-custom-text">Toto je text přidán pomocí vlastního rozšíření!</p>';
    }
}

Uložte výše uvedený kód do svého hlavního pluginového souboru a poté přihlaste se do administrace WordPressu a aktivujte tento plugin. Navštivte libovolnou stránku produktu a měli byste vidět přidaný vlastní odstavec poblíž názvu produktu. Tento jednoduchý příklad ukazuje, jak lze prostřednictvím hooků zasáhnout do procesu zobrazování obsahu v systému WooCommerce.

Podrobněji do hloubky: Použití akcí a filtrovacích hooků

Rozšiřitelnost WooCommerce do značné míry závisí na jeho rozsáhlém a flexibilním systému hooků. Porozumění a obratné využívání hooků je základem pro pokročilé vývojářské práce.

Příklady běžných akčních hooků

Akční háčky vám umožňují “spustit” svůj vlastní kód v určitém okamžiku. Například byste mohli chtít, aby se při změně stavu objednávky na “Dokončeno” spustila operace odeslání dat do externího systému. To lze dosáhnout pomocí akčních háčků. woocommerce_order_status_completed Implementace hooků.

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.
add_action( 'woocommerce_order_status_completed', 'send_order_to_erp' );

function send_order_to_erp( $order_id ) {
    $order = wc_get_order( $order_id );
    // 编写你的逻辑,例如获取订单数据并调用外部 API
    // error_log( "订单 #{$order_id} 已完成,准备同步至ERP。" );
}

Další běžný scénář je přidání vlastních polí na stránce pro úhradu. K tomu lze použít… woocommerce_after_order_notes Akční háky.

Příklady běžně používaných filtrovacích hooků

Filtrovací hooky vám umožňují “upravit” již existující data. Například chcete přidat ke všem produktovým cenám pevnou částku jako příplatek, nebo změnit výsledek výpočtu poštovných. Cenu určitého zboží v nákupním košíku můžete upravit pomocí těchto hooků. woocommerce_product_get_price Filtr.

add_filter( 'woocommerce_product_get_price', 'increase_price_by_ten', 10, 2 );

function increase_price_by_ten( $price, $product ) {
    // 只对特定产品ID为 99 的产品生效
    if ( 99 === $product->get_id() ) {
        $price = $price + 10;
    }
    return $price;
}

Úprava polí pro platbu je typickým příkladem využití dalšího filtrovacího hooku. woocommerce_checkout_fields Filtry lze snadno přidávat, odstraňovat nebo přeuspořádávat pole.

Doporučujeme k přečtení. Podrobné vysvětlení WooCommerce: kompletní návod k vytvoření vysoce výkonného e-commerce webu od nuly.

Rozšířené praktické návody: Vytvoření vlastních produktových kartiček

Abychom poskytli úplnější příklad z praxe, vytvoříme funkci, která umožní přidat na produktové stránky vlastní kartu s názvem “Specifika a parametry”.

Zaregistrujte novou kartu produktu.

Nejprve potřebujeme použít… woocommerce_product_tabs Filtr slouží k přidání našich vlastních kartiček do již existujícího seznamu produktových kartiček (např. “Popis”, “Recenze”).

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.
add_filter( 'woocommerce_product_tabs', 'add_custom_specification_tab' );
function add_custom_specification_tab( $tabs ) {
    // 添加新选项卡
    $tabs['specification_tab'] = array(
        'title'    => __( '规格参数', 'my-first-wc-ext' ),
        'priority' => 50,
        'callback' => 'display_custom_specification_tab_content'
    );
    return $tabs;
}

Definice funkce pro zobrazení obsahu tabulek

Dále potřebujeme definovat výše uvedené callback funkce. display_custom_specification_tab_contentSlouží k výstupu HTML obsahu uvnitř tohoto kartičkového prvku. V tomto příkladu jednoduše zobrazujeme pevně zakódovaný text, ale v reálných projektech byste mohli získávat data z vlastních polí produktu (používající…) Advanced Custom Fields Data se dynamicky získávají buď z pluginů, nebo z vestavěných funkcí určených k úpravě metadat příspěvků (post meta).

function display_custom_specification_tab_content() {
    // 这里可以编写从数据库获取数据的逻辑
    echo '<h2>Podrobné specifikace produktu</h2>'; echo '
    echo '<p>Zde naleznete podrobné technické specifikace produktu, materiály, rozměry a další informace. Vývojáři mohou připojit vlastní pole (custom fields), aby obsah byl dynamicky zobrazován.</p>'; echo '
    echo '<ul>'; echo '
    echo '<li>Materiál: Vysoce kvalitní hliníkový slitina</li>'; echo '
    echo '<li>Rozměry: 30 cm x 20 cm x 10 cm</li>'; echo '
    echo '<li>Hmotnost: 1,5 kg</li>'; echo '
    echo '</ul>';
}

Přidejte tento kód do svého hlavního pluginového souboru, uložte ho a poté obnovte stránku produktu. Měli byste vidět, že vedle kartice “Popis” se objevila nová kartice “Specifikace”. Tento praktický příklad kombinuje použití filtrovacích hooků k úpravě datové struktury WooCommerce a využívá funkce callback k zobrazení obsahu na stránce – jedná se o typický způsob vývoje rozšiřujících funkcí.

Závěr

Vývoj rozšíření pro WooCommerce je účinným způsobem, jak přeměnit obecný e-shopový platformu na přizpůsobené komerční řešení. Začali jsme pochopením potřeby vytvářet vlastní rozšíření, vybavili jsme se profesionálním lokálním vývojovým prostředím a postupně vytvořili základní plugin s strukturovaným designem. Díky důkladnému prostudování systému akcí a filtrů v WooCommerce jsme získali znalosti o základních metodách přidávání nebo úpravy funkcí v klíčových částech procesu. Závěrečný praktický cvičení – vytvoření vlastních produktových kartiček – kompletně propojilo celý vývojový proces od použití těchto „hooků“ až po renderování front-end obsahu. Nezapomeňte vždy upřednostňovat použití hooků před přímou úpravou základních souborů, což zajistí, že vaše rozšíření bude dobře kompatibilní, udržovatelné a bude moci být plynule aktualizováno spolu s WooCommerce.

Časté dotazy

Jak rozhodnout, zda by měla funkce využívat akční hook nebo filtrovací hook?

Jednoduchý způsob posouzení je: Pokud váš kód potřebuje v určitém okamžiku “něco udělat” (např. odeslat e-mail, zaznamenat do logu, vypsat HTML), pak se obvykle používají akční háčky (action hooks).add_actionPokud váš kód potřebuje “změnit nějakou existující hodnotu” (například změnit cenu, upravit poštovné, editovat textový obsah), měli byste použít filtrové háčky (filter hooks).add_filterV podstatě je filtr speciálním typem chování, který vyžaduje vracení nějaké hodnoty.

Moje rozšíření musí být kompatibilní s více verzemi WooCommerce. Na co bych měl dát pozor?

Hlavním principem je vyhýbat se používání zastaralých funkcí a metod. Při vývoji se prosím podívejte na oficiální dokumentaci pro vývojáře odpovídající nejnižší verzi WooCommerce, kterou používáte. Používejte podmínkové kontroly k ověření, zda určité funkce nebo třídy existují. Například při volání… wc_get_order Předtím můžete nejprve zkontrolovat, zda funkce existuje. Pokud neexistuje, můžete se vrátit k použití starší verze. get_order Způsob: Aktivně využívejte konstanty verzí WordPressu a WooCommerce k detekci nových funkcí.

Jak efektivně ladit kód během vývojového procesu?

Prvním krokem je povolení režimu ladění (debugging mode) v WordPressu. wp-config.php Nastavit v nastaveních define( 'WP_DEBUG', true );Nyní můžete začít používat službu Google Assistant. error_log() Funkce zaznamenává informace o proměnných do chybového logu serveru, což je velmi užitečné pro sledování logického toku kódu. Kromě toho lze nainstalovat vývojářské doplňky, jako je Query Monitor, které v reálném čase zobrazují spuštěné hooky, databázové dotazy, PHP chyby a varování. Jedná se o velmi silný nástroj pro vývoj rozšíření pro WooCommerce.

Můžu svůj vytvořený rozšíření odeslat do oficiálního obchodu s rozšířeními WooCommerce?

Možné to je, ale proces a požadavky jsou poměrně přísné. Vaše rozšíření musí dodržovat kódovací standardy WordPressu a WooCommerceu, musí poskytovat kvalitní, bezchybný kód a mít dobrou podporu internacionalizace. Kromě toho je nutné podat žádost prostřednictvím stránek WooCommerce.com, kde jejich tým provede kontrolu z hlediska bezpečnosti, kvality kódu a funkčnosti. Pro jednotlivé vývojáře nebo malé týmy je také možné rozšíření zveřejnit v adresáři pluginů na WordPress.org nebo na třetích trzích, jako je CodeCanyon.