Skip Navigation

This thread is resolved. Here is a description of the problem and solution.

Problem:
The client is experiencing an issue where products in secondary languages are being incorrectly synced and displayed in their Facebook catalogue, despite being archived in WooCommerce. This issue arises from the integration between WPML and Facebook for WooCommerce.
Solution:
1. We confirmed that the 'Facebook Visibility' feature in WPML archives secondary language products as intended, but they are still being synced by Facebook for WooCommerce.
2. Our compatibility team has escalated this as a feature request to the developers of Facebook for WooCommerce. However, they have found that the integration is managed by Facebook for WooCommerce, not WPML.
3. We suggested a potential workaround using a custom filter to prevent syncing of secondary language products:

add_filter( 'wc_facebook_is_product_sync_enabled', function( $is_enabled, $integration ) {<br />    $product_id = $integration->get_product()->get_id();<br />    $product_lang = apply_filters( 'wpml_post_language_details', null, $product_id );<br />    if ( is_array( $product_lang ) && isset( $product_lang['language_code'] ) ) {<br />        $default_lang = apply_filters( 'wpml_default_language', null );<br />        if ( $product_lang['language_code'] !== $default_lang ) {<br />            return false; // Block sync<br />        }<br />    }<br />    return $is_enabled;<br />}, 10, 2 );

**** Important! Please make a full site backup (files and DB) before you proceed with those steps****
4. We also recommend contacting Automatic, the authors of Facebook for WooCommerce, to address this integration issue.
If this solution does not resolve your issue or seems irrelevant, we highly recommend checking related known issues at https://wpml.org/known-issues/, verifying the version of the permanent fix, and confirming that you have installed the latest versions of themes and plugins. If the problem persists, please open a new support ticket at WPML support forum.

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.

This topic contains 21 replies, has 0 voices.

Last updated by Itamar 1 week, 4 days ago.

Assisted by: Itamar.

Author Posts
April 17, 2025 at 2:26 pm #16944516

Giulio

Good morning, we encountered an issue as mentioned in the subject line quite some time ago. It then seemed to have been resolved. Now, however, we find our Facebook catalogue once again completely overrun with products in other languages. Could you please update us on the current status of the situation? Thank you.

April 21, 2025 at 8:26 pm #16952702

Itamar
WPML Supporter since 02/2016

Languages: English (English )

Timezone: Asia/Jerusalem (GMT+03:00)

Hi,

If you are using the Facebook for WooCommerce plugin, please note that it is officially compatible with WPML.

https://wpml.org/plugin/facebook-for-woocommerce/

However, there are two known issues with this plugin. Please check them out here.

https://wpml.org/errata/facebook-for-woocommerce-product-links-in-facebook-are-redirecting-to-the-original-product-or-an-error-page/

https://wpml.org/errata/facebook-for-woocommerce-multi-currency-is-not-supported/

Are you having any of the known issues above?

Please share your site's Debug information if you need further help with this issue. You can read about it here.

http://wpml.org/faq/provide-debug-information-faster-support/

Regards,
Itamar.

April 23, 2025 at 10:23 am #16958920

Giulio

Good morning Itamar, the issue isn’t related to the bugs you’ve already identified. It seems to be something different, and I’m not sure if it’s something that’s already been addressed in any way.

As I was trying to mention, the problem is as follows: the Facebook for WooCommerce plugin creates a product catalogue based on the products listed in WooCommerce, in order to sync them with Meta. It does this for every single product and variation—in short, everything.

When a product is translated using WPML, WPML naturally creates another product in the second language.

The problem is simple: Facebook for WooCommerce sees the translated product and imports that too.

So the result is that, say I’m selling a pencil and I’ve translated this pencil into five languages.

I then end up seeing that same pencil listed six times in my Facebook catalogue.

The only difference we notice on Facebook is that one product appears as active in the catalogue, while the other five (which are the translations) appear as archived.

Since the translated products are archived, they don’t impact the catalogue too much, fortunately.

However, the site still syncs them, which leads to a considerable waste of resources.

What we’d like to understand is how WPML handles this situation.

April 24, 2025 at 10:05 am #16963659

Itamar
WPML Supporter since 02/2016

Languages: English (English )

Timezone: Asia/Jerusalem (GMT+03:00)

Hi,

I am consulting with our second-tier supporters about your case.

Meanwhile, could you please confirm that WordPress, WooCommerce, Facebook for WooCommerce, and WPML along with its add-ons, are all updated to their latest versions on your site?
If not, you may be facing a problem that is resolved in the latest versions.

Could you please share the link to your Facebook catalog, where we can view this issue?

Also, please share your site's Debug information. You can read about it here.
http://wpml.org/faq/provide-debug-information-faster-support/

Regards,
Itamar.

May 4, 2025 at 4:55 pm #16993605

Giulio

Good morning Itamar, and apologies for the delayed response.

What I’m describing is a sort of bug that has been ongoing for over a year.

I’d be happy to send you a link to the catalogue, but you wouldn’t be able to see the “extra” products I mentioned, as they appear as “archived”.

Only those in the primary language are shown as “online” – I believe this is something your team worked on in the past. Previously, both the primary and secondary language products were displayed online. Now at least the secondary language ones are hidden.

However, the point I was raising is that the products in the secondary languages are still being synchronised, which leads to a significant use of resources. Ideally, the Facebook for WooCommerce functions should be disabled when WPML is active, so that only products in the primary language are synchronised.

I’m sorry if this sounds convoluted – it is, a bit. But I’m confident that if you’re able to escalate the issue to whoever handled the WPML compatibility with Facebook for WooCommerce, they’ll immediately understand what I mean.

Thank you.

May 4, 2025 at 6:30 pm #16993711

Itamar
WPML Supporter since 02/2016

Languages: English (English )

Timezone: Asia/Jerusalem (GMT+03:00)

Hi,

I am in contact with our compatibility team about this case.

Please go to WPML -> Languages and scroll down to the Facebook Visibility section. Please see the attached screenshot.
Is it only the primary selected or also the other languages?

Regards,
Itamar.

2025-05-04_21-25-00.jpg
May 5, 2025 at 6:37 am #16994464

Giulio

Here it is – I can confirm that we haven’t left things to chance, but have made only our primary language visible.

However, as the compatibility team will confirm, synchronisation is still happening because it remains enabled on the product page. This alone triggers the synchronisation process.

The sync module itself doesn’t disappear – it’s still there. WPML simply hides the products from the online catalogue.

Here’s a list of annoyances this causes:

- When a page in the secondary language is updated, a Facebook sync alert appears at the top (unless you manually disable automatic sync for every product and every variation – which would be a huge task). Regardless of the alert, the update triggers a connection between Facebook and the site, which ideally shouldn’t happen at all.

- When browsing the catalogue on Facebook, you see a flood of duplicated and archived products.

Screenshot 2025-05-05 alle 08.31.34.jpg
May 5, 2025 at 7:23 am #16994740

Itamar
WPML Supporter since 02/2016

Languages: English (English )

Timezone: Asia/Jerusalem (GMT+03:00)

Hi,

Thanks for checking the WPML > Languages > Facebook Visibility section and sending me the screenshot and further information.

I've communicated your information to our compatibility team. We have a problem testing this as we don't have a Facebook store to test this with a fresh WordPress installation.

However, I don't yet grasp a certain description in what you wrote. On one hand, you wrote that the FB catalog is flooded with duplicated and archived products, but on the other hand, you say that we can't see it in your FB shop.

Is this problem with duplicated and archived products only visible to the store owner?

If so, can you please share screenshots of this problem with us?

Is there another way you recognize that all the translated products are being synced to the FB shop?

Regards,
Itamar.

May 5, 2025 at 7:49 am #16994946

Giulio

Sure, happy to! Let me first provide a bit of context to help clarify things further.

On Facebook, a product within the catalogue can either be online (and thus visible) or archived (and therefore hidden).

If I’ve understood correctly, the WPML > Languages > Facebook Visibility feature allows secondary language products to be archived by default.

This means they don’t appear in the online catalogue, which is exactly what we want.

From a consumer’s point of view, everything works perfectly – there’s no confusion.

The issue I’m trying to highlight is solely from an internal management perspective, for the reasons I’ve already mentioned.

In screenshots A and B, you can see the Facebook catalogue. Screenshot A shows the visible (active) products, while B shows the archived ones – which are essentially duplicates created from the secondary languages.

Screenshot C shows the “Products” page in WooCommerce, where the Facebook Sync column appears. As you can see, this confirms that Facebook for WooCommerce is still syncing those products with the catalogue.

And finally, screenshot D shows one of the notifications I mentioned, where WooCommerce interacts with Facebook – something that, in my view, shouldn’t be happening when the WPML > Languages > Facebook Visibility option is active.

D.jpg
B.jpg
A.jpg
C.jpg
May 5, 2025 at 11:32 am #16995837

Itamar
WPML Supporter since 02/2016

Languages: English (English )

Timezone: Asia/Jerusalem (GMT+03:00)

Thanks for the detailed information.

I passed it on to our compatibility team and will update you once I have news.

I appreciate your patience.
Itamar.

May 11, 2025 at 11:01 am #17019931

Itamar
WPML Supporter since 02/2016

Languages: English (English )

Timezone: Asia/Jerusalem (GMT+03:00)

Hi,

I have a response from our compatibility developer. First, he referred to this section of what you wrote:

Only those in the primary language are shown as “online” – I believe this is something your team worked on in the past. Previously, both the primary and secondary language products were displayed online. Now at least the secondary language ones are hidden.

And his reply was:

That's exactly what our "Facebook visibility" option does! As the name suggests, it changes the catalog's "visibility" (active vs. archived).

Our developer says we don't consider this a bug but a feature request. To proceed with submitting this as a feature request, we ask you to give us access to your site and allow us to install the JSM Show Meta Post to see if this option is saved in a custom field.

If you need further help with this, please share the access details to your site with me. I'm enabling a private message for the following reply.
Privacy and Security Policy
We have strict policies regarding privacy and access to your information. Please see:
https://wpml.org/purchase/support-policy/privacy-and-security-when-providing-debug-information-for-support/
**IMPORTANT**
- - Please backup the site files and database before providing us access. --
-- If you have a staging site where the problem can be reproduced, it is better to share access to the staging site.--

Regards,
Itamar.

May 11, 2025 at 11:48 am #17020017

Giulio

Good morning, and thank you for the valuable feedback.

As for installing a plugin on our live site, unfortunately that’s not possible. However, if you need specific data, we can extract it – even directly from the database. We have an external developer who works with us on an hourly basis, so it wouldn’t be difficult. Please let us know exactly what you need and we’ll export it.

If I’ve understood correctly, you’re trying to determine whether a particular option is saved for each product as a custom field – is that right? If you could provide more details, I’d really appreciate it, so we can target exactly what you’re looking for.

Thanks a lot.

May 11, 2025 at 1:27 pm #17020192

Itamar
WPML Supporter since 02/2016

Languages: English (English )

Timezone: Asia/Jerusalem (GMT+03:00)

Hi,

Thanks for your message and willingness to check things further. I forwarded your reply to our compatibility team and await their reply.

Regards,
Itamar.

May 13, 2025 at 10:57 am #17026667

Itamar
WPML Supporter since 02/2016

Languages: English (English )

Timezone: Asia/Jerusalem (GMT+03:00)

Hi,

Our second-tier supporter provided the following answer:

If possible, please provide access to a staging copy of the site or share a package so we can investigate further.

Based on the video, it seems that Facebook synchronization is controlled at the individual product level. It's possible that this setting is stored in a custom field.

You might want to check whether the “Multilingual Content Setup” box appears when editing the product. Alternatively, using the “JSM Show Post Meta” plugin can help you identify if such a custom field exists.

If there is a custom field that controls the sync status, try setting its translation preference to “Don’t translate” in WPML’s settings — this could prevent the value from being carried over to translated products.

That said, if this approach doesn’t help, then preventing translated products from syncing (rather than just hiding them) would fall under a feature request.

Please let me know how you want to proceed.

Thanks,
Itamar.

May 20, 2025 at 1:27 pm #17053005

Giulio

Good morning Itamar,

Apologies for the delayed response – we’ve addressed this matter as promptly as possible.

In reply to the last message from your second-level support, following an analysis with our developer, here’s what we’ve found:

- The GroupID of the product changes depending on the language, as do the variant IDs – this confirms that within the Meta ecosystem, these products/variants are treated as entirely separate entities. If needed, we can export all metafields for a sample product in both the primary and secondary language.

- We haven’t found any “Multilingual Content Setup” metaboxes on products – neither in the primary language nor in any of the secondary ones.

- There are no custom fields controlling the sync status.

- In the database, for a product variant in the primary language, there is a parameter indicating that synchronisation should occur: meta key: _wc_facebooksync_enabled with meta_value: yes. In the translated (secondary language) version, this entry is entirely absent.

I hope this provides some helpful insight to the relevant team.

Thank you.