Pokročilý průvodce WooCommerce: Od vytvoření e-shopu po optimalizaci výkonnosti webové stránky

Čtení za 4 minuty.
2026-03-21
2026-06-03
2,759
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.

Vytvoření e-shopu a jeho základní konfigurace

Prvním krokem při vytváření e-shopu pomocí platformy WooCommerce je zajistit stabilní základní prostředí. To zahrnuje nejen instalaci potřebných pluginů, ale také flexibilitu a stabilitu systému pro další rozšíření.

Výběr klíčových pluginů a témat

WooCommerce Jako plugin lze jeho funkce dále přizpůsobit pomocí “podtemů” (subthemes). Pro bezpečné přepsání výchozích šablonových souborů byste měli vytvořit nový podtem. Nejprve přejděte do adresáře svého tématu (který obvykle… /wp-content/themes/Vytvořte novou složku například… yourstore-childPoté v této složce vytvořte dvě klíčové soubory:style.cssfunctions.php

style.css Na začátku souboru musí být obsažen specifický hlavičkový řádek s informacemi o tématu:

Doporučujeme k přečtení. Pro uživatele WordPressu, kteří chtějí zlepšit výkonnost svého online obchodu, je Woo

/*
 Theme Name: YourStore Child
 Template: your-parent-theme-name
*/

functions.php V tomto případě je nutné upravit pořadí použití šablon týkajících se nadřazeného tématu. Standardní postup je následující:

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.
<?php
add_action( 'wp_enqueue_scripts', 'my_child_theme_enqueue_styles' );
function my_child_theme_enqueue_styles() {
    wp_enqueue_style( 'parent-style', get_template_directory_uri() . '/style.css' );
}

Detaillovaná nastavení klíčových obchodních funkcí

Základní nastavení sa výrazne neomezují pouze na aktivaci možností pro zobrazení informací o měně a adresech. V nastaveních WooCommerce je velmi důležitá kartice “Produkty” a pod ní položka “Zásoby”. Zde můžete nastavit globální limity zásob, rozhodnout se, zda dovolíte prodej produktů i v případě jejich nedostatku atd. Pokročilejší možnosti nastavení zahrnují také personalizaci logiky vyhledávání produktů a zobrazení obsahu na stránkách obchodu.

Například, pokud chcete změnit výchozí pořadí produktů na stránce obchodu, můžete to udělat v podtémate… functions.php Použijte to v čínštině. woocommerce_get_catalog_ordering_args „Hook.“ Následující kód změní výchozí pořadí na pořadí podle data uvedení produktu na trh, od nejnovějšího ke staršímu:

add_filter( 'woocommerce_get_catalog_ordering_args', 'custom_default_catalog_order' );
function custom_default_catalog_order( $args ) {
    $args['orderby'] = 'date';
    $args['order'] = 'desc';
    return $args;
}

Stratégie řízení produktů a jejich kategorizace.

Efektivní správa produktů je jádrem provozu obchodu na platformě WooCommerce. Správné využití vestavěných systémů typů produktů a atributů může výrazně zvýšit efektivitu správy a zlepšit uživatelský zážitek.

Využití variabilních produktů a vlastních atributů

可变产品 Jedná se o výkonný nástroj v WooCommerce určený k správě produktů s více vlastnostmi (jako jsou rozměry, barvy apod.). Jádrem tohoto systému je kombinace “vlastností” a “variant”. Nejprve v sekci “Produkt” > “Vlastnosti” vytvoříte globální vlastnosti, např. “Barva”. Poté, při úpravě konkrétního produktu, tyto vlastnosti přiřadíte danému produktu a vytvoříte varianty – pro každou kombinaci vlastností (např. “Červená – velikost L”) nastavíte samostatnou cenu, zásoby a obrázek.

Doporučujeme k přečtení. Vývoj e-shopů pomocí platformy WooCommerce: Kompletní průvodce vytvořením profesionálního online obchodu od nuly

Pro atributy, které vyžadují flexibilnější způsob vstupu nebo zobrazení, lze použít “vlastní produktové atributy”. Tyto atributy platí pouze pro konkrétní produkt a nejsou uloženy do globálního seznamu atributů. Díky pečlivému navržení struktury atributů můžete vytvořit složité produktové matice, které uspokojí potřeby různých druhů zboží – od oblečení po elektronické produkty.

Implementace pokročilého třídění a filtrování podle tagů

Základní klasifikace a štítky sice jsou jednoduché, ale při velkém počtu produktů je jejich navigační schopnost omezená. V takových případech je vhodné využít… 产品过滤器 Příslušenství nebo vlastní dotazy jsou lepšími možnostmi. WooCommerce nabízí bohatou škálu možností. Podmínkové značky A vyhledávací funkce.

Například vytvořte zkratku, která zobrazí pouze produkty s označením “bestseller” (bestseller) ze specifické kategorie. Ve vašem podtematu… functions.php Přidat do seznamu:

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_shortcode( 'featured_by_category', 'display_featured_products_by_cat' );
function display_featured_products_by_cat( $atts ) {
    $atts = shortcode_atts( array(
        'category' => '',
    ), $atts, 'featured_by_category' );

$args = array(
        'post_type' => 'product',
        'posts_per_page' => 6,
        'tax_query' => array(
            'relation' => 'AND',
            array(
                'taxonomy' => 'product_cat',
                'field'    => 'slug',
                'terms'    => $atts['category'],
            ),
            array(
                'taxonomy' => 'product_tag',
                'field'    => 'slug',
                'terms'    => 'hot-sales',
            )
        ),
    );
    $products = new WP_Query( $args );
    // ... 后续循环输出产品HTML的逻辑
}

Takto můžete to používat na jakékoli stránce. [featured_by_category category="electronics"] Nyní představíme nejprodávanější produkty z kategorie elektroniky.

Vlastní proces uzavírání obchodu a platby

Výchozí stránka pro platbu možná není schopna uspokojit všechny obchodní požadavky – například shromažďování dalších informací nebo integrace s konkrétními platebními bránami. WooCommerce nabízí velké množství „hooků“ (nástrojů pro připojení dalších funkcí), které umožňují tento proces přizpůsobit podle potřeb.

Přidání vlastních polí na stránce pro dokončení platby

Předpokládejme, že potřebujete pro B2B zákazníky přidat pole “Číslo firemního identifikátoru”. Můžete to provést následujícím způsobem: woocommerce_checkout_fields To se realizuje pomocí „hooků“ (speciálních funkcí). V podtématech… functions.php Přidat do seznamu:

Doporučujeme k přečtení. Kompletní průvodce WooCommerce: od začátku až po pokročilé vytváření vlastních e-commerce webových stránek.

add_filter( 'woocommerce_checkout_fields', 'add_custom_checkout_field' );
function add_custom_checkout_field( $fields ) {
    $fields['billing']['billing_vat_number'] = array(
        'label'     => __('增值税号', 'your-textdomain'),
        'placeholder'   => _x('请输入您的公司税号', 'placeholder', 'your-textdomain'),
        'required'  => false, // 根据需求设置为 true 或 false
        'class'     => array('form-row-wide'),
        'clear'     => true
    );
    return $fields;
}

// 保存字段值到订单元数据
add_action( 'woocommerce_checkout_update_order_meta', 'save_custom_checkout_field' );
function save_custom_checkout_field( $order_id ) {
    if ( ! empty( $_POST['billing_vat_number'] ) ) {
        update_post_meta( $order_id, '_billing_vat_number', sanitize_text_field( $_POST['billing_vat_number'] ) );
    }
}

Vytvoření přizpůsobeného platebního gatewayu a logiky zpracování objednávek

Někdy může být potřeba dynamicky aktivovat nebo deaktivovat určité platební brány na základě obsahu nákupního koše nebo informací o zákazníkovi. To lze provést pomocí woocommerce_available_payment_gateways Implementace filtrů. Například, pokud celková výše objednávky přesahuje 1000 yuan, je povolen pouze platba bankovním převodem:

add_filter( 'woocommerce_available_payment_gateways', 'conditionally_disable_gateways' );
function conditionally_disable_gateways( $available_gateways ) {
    if ( is_admin() ) return $available_gateways; // 不在后台应用

$cart_total = WC()->cart->total;
    if ( $cart_total > 1000 ) {
        unset( $available_gateways['cod'] ); // 禁用货到付款
        unset( $available_gateways['paypal'] ); // 禁用PayPal
        // 只保留 ‘bacs’ (银行转账)
        if ( isset( $available_gateways['bacs'] ) ) {
            $available_gateways = array( 'bacs' => $available_gateways['bacs'] );
        }
    }
    return $available_gateways;
}

Optimalizace výkonnosti a bezpečnosti webových stránek

Úspěšný e-shop musí být rychlý a bezpečný. S rostoucím počtem produktů, objednávek a návštěvníků se optimalizace výkonu a bezpečnosti stává obzvláště důležitou.

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.

Efektivní strategie pro ukládání dat do mezipaměti a optimalizaci databází

Caching objektů je klíčovým faktorem pro zvýšení rychlosti dynamických stránek v systému WooCommerce. Ujistěte se, že vaše hostitelské prostředí podporuje uchovávání uložených dat v objektovém cachi, např. pomocí nástrojů jako Redis nebo Memcached, a nastavte tyto funkce správně. wp-config.php Správná konfigurace je důležitá. U databází je pravidelná optimalizace nezbytná. WooCommerce generuje velké množství dat o sesích, záznamůch o úpravách objednávek a podobně. Pro tyto účely lze použít nástroje, které pomáhají správně organizovat a čistit tyto data. WP-Optimize Takové doplňky slouží k čištění a optimalizaci databázových tabulek.

Pokud jde o vyhledávání produktů, ujistěte se, že ve svých tematech nebo vlastním kódu používáte správné funkce WooCommerce. wc_get_products()Je lepší než běžný… WP_Query Efektivnější. Vyhněte se přímému dotazování databáze v cyklech a pokud je to možné, využívejte přednačítání dat a dočasné („transient“) vyrovnávací paměti (cache) k ukládání výsledků dotazů, které lze znovu použít.

Zesílení bezpečnostních opatření

Nejprve vždy používejte bezpečné připojení (HTTPS). WooCommerce pracuje s citlivými daty, a proto je povinné používat protokol SSL. To můžete nastavit v nastaveních WooCommerce > Pokročilé > Nastavení stránek tak, aby stránky “Uplatnění” a “Moje účty” byly automaticky přesměrovány na bezpečné (HTTPS) připojení.

Za druhé, omezte počet pokusů o přihlášení, abyste zabránili brutálnímu prolomení hesel. Použijte doplňky nebo konfigurace na úrovni serveru (např. soubor .htaccess nebo pravidla Nginx) k omezení počtu pokusů o přihlášení. /wp-login.php Četnost přístupů je důležitá. Také je důležité pravidelně aktualizovat klíče (keys) a šifrovací „salty“. wp-config.php Ve souboru ujistěte se, že následující konstanty jsou jedinečné náhodné řetězce:

define( 'AUTH_KEY',         'put your unique phrase here' );
define( 'SECURE_AUTH_KEY',  'put your unique phrase here' );
// ... 其他 salts

Na závěr provádějte pravidelné bezpečnostní audity. Kontrolujte oprávnění k souborům a adresářům, odstraňujte nepotřebné doplňky a tematiky a používejte nástroje pro bezpečnostní skenování k detekci potenciálních chyb. U dat o objednávkách a zákaznících se ujistěte, že váš plán zálohování je spolehlivý a umožňuje rychlou obnovu dat.

Závěr

Díky tomuto pokročilému průvodci systematicky prozkoumáme celý proces vývoje e-shopu pomocí nástroje WooCommerce – od základního nastavení až po jeho důkladné optimalizace. Úspěšný e-shop na bázi WooCommerce vychází z pevné architektury podtemů, detailního řízení produktů a kategorií, vysoce přizpůsobitelného procesu platby, stejně jako z důsledných strategií pro zlepšení výkonu a zabezpečení. Klíčovým faktorem je plné využití rozsáhlého systému hooků a filtrů poskytovaných nástrojem WooCommerce k úpravám e-shopu, namísto přímého editování jeho základních souborů. S rostoucím rozsahem e-shopu by mělo být pravidelné monitorování výkonu a neustálé zvyšování úrovně zabezpečení součástí každodenních údržbových činností. Když tyto postupy spojíte dohromady, budete schopni vytvořit profesionální e-shopový prostor, který splňuje složité obchodní požadavky a zároveň poskytuje rychlý a bezpečný uživatelský zážitek.

Časté dotazy

Jak změnit text výchozího tlačítka “Přidat do košíku” v WooCommerce?

Můžete to provést pomocí… woocommerce_product_add_to_cart_textwoocommerce_product_single_add_to_cart_text Filtr slouží k individuální úpravě textu na tlačítkách na stránkách archivů (stránkách obchodu) a na stránkách jednotlivých produktů.

Například, v podtématech… functions.php Přidáním následujícího kódu lze text na tlačítku na stránce produktu změnit na “Koupit hned”.

add_filter( 'woocommerce_product_single_add_to_cart_text', 'change_single_add_to_cart_text' );
function change_single_add_to_cart_text() {
    return __( '立即购买', 'your-textdomain' );
}

Je možné vytvořit systém, který zobrazuje ceny zboží pouze pro konkrétní uživatelské role?

Možné. To se obvykle kombinuje s podmínkovým určováním a cenovými filtry z WooCommerce. woocommerce_get_price_html Abychom toho dosáhli.

Nejprve zkontrolujte aktuální rolí uživatele a poté v závislosti na této roli zobrazte různé ceny. Například pro roli “wholesaler” (distributor) zobrazte odlišné cenové označení.

add_filter( 'woocommerce_get_price_html', 'custom_price_based_on_user_role', 10, 2 );
function custom_price_based_on_user_role( $price, $product ) {
    $user = wp_get_current_user();
    if ( in_array( 'wholesaler', (array) $user->roles ) ) {
        // 获取批发价,这里假设存储在自定义字段 '_wholesale_price' 中
        $wholesale_price = get_post_meta( $product->get_id(), '_wholesale_price', true );
        if ( $wholesale_price ) {
            $price = wc_price( $wholesale_price ) . '<small>(批发价)</small>';
        }
    }
    return $price;
}

Jak přidat nový stav objednávky pomocí kódu?

Pro přidání vlastního stavu objednávky je potřeba použít… wc_register_order_statuswc_get_order_statuses Filtr.

Následující kód přidává stav objednávky s názvem “Čeká na přípravu” (slug: ‘awaiting-prepare’):

// 注册新状态
add_action( 'init', 'register_custom_order_status' );
function register_custom_order_status() {
    register_post_status( 'wc-awaiting-prepare', array(
        'label'                     => '待备货',
        'public'                    => true,
        'exclude_from_search'       => false,
        'show_in_admin_all_list'    => true,
        'show_in_admin_status_list' => true,
        'label_count'               => _n_noop( '待备货 (%s)', '待备货 (%s)' )
    ) );
}

// 将新状态加入到订单状态列表
add_filter( 'wc_order_statuses', 'add_custom_order_status_to_list' );
function add_custom_order_status_to_list( $order_statuses ) {
    $order_statuses['wc-awaiting-prepare'] = '待备货';
    return $order_statuses;
}

Po přidání tohoto možnosti budete muset v nastaveních WooCommerce (Settings > Payments > Order Status) nastavit, které platební brány mohou umístit objednávky do tohoto stavu.

Když je počet produktů vysoký, jak optimalizovat rychlost načítání domovské stránky obchodu?

Pro obchody s velkým množstvím produktů je optimalizace rychlosti hlavní stránky (obvykle stránky s archivem produktů) zásadní. Lze přijmout následující opatření:
1. 启用分页或“加载更多”按钮:避免一次性加载所有产品。确保产品列表设置了合理的每页显示数量。
2. 使用高效的图片格式和懒加载:确保所有产品图片都经过压缩(建议使用 WebP 格式),并为产品图片启用懒加载。WooCommerce 自 5.5.0 版本起,在兼容主题中默认启用了懒加载。
3. 实施片段缓存:使用对象缓存(如 Redis)来缓存 WooCommerce 的碎片化内容,如购物车小部件、产品循环等。一些高级缓存插件也提供针对 WooCommerce 的碎片化缓存功能。
4. 审查并简化商店页面的查询:检查你的主题在商店页面上运行的所有查询。移除不必要的查询,或者对结果进行缓存。可以通过在子主题的 functions.php Použijte to v čínštině. transient Slouží k ukládání do mezipaměti seznamu produktů v oblastech, jako je postranní panel.
5. 考虑使用静态首页:如果动态的商店页面确实成为瓶颈,可以考虑设置一个精心设计的静态页面作为首页,并使用短代码或 Gutenberg 区块来展示精选分类和产品,将完整的商店归档页作为二级页面。