De ultieme handleiding voor de WooCommerce-plug-in en een gedetailleerde uitleg van de code: van installatie tot maatwerkontwikkeling.

3 minuten leestijd
2026-03-16
2026-06-04
2,765
Ik verdien commissies wanneer je via de onderstaande links winkelt, zonder dat dit extra kosten voor jou met zich meebrengt.

Installatie en basisconfiguratie van WooCommerce

Het installatieproces van WooCommerce is relatief eenvoudig, maar een correcte eerste configuratie is de basis voor het bouwen van een stabiele e-commercewebsite. Allereerst hebt u een serveromgeving nodig waarop PHP 7.4 of hoger draait en waarop WordPress is geïnstalleerd. Via de pagina “Plugins” > “Plugins installeren” in de WordPress-backend kunt u zoeken naar “WooCommerce” en klikken op “Installeren en activeren”. Nadat WooCommerce is geactiveerd, start het systeem automatisch de 'Instellingswizard', die u helpt bij de basisinstellingen van uw winkel.

In de installatiegids moet u de volgende stappen doorlopen: de locatie, valuta en meeteenheden van de winkel instellen; betalingsmethoden configureren (zoals PayPal, Stripe of bankoverschrijvingen); regels voor de verzendkosten instellen (zoals gratis verzending, vaste verzendkosten of realtime tarieven op basis van gewicht/adres); en enkele noodzakelijke extensies installeren, zoals WooCommerce Payments of lokalisatieplug-ins. Als u de wizard hebt voltooid, komt u in het centrale instellingspaneel van WooCommerce. Hier moet u enkele belangrijke onderdelen nauwkeurig configureren: in de optie “Algemeen” kunt u de verkooplocatie en belastingberekeningen instellen; in de optie “Producten” kunt u meeteenheden, productbeoordelingen en voorraadbeheer definiëren; op de pagina “Kassa” kunt u alle betalingsgateways en kassaprocessen configureren; en in de optie “Verzending” kunt u verzendgebieden, -methoden en -verpakkingen beheren.

Een vaak vergeten maar cruciale stap is het configureren van permanente links. In de WordPress-instellingen > “Permanente links” moet je ervoor zorgen dat je geen “eenvoudige” structuur gebruikt, maar dat je de “artikelnaam” of een aangepaste structuur gebruikt, omdat dit de SEO van je productpagina's ten goede komt. Tegelijkertijd moet je in de “Geavanceerde” instellingen van WooCommerce voor elke pagina (zoals het winkelwagentje, de kassa, Mijn account, etc.) een overeenkomstige WordPress-pagina toewijzen, die automatisch wordt gemaakt wanneer de plug-in wordt geïnstalleerd.

Aanbevolen leesmateriaal Een handleiding voor de maatwerkontwikkeling van WooCommerce: een volledige praktische handleiding, van beginner tot gevorderde.

Het instellen van de basisinformatie van de winkel.

De basisinformatie van de winkel is voornamelijk te vinden in de WordPress Customizer en de algemene instellingen van WooCommerce. Je moet ervoor zorgen dat het adres van de winkel, de e-mail voor klantenservice en het telefoonnummer correct zijn. Deze gegevens verschijnen in de orderbevestigingen, facturen en de voettekst. Bovendien kun je in de “Algemene” instellingen de valuta-opties instellen, bijvoorbeeld RMB (¥ 123,00) of USD ($123,00).

UltaHost WordPress-hosting
30-daagse garantie voor het terugbetalen van het geld, onbeperkt bandbreedte- en databestand, gratis DDoS-beveiliging, en een prijsvoordeel van 50% bij een aankoop van 3 jaar.

Integratie van de betalings- en bezorgingsgateway

Een betalingsgateway is de levensader van e-commerce. WooCommerce biedt verschillende betaalmethoden, zoals WC_Gateway_BACS(Bankoverschrijvingen),WC_Gateway_CHEQUE(Betaling per cheque) en WC_Gateway_COD(Betaling bij levering). Voor het inschakelen van geavanceerde gateways, zoals Stripe of PayPal, moet je meestal afzonderlijke plug-ins installeren en API-sleutels configureren. Als je bijvoorbeeld Stripe configureert, moet je de gepubliceerde publieke sleutel en de private sleutel invullen op de betreffende instellingspagina.

De bezorginstellingen zijn ook erg belangrijk. Je kunt in het gedeelte “Bezorggebieden” aparte verzendregels voor verschillende landen of regio's instellen. Je kunt bijvoorbeeld een gebied voor het Chinese vasteland instellen en hier verschillende methoden aan toevoegen, zoals “gratis verzending”, “vaste tarieven” en “lokale afhaling”. Door dit te gebruiken, woocommerce_shipping_init Hooke, ontwikkelaars kunnen zelfs volledig aangepaste klassen voor bezorgmethoden maken.

