当输入发货跟踪号码时,自动更新订单状态为完成 - WooCommerce。
代码示例:
add_action( 'woocommerce_order_status_completed', 'update_order_status_to_complete', 10, 1 ); function update_order_status_to_complete( $order_id ) { $order = wc_get_order( $order_id ); if ( $order->get_status() == 'processing' ) { $order->update_status( 'completed' ); } }
add_action( 'woocommerce_process_shop_order_meta', 'update_order_status_on_tracking_number_input', 10, 2 ); function update_order_status_on_tracking_number_input( $post_id, $post ) { if ( isset($_POST['woocommerce-order-status']) && $_POST['woocommerce-order-status'] == 'completed' && isset($_POST['_tracking_number']) && !empty($_POST['_tracking_number']) ) { $order = wc_get_order( $post_id ); if ( $order->get_status() == 'processing' ) { $order->update_status( 'completed' ); } } }
以上代码会在订单状态改变为完成时自动更新订单状态,并在输入发货跟踪号码时也会自动更新订单状态为完成。