Skip to content Skip to sidebar

This is the technical support forum for WPML - the multilingual WordPress plugin.

Everyone can read, but only WPML clients can post here. WPML team is replying on the forum 6 days per week, 22 hours per day.

Sun Mon Tue Wed Thu Fri Sat
- 9:00 – 13:00 9:00 – 13:00 9:00 – 13:00 9:00 – 13:00 9:00 – 13:00 -
- 14:00 – 18:00 14:00 – 18:00 14:00 – 18:00 14:00 – 18:00 14:00 – 18:00 -

Supporter timezone: America/Argentina/Buenos_Aires (GMT-03:00)

Tagged: 

This topic contains 32 replies, has 1 voice.

Last updated by Otto 1 month ago.

Assisted by: Otto.

Author Posts
October 6, 2025 at 3:05 pm #17461270

Verbal

Hello Otto,

Thanks for the follow-up.

For your team:

I'm flabbergasted...

This renders Bookings/WMPL unusable for us and others. There is no realistic scenario in which we'd translate bookable classes products: classes are given in one language only. Translating them would create a giant bloat in the store (classes in other languages would appear everywhere), would make our conversion rate crash, and generate hours of customer support for confused and angry customers (classes given in French bought on the English side of the store).

By attempting to fix a small issue (no parent product can be set for translations of bookings when product is not translated), caused by the fact WPML translates bookings when not needed (if product is not translated, just do not translate the booking: there is no language dependent info in a booking), a bigger and now serious issue has been created: availabilities are just plain wrong.

Again: now, availabilities are just plain wrong.

Again: this bug was introduced in the WPML Bookings compatibility plugin by setting _booking_product_id to the id of the product of the original language when no translation of the product exists

One solution is to not translate bookings when their product is not translated.

An even better one is to not translate bookings, ever. By translating bookings, WPML has been creating db bloat and a huge potential for duplicates errors (an example being our current bug here).
Bookings do not have language specific strings: they contain dates, quantities, and references to bookable products/resources. These can be (and routinely are) translated. Filters can be used to retrieve language specific translation id of parent posts when needed, like for any other WordPress posts types.

Meanwhile, please:
The obvious, quick, and simple (just not glorious) solution is to revert to the way WPML's compatibility plugin worked for years: please just do not set _booking_product_id for every bookings' language when their product is not translated.

Regards,

October 6, 2025 at 6:03 pm #17461725

Otto
WPML Supporter since 09/2015

Languages: English (English ) Spanish (Español )

Timezone: America/Argentina/Buenos_Aires (GMT-03:00)

Hello,

I am truly sorry for the inconveniences.

I've sent your comment to the dev team. I'll keep you posted.

Best Regards,
Otto

October 7, 2025 at 1:15 pm #17463941

Otto
WPML Supporter since 09/2015

Languages: English (English ) Spanish (Español )

Timezone: America/Argentina/Buenos_Aires (GMT-03:00)

Hello,

We had a partial fix that couldn't be integrated because it could cause side effects with other types of booking. We asked WC Bookings for a hook but didn't get an answer yet.
In the meantime, we will try to provide a patch for you.
I'll get back to you as soon as I have news about it.

Best Regards,
Otto