Woocommerce Bookings自动完成部分付款状态

时间:2019-06-28 11:53:49

标签: wordpress woocommerce woocommerce-bookings

我将Woocommerce与Woocommerce预订和WooCommerce保证金一起使用来租东西,我要求50%的保证金。 因为我只要求50%的定金,所以订单状态是部分付款的,因此与每个订单相关的预订都不完整,并且由于它们不完整,因此不会显示在日历中……

因此,我尝试通过更改此官方代码(https://docs.woocommerce.com/document/bookings-snippets/#section-7)在订单状态为“部分付款”时自动完成预订,但我不知道为什么我无法做到这一点有效!

function set_autoconfirm_booking_0619( $order_id ) {

    // Get the order, then make sure its payment method is COD.
    $order = wc_get_order( $order_id );
    $order_status = $order->get_status(); 
    if ( 'partial-payment' == $order_status ) {
        return;
    }
    // Call the data store class so we can get bookings from the order.
    $booking_data = new WC_Booking_Data_Store();
    $booking_ids  = $booking_data->get_booking_ids_from_order_id( $order_id );
    // If we have bookings go through each and update the status.
    if ( is_array( $booking_ids ) && count( $booking_ids ) > 0 ) {
        foreach ( $booking_ids as $booking_id ) {
            $booking = get_wc_booking( $booking_id );
            $booking->update_status( 'complete' );
        }
    }
}
add_action( 'woocommerce_order_status_processing', 'set_autoconfirm_booking_0619', 20 );

有人有主意吗?

0 个答案:

没有答案