Uw toegewijde partner voor alles wat met WordPress te maken heeft

Hoe u de WooCommerce-bestelstatus programmatisch kunt wijzigen

Inhoudsopgave

WooCommerce is een populair e-commerceplatform dat miljoenen online winkels over de hele wereld ondersteunt. Een van de kernfuncties van WooCommerce is de mogelijkheid om bestellingen te beheren. Standaard wordt WooCommerce geleverd met verschillende bestelstatussen, zoals in behandeling, verwerkt, voltooid en geannuleerd. Het kan echter voorkomen dat u aangepaste bestelstatussen moet maken of de bestelstatus programmatisch moet wijzigen. In deze blogpost laten we u zien hoe u de WooCommerce-bestelstatus programmatisch kunt wijzigen en geven we enkele voorbeelden van de praktische toepassingen ervan.

Voordat we aan de slag gaan, is het essentieel om te begrijpen hoe bestelstatussen werken in WooCommerce. Wanneer een klant een bestelling plaatst, krijgt deze de standaardstatus ‘in behandeling’. U kunt deze status handmatig wijzigen naar “in behandeling” wanneer u begint met het uitvoeren van de bestelling. Zodra de bestelling is voltooid, kunt u de status wijzigen in ‘voltooid’. Als een bestelling wordt geannuleerd, wordt de status gewijzigd in ‘geannuleerd’.

Stel nu dat u een aangepaste bestelstatus moet maken met de naam 'in de wacht'. U kunt dit doen door de volgende code toe te voegen aan uw function.php-bestand:

"`php
functie register_custom_order_status() {
register_post_status('wc-in-wacht', array(
'label' => 'In de wacht',
'openbaar' => waar,
'exclude_from_search' => false,
'show_in_admin_all_list' => waar,
'show_in_admin_status_list' => waar,
'label_count' => _n_noop( 'In de wacht (%s) ', 'In de wacht (%s) ' )
));
}
add_action('init', 'register_custom_order_status');
''

U kunt vervolgens de volgende code gebruiken om de bestelstatus programmatisch te wijzigen in 'in de wacht':

"`php
$bestelling = wc_get_order( $bestelling_id);
$order->update_status('in de wacht', __('Bestelling in de wacht', 'woocommerce' ) );
''

Deze code haalt het orderobject op met behulp van de variabele $order_id en werkt de status ervan bij naar 'in de wacht'.

Laten we nu eens kijken naar een praktische toepassing van deze code. Stel dat u een online winkel heeft die een abonnementsservice aanbiedt. U wilt een aangepaste bestelstatus met de naam 'verlopen' maken die aan bestellingen wordt toegewezen wanneer hun abonnementsperiode afloopt. U kunt de volgende code gebruiken om dit te bereiken:

"`php
functie change_order_status_on_subscription_expiry( $abonnement ) {
$order_id = $abonnement->get_parent_id();
$bestelling = wc_get_order( $bestelling_id);
$order->update_status('verlopen', __('Abonnement verlopen', 'woocommerce' ) );
}
add_action('woocommerce_subscription_end_of_prepaid_term', 'change_order_status_on_subscription_expiry');
''

Deze code luistert naar de gebeurtenis ‘woocommerce_subscription_end_of_prepaid_term’, die wordt geactiveerd wanneer een abonnementsperiode afloopt. Vervolgens wordt de ID van de bovenliggende bestelling opgehaald en wordt de status ervan bijgewerkt naar 'verlopen'.

Conclusie

Het programmatisch wijzigen van de WooCommerce-bestelstatus kan een handige functie zijn voor eigenaren van online winkels die hun orderbeheersysteem willen aanpassen. Met behulp van WordPress-hooks en -filters kunt u aangepaste bestelstatussen maken, wijzigingen in de bestelstatus automatiseren en integreren met services van derden. We hopen dat dit artikel je wat inzichten heeft gegeven over hoe je dit kunt bereiken en je heeft geïnspireerd om meer mogelijkheden met WooCommerce te verkennen.

 

Hoe aan de slag te gaan?

Kom meer te weten

WooCommerce-onderhoud

Bespaar 33% met ons jaartariefplan.

Start nu

Heeft u problemen met WordPress?

Claim uw Gratis WordPress-onderhoud

In het snelle digitale landschap van vandaag verdient elke website de zorg en expertise van een professioneel onderhoudsteam, dat optimale prestaties, verbeterde beveiliging en naadloze gebruikerservaringen garandeert, zodat u zich met een gerust hart kunt concentreren op de groei van uw bedrijf.

Alexey Seryapin
Oprichter van WPServices

Couponcode toegepast!

Neem de tijd en blader door onze diensten.

Alexey Seryapin
Oprichter van WPServices