De kernfuncties en gegevensbeheer

WooCommerce integreert alle e-commercegegevens in de aangepaste artikeltypen en taxonomie van WordPress. Producten worden opgeslagen als product Het gaat om het type artikel, terwijl de bestelling hiermee overeenkomt. shop_order Het type artikel. Het begrijpen van dit datamodel is een vereiste voor geavanceerde maatwerkontwikkeling.

Productbeheer is van cruciaal belang. WooCommerce ondersteunt vier soorten producten:simple(Eenvoudige producten),grouped(Producten per groep),external(Externe/gerelateerde producten) en variable(Variabele producten). Met variabele producten kun je voor hetzelfde artikel verschillende kenmerken (zoals kleur en maat) en de bijbehorende prijzen, voorraad en SKU's instellen. Wanneer je producten achteraf bewerkt, maak je gebruik van een reeks metagegevensvelden voor het beheren van de voorraad-SKU's, prijzen, de status van de voorraad, verzendinformatie en de bijbehorende productgalerij.

Aanbevolen leesmateriaal Wat is WooCommerce en hoe is de kernarchitectuur opgebouwd?

De back-end voor orderbeheer biedt een volledig overzicht van de verkoop. Elke order bevat uitgebreide metadata. shop_order De berichten bevatten klantinformatie, gekochte artikelen, prijzen, de status van de betaling en een geschiedenis van de bestellingen. Het is van cruciaal belang om de status te beheren. De standaardstatus omvat onder andere: pending(Wachten op betaling)processing(In behandeling)on-hold(Pauze) en completed(Voltooid). Je kunt gebruikmaken van wc_get_order_statuses De functie haalt alle staten op en geeft deze door woocommerce_register_shop_order_post_statuses De filter registreert de aangepaste status.

Beheer van producttypen en -eigenschappen

Productattributen zijn een handig hulpmiddel om de complexe productcatalogus van een organisatie te structureren. Je kunt globale attributen maken in “Producten > Attributen”, zoals “kleur” of “maat”. Vervolgens gebruik je deze attributen bij het bewerken van variabele producten om “attribuutcombinaties” te maken en voor elke combinatie (zoals “rood - maat L”) aparte variantgegevens in te stellen. Op codeniveau kun je dit doen met behulp van WC_Product_Variable Klassen en hun get_available_variations() Met deze methode kun je alle varianteninformatie opvragen en bewerken.

Verwerking van bestellingen en klantgegevens

Het gebruik van WooCommerce WC_Order Gebruik een klasse om de bestelgegevens te bundelen. Met deze klasse kun je bestellingen programmatisch maken of bijwerken. De volgende code laat bijvoorbeeld zien hoe je een nieuwe bestelling maakt en hier producten aan toevoegt:

hosting.com gedeelde hosting
Hoge prestaties met AMD EPYC CPU's, NVMe SSD opslag en LiteSpeed, 24/7 deskundige interne ondersteuning, geavanceerde beveiligingsmaatregelen waaronder SSL, bescherming tegen brute kracht, malware en DDoS, besparingen tot 73%
// 创建一个新订单对象
$order = wc_create_order();

// 通过商品ID获取商品对象并添加到订单中
$product = wc_get_product(123);
$order->add_product($product, 2); // 数量为2

// 设置客户地址
$order->set_address(array(
    'first_name' => '张',
    'last_name'  => '三',
    'email'      => '[email protected]',
    'phone'      => '13800138000',
), 'billing');

// 计算总额并保存
$order->calculate_totals();
$order->save();

De klantgegevens worden vervolgens gekoppeld aan de WordPress-gebruikers (WP_User) Diepe integratie. WooCommerce maakt dit mogelijk door wc_get_customer_order_countwc_get_customer_total_spent Deze functies breiden de mogelijkheden van de gebruiker uit.

Het integreren van thema's en het overnemen van sjablonen.

