WPML
Estado
Resuelto
Notificado para
WPML Multilingual & Multicurrency for WooCommerce 5.3.7
Resuelto en
WooCommerce Multilingual & Multicurrency 5.4.0
Plugin/tema relacionado
WooCommerce Bookings
Etiquetas de temática
Compatibility, WCML

Resumen del problema

Se produce un error fatal al cancelar una reserva en WooCommerce Bookings si el recurso de la reserva no está traducido:

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

Solución alternativa

Por favor, asegúrese de tener una copia de seguridad completa de su sitio antes de continuar.


  • Abra el archivo …/wp-content/plugins/woocommerce-multilingual/compatibility/WcBookings/class-wcml-bookings.php.

  • Busque la línea 937.

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


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


  • Luego, busque la línea 956.

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


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

Todos los problemas conocidos →