Virtuelle Bestellungen in WooCommerce automatisch abschließen, auch bei Kauf auf Rechnung.
add_action('woocommerce_thankyou', 'auto_complete_virtual_orders', 10, 1);
function auto_complete_virtual_orders($order_id)
{
if (!$order_id) {
return;
}
$order = wc_get_order($order_id);
$only_virtual = true;
foreach ($order->get_items() as $item) {
$product = $item->get_product();
if (!$product || !$product->is_virtual()) {
$only_virtual = false;
break;
}
}
if ($only_virtual) {
$order->update_status('completed');
}
}