De mate van integratie van WooCommerce met het thema bepaalt de ervaring van de klant in de winkel. Het maakt gebruik van een krachtig templatesysteem, waarbij alle bestanden voor de front-end (zoals productlijsten, productpagina's en winkelwagentjes) zich in de plug-inmap bevinden. /templates/ In de map. Om deze sjablonen aan te passen zonder de bestanden van de kernplug-in te wijzigen, moet u ze overnemen in uw thema.

De juiste methode is: maak onder de map met je evenement een map met de naam woocommerce Maak een nieuwe map. Kopieer vervolgens de WooCommerce-sjabloonbestanden die u wilt bewerken vanuit de plug-inmap naar deze nieuwe map en voer de wijzigingen in deze kopie door. Als u bijvoorbeeld de structuur van de pagina voor een enkel product wilt bewerken, moet u een kopie van deze pagina maken. plugins/woocommerce/templates/single-product.phpthemes/your-theme/woocommerce/single-product.phpWooCommerce laadt de templatebestanden in het thema als eerste.

Aanbevolen leesmateriaal De ultieme handleiding voor WooCommerce: bouw je eigen e-commerce imperium vanuit het niets

Naast het bewerken van het volledige document, kun je met behulp van actiehaken (Action Hooks) en filterhaken (Filter Hooks) ook op specifieke plekken inhoud invoegen of wijzigen. Bijvoorbeeld,woocommerce_before_single_product_summary De hook wordt geactiveerd voordat de samenvattende informatie over het product wordt weergegeven en is daarom de ideale plek om aangepaste banneradvertenties toe te voegen.

De structuur van het aangepaste sjabloonbestand.

De sjabloonbestanden van WooCommerce hebben een duidelijke hiërarchie. Neem bijvoorbeeld de productcarrousel.archive-product.php Het is een sjabloon voor de startpagina van de winkel, waarmee een oproep wordt gedaan. content-product.php Om elk product te stylen. Door deze bestanden te overschrijven, kun je de manier waarop producten in de lijst worden weergegeven volledig veranderen, bijvoorbeeld door de lay-out te wijzigen in een raster of lijst, of door aangepaste badges toe te voegen.

InterServer gedeelde hosting
Shared hosting $2.50 USD per maand, eerste maand $0.1 USD promo code tryinterserver, 461 cloud apps scripts, een klik te installeren.

Het gebruik van hooks om functionaliteit uit te breiden.

Hoooks vormen de ruggengraat van WooCommerce-extensies. Met actiehoooks kun je code “uitvoeren”, bijvoorbeeld door een aangepast informatieveld toe te voegen na het winkelwagenformulier:

add_action('woocommerce_after_cart_table', 'my_custom_cart_message');
function my_custom_cart_message() {
    echo '<div class="custom-notice">Verzending gratis bij aankopen van meer dan 500 yuan!</div>';
}

Met filterhaken kun je gegevens “wijzigen”. Je kunt bijvoorbeeld de volgende code gebruiken: woocommerce_add_to_cart_fragments De filter kan de inhoud van het miniwinkelwagentje dynamisch bijwerken:

add_filter('woocommerce_add_to_cart_fragments', 'update_mini_cart_count');
function update_mini_cart_count($fragments) {
    $fragments['div.cart-count'] = '<div class="cart-count">' . WC()-&gt;cart-&gt;get_cart_contents_count() . '</div>'];  
return $fragments;  
}

Geavanceerde aanpassings- en ontwikkelingspraktijken.

Als de ingebouwde functies en hooks niet aan de vereisten voldoen, is er behoefte aan meer diepgaande, op maat gemaakte ontwikkeling. Dit omvat het maken van aangepaste producttypen, het schrijven van specifieke betalings- of verzendingsgateways en het integreren met externe systemen via een REST API.

Om een aangepaste producttype te maken, hebt u een extensie nodig. WC_Product Klassen. Allereerst moet je een nieuwe klasse definiëren die hiervan erft, en dit producttype registreren. Maak bijvoorbeeld een producttype met de naam “Reservering”:

class WC_Product_Booking extends WC_Product {
    public function __construct($product) {
        parent::__construct($product);
        $this->product_type = 'booking';
    }
    // 在这里添加自定义方法和属性,如 get_booking_dates()
}
// 将新类注册到工厂
add_filter('woocommerce_product_class', 'register_booking_product_class', 10, 2);
function register_booking_product_class($classname, $product_type) {
    if ($product_type == 'booking') {
        $classname = 'WC_Product_Booking';
    }
    return $classname;
}

De WooCommerce REST API biedt een krachtige interface voor mobiele apps of externe beheersystemen. Je kunt de API gebruiken om bijna alle gegevens te beheren, zoals producten, bestellingen, klanten, etc. Om toegang te krijgen tot de API, moet je eerst in de backend bij “WooCommerce” > “Instellingen” > “Geavanceerd” > “Oudere API” de API-sleutel (Consumer Key en Consumer Secret) inschakelen en maken. Vervolgens kun je oproepen doen naar endpoints als hieronder:GET /wp-json/wc/v3/products Om een productlijst te bekomen.

Een aangepaste gateway ontwikkelen

Een aangepaste betalingsgateway is een uitbreiding van WC_Payment_Gateway Een PHP-klasse. In deze klasse moet je de ID, de titel, de beschrijving en de betalingsvelden van de gateway definiëren en implementeren. process_payment De methode om de betalingslogica te voltooien. Nadat de ontwikkeling is voltooid, moet dit worden getest. woocommerce_payment_gateways De filter voegt dit toe aan de lijst met beschikbare gateways.

