WPML
Statut
Résolue
Type
Bug
Signalée pour
WPML Multilingual & Multicurrency for WooCommerce 5.3.7
Résolue dans
WooCommerce Multilingual & Multicurrency 5.4.0
Extension/thème associé
WooCommerce Bookings
Étiquettes de sujet
Compatibility, WCML

Aperçu de l’anomalie

Une erreur fatale se produit lors de l’annulation d’une réservation dans WooCommerce Bookings si la ressource de réservation n’est pas traduite :

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

Solution de contournement

Veuillez vous assurer d’avoir une sauvegarde complète de votre site avant de continuer.


  • Ouvrez le fichier …/wp-content/plugins/woocommerce-multilingual/compatibility/WcBookings/class-wcml-bookings.php.

  • Cherchez la ligne 937.

  • Remplacez :
    		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 = '';
    			}
    		}


  • Par :
    		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;
    			}
    		}


  • Ensuite, cherchez la ligne 956.

  • Remplacez :
    			if ( is_null( $trnsl_booking_resource_id ) ) {
    				$trnsl_booking_resource_id = '';
    			}


  • Par :
    			if ( is_null( $trnsl_booking_resource_id ) ) {
    				$trnsl_booking_resource_id = $booking_resource_id;
    			}

Toutes les anomalies connues