Я использую Woocommerce с Woocommerce Bookings и 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 );
У кого-нибудь есть идея?