WPML
Trạng thái
Đã giải quyết
Được báo cáo cho
WPML Multilingual & Multicurrency for WooCommerce 5.5.1
Đã giải quyết trong
WooCommerce Multilingual & Multicurrency 5.5.2
Thẻ chủ đề
Bug, Compatibility, WCML

Tổng quan về lỗi

Khi bạn có một đặt chỗ có kèm số lượng người và có nhiều hơn 1 người cho đặt chỗ đó, tình trạng trống sẽ không được điều chỉnh chính xác, dẫn đến việc hiển thị sai các suất trống cho khung giờ khả dụng.

Giải pháp tạm thời

Các nhà phát triển của chúng tôi đang khắc phục vấn đề này. Trong thời gian chờ đợi, bạn có thể quay lại phiên bản WCML 5.5.0 hoặc bạn có thể vá mã bằng cách truy cập vào /wp-content/plugins/woocommerce-multilingual/compatibility/WcBookings/class-wcml-bookings.php
Điều chỉnh mã từ:

			$booking_order_ids = [];
			array_walk( $existing_bookings, function ( WC_Booking $booking ) use ( &$booking_order_ids ) {
				/* @phpstan-ignore-next-line */
				$booking_order_ids[] = $booking->get_order_id();
			} );
			$unique_ids = array_unique( $booking_order_ids ); // when blocked, we don't want each N-language variation to occupy one slot

			return count( $unique_ids );

thành:
			$booking_person_counts_by_order = [];

			foreach ( $existing_bookings as $booking ) {
				/** @var WC_Booking $booking */
				$order_id = $booking->get_order_id();

				// Skip if already counted this order ID (to avoid double-counting translations)
				if ( isset( $booking_person_counts_by_order[ $order_id ] ) ) {
					continue;
				}

				// Get total persons (sum of all person types for this booking)
				$person_counts = array_sum( $booking->get_person_counts() );

				// Store count by order ID
				$booking_person_counts_by_order[ $order_id ] = $person_counts;
			}

// Return total number of persons across unique orders
			return array_sum( $booking_person_counts_by_order );

Tất cả các lỗi đã ghi nhận →