Теперь, когда мы работаем, я вижу, что все заказы, находящиеся в стадии обработки, оплачиваются с помощью Молли ( оплата GW).
Однако для заказов, имеющих статус индивидуального заказа и где клиент также выбрал Молли, оплата GW не работала. Клиент просто перенаправляется на следующую страницу, где он видит сообщение «Заказ отправлен» без запуска платежного GW.
Код, который я использовал:
Код: Выделить всё
add_action( 'woocommerce_checkout_order_processed', 'custom_order_status_by_cat', 10, 3 );
function custom_order_status_by_cat( $order_id, $posted_data, $order ){
$items = $order->get_items();
foreach ( $items as $item ) {
$product_id = $item->get_product_id();
if ( has_term( 'met-gravure', 'product_cat', $product_id ) ) { //Categorie selecteren
$order->update_status( 'ord-maatwerk' ); // Aangepaste status
break;
} else if ( has_term( 'moedermelk', 'product_cat', $product_id ) ) { //Categorie selecteren
$order->update_status( 'ord-moedermelk' ); // Aangepaste status
break;
}
else if ( has_term( 'last-minute-gepersonaliseerd-juweel', 'product_cat', $product_id ) ) { //Categorie selecteren
$order->update_status( 'ord-lastminute' ); // Aangepaste status
break;
}
}
}
Подробнее здесь: https://stackoverflow.com/questions/793 ... tus-update