Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // Hook to change order status to "completed" for digital or downloadable products
- add_action('woocommerce_payment_complete', 'vap_mark_order_complete_for_digital_or_downloadable_products');
- function vap_mark_order_complete_for_digital_or_downloadable_products($order_id) {
- // Check if the order exists
- if (!$order_id) return;
- // Get the order object
- $order = wc_get_order($order_id);
- // Check if the order contains at least one digital or downloadable product
- $has_digital_or_downloadable_product = false;
- foreach ($order->get_items() as $item) {
- $product_id = $item->get_product_id();
- $product = wc_get_product($product_id);
- // Check if the product is digital or downloadable
- if ($product && ($product->is_downloadable() || $product->is_virtual())) {
- $has_digital_or_downloadable_product = true;
- break;
- }
- }
- // If the order contains at least one digital or downloadable product, set the order status to "completed"
- if ($has_digital_or_downloadable_product) {
- $order->update_status('completed');
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement