Hello,
I use Composite Products 11.1.2 with WPML 5.1.0 and WooCommerce Multilingual 5.6.2 (WooCommerce 11.1.2).
Composite Products caches the list of options of each component for about a week, in one transient per composite product (wc_cp_query_results_). The query that builds this list is filtered by WPML according to the language of the current request, not the language of the composite product.
When the transient of a translated composite is built during a request in another language (a scheduled task, a product feed, a cart kept after a language switch), the translated composite receives the component product of the other language. Adding it to the cart or checking out then fails in that language (“Please choose a valid … option”) until the transient expires.
My request: build this cache in the language of the composite product, or make its key depend on the language.
My workaround: I switch WPML to the language of the composite product during the component query (hooks woocommerce_composite_component_query_start and woocommerce_composite_component_query_end).
Thank you for considering it.
Kind regards,
Sebastien
Last updated: October 4, 2026
0 comments
Log in to comment on this feature request.