WPML

Panoramica del problema

Si verifica un errore fatale quando si annulla una prenotazione in WooCommerce Bookings se la risorsa della prenotazione non è tradotta:

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

Soluzione alternativa

Questo problema è stato risolto in WooCommerce Multilingual & Multicurrency 5.4.0. L'aggiornamento risolve il problema sul tuo sito, quindi hai bisogno di questa soluzione alternativa solo se non puoi ancora aggiornare.

Assicurati di avere un backup completo del tuo sito prima di procedere.

  • Apri il file …/wp-content/plugins/woocommerce-multilingual/compatibility/WcBookings/class-wcml-bookings.php.
  • Cerca la riga 937.
  • Sostituisci:
    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 = '';
    	}
    }
  • Con:
    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;
    	}
    }
  • Quindi, cerca la riga 956.
  • Sostituisci:
    if ( is_null( $trnsl_booking_resource_id ) ) {
    	$trnsl_booking_resource_id = '';
    }
  • Con:
    if ( is_null( $trnsl_booking_resource_id ) ) {
    	$trnsl_booking_resource_id = $booking_resource_id;
    }

Tutti i problemi noti

Riscontri ancora questo problema?

Se l’aggiornamento non risolve il problema, fai una richiesta di supporto e lo analizzeremo con te.