Új rendelés alapértelmezett állapotának meghatározása WooCommerce esetén előnézeti képe

Új rendelés alapértelmezett állapotának meghatározása WooCommerce esetén

| Olvasási idő: 1 perc

Előfordulhat, hogy mielőtt a rendelést "befogadnád", szeretnéd, ha az különféle állapotokon keresztülmenne, és csak ezt követően véglegesítenéd és igazolnád vissza a tényleges adatokkal a vásárlónak. 

Jó hírem van: erre is van lehetőség, méghozzá úgy, ha meghatározod, milyen rendelési állapotba kerüljön a rendelés bizonyos fizetési módok esetén. Ez természetesen lehet akár egyedi rendelés állapot is, ahogyan a korábbi, erről szóló bejegyzésben is olvashattad. Nosza, hozzunk is létre egy új fájlt az mu-plugins mappában (mondjuk custom-order-status-as-default.php néven), az alábbi tartalommal: 

php
<?php
/*
Plugin Name: WooCommerce custom order statuses as default
Plugin URI: https://www.webmenedzser.hu
Description: Set default order status for new orders
Version: 1.0
Author: Radics Ottó
Author URI: https://www.webmenedzser.hu
License: GPLv3
*/

add_filter( 'woocommerce_bacs_process_payment_order_status','filter_process_payment_order_status_callback', 10, 2 );
add_filter( 'woocommerce_cheque_process_payment_order_status','filter_process_payment_order_status_callback', 10, 2 );
add_filter( 'woocommerce_cod_process_payment_order_status','filter_process_payment_order_status_callback', 10, 2 );
function filter_process_payment_order_status_callback( $status, $order ) {
    return 'manufacturing';
}

A fenti kód banki átutalás (bacs), csekkes fizetés (cheque) és utánvét (cod) fizetési módok esetében a manufacturing rendelési állapotot állítja be automatikusan a rendelésre a leadást követően. 

(A manufacturing rendelési állapot a feljebb már linkelt Új rendelési állapot definiálása WooCommerce-ben bejegyzésből származik: az ott definiált nevet használjuk, a wc- prefix nélkül.)

A jó ebben a megoldásban az, hogy ha végeztél a különféle "előállapotokkal", akkor az admin felületen átállítva az állapotot Feldolgozás alatt-ra (nekem csak akkor küldte ki az e-mailt, ha először Fizetésre vár állapotot kapott a rendelés) a rendszer megfelelően kiküldi az értesítő e-mailt a felhasználónak arról, hogy a rendelését - az időközben esetlegesen végrehajtott változásokkal "egységes szerkezetben" - befogadtad. 

Fontos, hogy ezt a filter-t nem minden payment gateway támogatja - többek között a WooCommerce-el alapból érkező PayPal fizetési kapu sem. Így fontos, hogy ha bankkártyás fizetési módot szeretnél ilyen módon manipulálni, előtte tájékozódj arról, hogy miként használja a fizetés bonyolítása során a WooCommerce különféle rendelési állapotait. 

Ezzel is kész vagyunk - megpaskolhatod a jobb kezeddel a bal válladat. :) 

Kérdésed, témajavaslatod van? Írj bátran!