Skip Navigation

Waiting for author

Overview of the issue

When using Facebook for WooCommerce, clicking a translated product in Facebook redirects you to the product in the default language or to an error page.

Workaround

In your child theme functions.php file, add the following:

 
add_filter ('facebook_for_woocommerce_integration_prepare_product', 'fix_product_url', 11, 2);

 function fix_product_url($product_data, $id) {
	 $product_lang = apply_filters( 'wpml_post_language_details', null, $id );
	 $product_data['url'] = apply_filters( 'wpml_permalink', $product_data['url'], $product_lang['language_code'] );
	 return $product_data;
 }

Next steps to resolve this issue

We’ve contacted WooCommerce for a permanent fix, but have yet to hear back. Since the issue needs to be resolved with changes to the plugin code, we cannot assist any further other than by providing the workaround detailed above.

If you are experiencing issues and would like to push this fix forward to WooCommerce, feel free to leave a support ticket with the author here: https://woocommerce.com/my-account/create-a-ticket/ (you will need to be logged into WordPress.com).

2 Responses to “Facebook for WooCommerce - Links from Facebook to translated products do not work”

  1. Hello, in case it helps anyone.

    The code you posted doesn’t work for me, this one I show below does, I got it from the WPML forum.

    add_filter( ‘facebook_for_woocommerce_integration_prepare_product’, function( $product_data, $id ) {
    $product_lang = apply_filters( ‘wpml_post_language_details’, null, $id );

    $ref = array_key_exists( ‘url’, $product_data ) ? ‘url’ : ‘link’;

    $product_data[ $ref ] = apply_filters( ‘wpml_permalink’, $product_data[ $ref ], $product_lang[‘language_code’] );
    return $product_data;
    }, 11, 2 );

    • This code was proposed by one of our users and the only difference is that it first checks the URL coming from Facebook. If it works better for you, feel free to use it.
      Thank you for sharing it, Alexander. 🙂

Leave a Reply

Please stay on topic and be respectful to others. If you need help with issues not related to this post, use our Support Forum to start a chat or submit a ticket.

You can use these tags:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>