Integratie van de API met externe services

WooCommerce biedt verschillende hooks om te integreren met ERP-, CRM- of logistieke systemen. Wanneer de status van een bestelling bijvoorbeeld “voltooid” is, wordt er een trigger geactiveerd. woocommerce_order_status_completed Een actiehaak. Je kunt een functie aan deze haak koppelen om de ordergegevens naar je voorraadbeheersysteem te sturen:

add_action('woocommerce_order_status_completed', 'sync_order_to_erp');
function sync_order_to_erp($order_id) {
    $order = wc_get_order($order_id);
    $data = array(
        'order_id' => $order->get_id(),
        'total'    => $order->get_total(),
        // ... 准备其他数据
    );
    // 使用 wp_remote_post 将 $data 发送到外部 API
}

Samenvatting

WooCommerce is niet zomaar een plug-in, maar een volledig functioneel en zeer schaalbaar e-commerceontwikkelingsframework. Van eenvoudige installatie en configuratie tot uitgebreide maatwerkontwikkeling biedt het ontwikkelaars eindeloze mogelijkheden dankzij een duidelijk templatesysteem, uitgebreide hooks (acties en filters) en een objectgeoriënteerd datamodel. De sleutel tot het succesvol opzetten van een WooCommerce-winkel is: een solide basisconfiguratie om ervoor te zorgen dat de winkel stabiel draait; een grondig begrip van het product- en besteldatamodel; het vakkundig gebruiken van templates en hooks voor front-end maatwerk; en het beheersen van het integreren van aangepaste klassen, gateways en API's om aan unieke zakelijke behoeften te voldoen. Als u zich aan deze best practices houdt, kunt u een krachtige, efficiënte en volledig logische online winkel maken.

Veelgestelde vragen (FAQ)

Hoe wijzig ik de tekst van de knop “In winkelwagen”?

U kunt gebruikmaken van woocommerce_product_add_to_cart_text Een filter of woocommerce_product_single_add_to_cart_text Filters om de tekst van knoppen te wijzigen. De volgende code wijzigt bijvoorbeeld de tekst van de knop op de pagina van een product in “Nu kopen”:

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

Voor de archiefpagina (productlijst) gebruik je woocommerce_product_add_to_cart_text De filter en de noodzaak om het producttype te bepalen binnen de functie.

Hoe voeg je aangepaste velden toe aan specifieke productcategorieën?

Je moet de productcategorie-hooks van WooCommerce en de Term Meta Data API van WordPress samen gebruiken. Allereerst gebruik je product_cat_add_form_fieldsproduct_cat_edit_form_fields De actie voegt een uitvoerveld toe aan de pagina voor het toevoegen/bewerken van categorieën. Vervolgens wordt dit veld gebruikt. created_termedit_term De actie om de veldwaarden op te slaan in term_metaTot slot kunt u in de sjabloonbestanden gebruikmaken van get_term_meta Om deze waarde op te halen en weer te geven.

Waarom heeft mijn aanpassing van het aangepaste sjabloon geen effect?

Volg de volgende stappen om dit op te lossen: Allereerst, controleer of je de sjabloonbestanden naar de juiste map voor thema's hebt gekopieerd:your-theme/woocommerce/ Allereerst moet je de plug-in deactiveren en verwijderen. Vervolgens moet je alle caches wissen, inclusief de browsercache, de WordPress-objectcache en eventuele server-side caches (zoals OPcache). Tot slot moet je je thema controleren. functions.php Is de ondersteuning voor WooCommerce correct gedeclareerd?add_theme_support('woocommerce');Als het probleem zich blijft voordoen, kunt u tijdelijk overschakelen naar het standaardthema (bijvoorbeeld Storefront) om problemen met de compatibiliteit van het thema uit te sluiten.

Hoe maak je op een programmatische manier een WooCommerce-variabel product?

U moet gebruikmaken van WC_Product_Variable De basisstappen zijn: het maken van productobjecten en het instellen van basiskenmerken; het maken en toevoegen van globale kenmerken (zoals kleur); het maken van specifieke kenmerkcombinaties (oftewel varianten) voor deze kenmerken; en tot slot het maken van afzonderlijke varianten voor elke variant. WC_Product_Variation Maak een object, stel de prijs, de voorraad en andere specifieke kenmerken ervan in en koppel het aan het hoofdproduct. Dit is een proces met meerdere stappen, waarbij meestal de volgende stappen worden uitgevoerd: wp_set_object_terms, set_attributes, En save En dergelijke methoden.