Ich muss einen Auftragsstatus für abgeschlossen nach Erhalt der Zahlung automatisch ändern, aber nur, wenn der Auftragsstatus "Verarbeitung" ist. Ich habe dieses Snippet gefunden, was den Status des Auftrags in jedem Fall bestätigt, aber meine Zahlungs-Plugins nach erfolgreichen Zahlungsänderungen gibt Daten zurück und ändert den Bestellstatus für "Verarbeitung". Ich möchte es nach Erfolg in "abgeschlossen" ändern und ändere es nicht, wenn der Status nicht "Verarbeitung" ist. Das Hauptproblem, das ich traf, ist ich weiß nicht, wie man die empfangene Statusreihenfolge erhält.So überprüfen Sie den Bestellstatus nach der Zahlung in WooCommerce
Hier ist mein Code:
add_filter('woocommerce_thankyou', 'update_order_status', 10, 2);
function update_order_status($order_id) {
$order = new WC_Order($order_id);
$order_status = $order->get_status();
if ('processing' == $order_status) {
$order->update_status('completed');
}
//return $order_status;
}
ich es dachte schon aus. Hier funktioniert Code:
add_filter('woocommerce_thankyou', 'update_order_status', 10, 1);
function update_order_status($order_id) {
if (!$order_id){
return;
}
$order = new WC_Order($order_id);
if ('processing' == $order->status) {
$order->update_status('completed');
}
return;
}
I edited Ihre Post für die Formatierung des Codes und es gibt einen Tippfehler. $ oder_status – dinotom
danke, Tippfehler korrigiert auch. –