نظرة عامة على المشكلة
يحدث خطأ فادح عند إلغاء حجز في WooCommerce Bookings إذا كان مورد الحجز غير مترجم:
Uncaught Error: Call to a member function get_resource_label() on null in .../wp-content/plugins/woocommerce-bookings/templates/emails/customer-booking-cancelled.php:49
حل بديل مؤقت
تم إصلاح هذه المشكلة في WooCommerce Multilingual & Multicurrency 5.4.0. يحل التحديث المشكلة على موقعك، لذا لا تحتاج إلى هذا الحل البديل المؤقت إلا إذا لم تتمكن من التحديث بعد.
يُرجى التأكد من أخذ نسخة احتياطية كاملة لموقعك قبل المتابعة.
- افتح الملف …/wp-content/plugins/woocommerce-multilingual/compatibility/WcBookings/class-wcml-bookings.php.
- ابحث عن السطر 937.
- استبدل:
if ( $booking_product_id ) { $trnsl_booking_product_id = apply_filters( 'translate_object_id', $booking_product_id, 'product', false, $language ); if ( is_null( $trnsl_booking_product_id ) ) { $trnsl_booking_product_id = ''; } } - بـ:
if ( $booking_product_id ) { $trnsl_booking_product_id = apply_filters( 'translate_object_id', $booking_product_id, 'product', false, $language ); if ( is_null( $trnsl_booking_product_id ) ) { $trnsl_booking_product_id = $booking_product_id; } } - بعد ذلك، ابحث عن السطر 956.
- استبدل:
if ( is_null( $trnsl_booking_resource_id ) ) { $trnsl_booking_resource_id = ''; } - بـ:
if ( is_null( $trnsl_booking_resource_id ) ) { $trnsl_booking_resource_id = $booking_resource_id; }