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 | 5:00 – 13:00 | 5:00 – 13:00 | 5:00 – 13:00 | 5: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: Compatibility
This topic contains 23 replies, has 1 voice.
Last updated by Otto 4 days, 14 hours ago.
Assisted by: Otto.
Author | Posts |
---|---|
May 12, 2025 at 7:11 pm #17024400 | |
Verbal |
Background of the issue: Symptoms: Questions: |
May 13, 2025 at 2:20 pm #17028443 | |
Verbal |
Hello, While waiting for your team to take this ticket, I dug deeper in DB, and found the following. We do not translate Booking products. They are classes given in one language: we do not want to display classes in French on the English side of the website (or worse, allow clients to book a class given a language they do not speak). This has been working properly for years now. In the attached screenshot: Taking a look at meta_id 1261852, you can see that _booking_product_id has been set to the id of the French product (instead of being null as this product hasn't been translated to English/has no English version/product_id). Setting the meta entry above to null fixes the issue for this booking. My understanding: Can you help me find the source of this/share this with the Woocommerce Mutlilingual dev in charge of the Woocommerce Bookings Compatibility integration? Regard, |
May 14, 2025 at 10:59 am #17031769 | |
Carlos Rojas WPML Supporter since 03/2017
Languages: English (English ) Spanish (Español ) Timezone: Europe/Madrid (GMT+02:00) |
Thank you for contacting us. Before one of my colleagues continue with this ticket I kindly ask you to check if the solution described in this ticket (that contains a similar problem) solves the issue on your site: https://wpml.org/forums/topic/multilingual-multicurrency-duplicates-bookings-in-woocommerce-bookings/ |
May 14, 2025 at 12:29 pm #17032186 | |
Verbal |
Hello Carlos, https://wpml.org/forums/topic/multilingual-multicurrency-duplicates-bookings-in-woocommerce-bookings/ is unrelated (and not fixed, see page 2) Can you please assign this ticket to a supporter/share this with the WooCommerce Multilingual dev in charge of the WooCommerce Bookings Compatibility integration? |
May 15, 2025 at 1:23 pm #17037054 | |
Otto WPML Supporter since 09/2015
Languages: English (English ) Spanish (Español ) Timezone: America/Argentina/Buenos_Aires (GMT-03:00) |
Hello, I apologize for the delay in responding. I will take care of this ticket; the reply time will be shorter now. There are two things here: When a user buys a booking, an order in each language is created. This is expected, and it is how the integration works. This allows for avoiding having two bookings (or one per language) on the same spot. So, if this is what you are seeing, it's expected. If a user booked a spot in English, the same spot can't be booked in French. If you want to have different booking posts in each language, you can create them per language and not link them as translations. If you already have bookings post-connected, you can disconnect them this way: So, if a French booking post creates an order in English too, check if one is a translation of the other. If it is, disconnect them. Best Regards, |
May 15, 2025 at 2:54 pm #17037540 | |
Verbal |
Hello Otto, This important to this case: our WooCommerce booking products aren't translated/not linked to a translation/do not need being disconnected. The issue is that the translated bookings (the actual bookings, not the product), still get translated (with a _booking_duplicate_of post_meta created) but also get a _booking_product_id set to the original booking product (in the original language, French in my example). This creates a duplicate booking on the French side (see example in the attached screenshot). My understanding is that, as no English booking product exists, the post_meta _booking_product_id for the English translation is erroneously set to the French booking id. This leads bot French and English booking posts to being counted as separate one and both appear on the French calendar. So we loose two spots every time one is purchased / our classes are "fully booked" when half the spots have been sold. Can you share this with the Woocommerce Mutlilingual dev in charge of the Woocommerce Bookings Compatibility integration? |
May 15, 2025 at 5:30 pm #17038275 | |
Otto WPML Supporter since 09/2015
Languages: English (English ) Spanish (Español ) Timezone: America/Argentina/Buenos_Aires (GMT-03:00) |
Hello, I understand. To escalate the issue, we first need to reproduce it from scratch. I created a clean installation of WordPress, WooCommerce, WooCommerce Bookings, WPML, and all necessary WPML add-ons. Kindly follow the steps below: - Don't restore your site there. Best Regards, |
May 26, 2025 at 12:56 pm #17073420 | |
Verbal |
Hello Otto, |
May 26, 2025 at 5:01 pm #17074501 | |
Otto WPML Supporter since 09/2015
Languages: English (English ) Spanish (Español ) Timezone: America/Argentina/Buenos_Aires (GMT-03:00) |
Hello, I created a new sandbox, you can access the site here: Best Regards, |
May 27, 2025 at 1:00 pm #17078540 | |
Verbal |
Hello Otto, Done: you can see the bug in the sandbox. Walkthrough: You can see the bug there (and in the attached screenshots): 2) The (single) booking is counted as three: there's no more availability on May 30th at 12:00am (this slot is now hidden on the booking page) Here are three ways to fix this: I currently have to "clean up" duplicates directly in db on a daily basis. Can you please share this with the Woocommerce Mutlilingual dev in charge of the Woocommerce Bookings Compatibility integration and come back with an update? Regards, |
May 27, 2025 at 3:14 pm #17079499 | |
Otto WPML Supporter since 09/2015
Languages: English (English ) Spanish (Español ) Timezone: America/Argentina/Buenos_Aires (GMT-03:00) |
Hello, Thank you very much for the testing and detailed explanation. I escalated the issue to our second tier support. I'll get back to you as soon as I have news about the issue. Best Regards, |
June 5, 2025 at 1:07 pm #17110356 | |
Verbal |
Hello Otto, What are the news? Can you share a patch we could apply before a new version is released? Regards, |
June 5, 2025 at 3:25 pm #17110992 | |
Otto WPML Supporter since 09/2015
Languages: English (English ) Spanish (Español ) Timezone: America/Argentina/Buenos_Aires (GMT-03:00) |
Hello, Our second tier support wasn't able to find a workaround. The issue is complex for a simple "hack". The problem is on our development team hands now. If there is a patch that you can try before the fix is released, I'll let you know. Best Regards, |
June 10, 2025 at 4:12 pm #17122850 | |
Verbal |
Hello Otto, On a single day (with a sale, a class opening, several booking at the same date, etc), daily cleanups aren't enough and we're losing sales as classes are (incorrectly) marked as fully booked until manually adjusted in db. WCML 3.4.9 is unaffected. This (serious) bug comes from the refactoring of the Bookings compatibility in higher version. More specifically: I understand the idea behind these changes, but proper filtering of bookings to return those only in the current language is then required (and missing). 1) Has it been assigned to a dev? Regards, |
June 10, 2025 at 4:49 pm #17123048 | |
Otto WPML Supporter since 09/2015
Languages: English (English ) Spanish (Español ) Timezone: America/Argentina/Buenos_Aires (GMT-03:00) |
Hello, I am sorry for the inconveniences. The issue is assigned to a developer. It's planned for WCML 5.5 (this may change though). I requested for more information and asked if we can raise the priority of the issue. I'll get back to you when I have a response. Best Regards, |