WPML
Statut
Résolu
Signalé pour
WPML Multilingual & Multicurrency for WooCommerce 5.3.7
Résolu 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 →