Skip Navigation

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
- 7:00 – 12:00 7:00 – 12:00 7:00 – 12:00 7:00 – 12:00 7:00 – 12:00 -
- 13:00 – 16:00 13:00 – 16:00 13:00 – 16:00 13:00 – 16:00 13:00 – 16:00 -

Supporter timezone: America/Sao_Paulo (GMT-03:00)

Tagged: 

This topic contains 13 replies, has 0 voices.

Last updated by Lucas Vidal de Andrade 18 hours, 25 minutes ago.

Assisted by: Lucas Vidal de Andrade.

Author Posts
May 8, 2025 at 6:37 pm #17013430

Lucas Vidal de Andrade
WPML Supporter since 11/2023

Languages: English (English ) Spanish (Español ) German (Deutsch ) Portuguese (Brazil) (Português )

Timezone: America/Sao_Paulo (GMT-03:00)

Hey there,

We are still analyzing. Let me provide you with some context. I made tests on a clean installation, and the behavior was the same - I added the attribute translation directly in the CSV, but it showed the default nonetheless. So far, it seems that the local attributes must be translated after import.

I just sent the tests to the devs, and they will get back to me. I'll keep you updated.

May 9, 2025 at 11:24 am #17016180

peterJ-48

Hello,

I respectfully request that you prioritize this issue, as our business is currently unable to proceed with product imports. We have a substantial number of vendors and products to manage, and we are committed to launching these products as part of our operational timeline. Unfortunately, manually adding a large volume of products is not a feasible solution.

Please understand the urgency of our situation and the impact this is having on our operations.

May 9, 2025 at 6:15 pm #17017653

Lucas Vidal de Andrade
WPML Supporter since 11/2023

Languages: English (English ) Spanish (Español ) German (Deutsch ) Portuguese (Brazil) (Português )

Timezone: America/Sao_Paulo (GMT-03:00)

Hello,

I've forwarded that to our devs. As I said, it seems that this behavior is not exclusive to your website, so we don't have a quick fix yet for it. It's very likely that we will only be able to get back to you on Monday, but that's not certain. I apologize for the inconvenience this is causing to you and appreciate your patience.

May 13, 2025 at 3:28 pm #17028853

Lucas Vidal de Andrade
WPML Supporter since 11/2023

Languages: English (English ) Spanish (Español ) German (Deutsch ) Portuguese (Brazil) (Português )

Timezone: America/Sao_Paulo (GMT-03:00)

Hey there,

Thank you so much for waiting. We were able to pinpoint a way to import products with local attributes, so that the attributes and variations are imported along with their translations, with no extra steps. Here's what needs to be done:

1. If you are exporting the products from another WP website, make sure that WPML Multilingual CMS and WPML Export and Import are installed and active there. That ensures that the WPML meta language column are on the CSV. Make sure that attributes and variations are translated and exported as well;
2. If you are creating the CSV from scratch, make sure to have the ID column, as well as the WPML metadata columns. You can use this file as reference. Please check it thoroughly:
hidden link
Note that the attributes are already translated in the CSV;
3. Import the file using WooCommerce's Import feature;
4. Run WPML Export and Import;

We thoroughly tested on a testing website, but I couldn't test that directly on your website, as the credentials you shared previously are no longer valid. Please carefully check the example file and reproduce it on your website. It's best that if you do that with a fresh product.

If you want to have a better understanding on how the CSV file is formatted on your environment, you can create a variable product, translate it along with the attributes and export. This way, you can check a working CSV specific to your website.

Make sure that SKUs are unique, so they don't conflict with existing ones. Let me know how it goes.

May 15, 2025 at 2:59 pm #17037565

peterJ-48

Hello,

We imported the file you sent and made one modification — we changed the "Published" column value from "1" to "-1" to prevent the products from being published immediately after syncing.

Previously, when we imported products with the status set to "Draft" and then manually published them, the product slugs were correctly generated in the secondary language (Danish), and we were able to access and edit the products using ATE (Advanced Translation Editor).

However, after the recent import, sync, and publish process, the product slugs are no longer being created in the Danish version. Additionally, attempting to open the products in ATE now redirects us to the backend product edit page instead of launching the editor.

At this point, the product slugs remain missing in Danish, and ATE access is not working as expected.

Please refer to the recording for further details:hidden link

May 15, 2025 at 6:48 pm #17038478

Lucas Vidal de Andrade
WPML Supporter since 11/2023

Languages: English (English ) Spanish (Español ) German (Deutsch ) Portuguese (Brazil) (Português )

Timezone: America/Sao_Paulo (GMT-03:00)

Hello,

Thank you for sharing the details. I've followed the same steps on a testing environment, but didn't get the issue there. This indicates there's some conflict or bug on your website. I'll verify that on a fresh copy of it.

Can you please send me a fresh copy of your website, as it is right now? You can delete the previous version. Thank you for your cooperation. The private field is enabled.

May 16, 2025 at 8:37 am #17040127

peterJ-48

Hello,

We’ve completed testing on our end—disabling all plugins except WPML and WooCommerce, switching to the default WordPress theme, and re-importing the file you provided. Additionally, we changed the "Published" column value from "1" to "-1" to prevent products from being published immediately after syncing.

Unfortunately, the issue still persists. After import, sync, and publish, product slugs are not being generated for the Danish version. Also, attempting to open products in ATE redirects us to the backend product edit page instead of the Advanced Translation Editor.

As it stands, product slugs remain missing in the secondary language (Danish), and ATE is not functioning as expected.

You can view the issue in this recording:
🔗 hidden link

Regarding access to my site, please refer to this thread:
🔗 https://wpml.org/forums/topic/we-need-a-way-to-translate-custom-product-attribute-names-imported-via-wpml-tools-without-using-str/#post-16985899
The site details are available in the private tab of that post.

Let me know if you need anything else from my side.

May 16, 2025 at 3:43 pm #17042775

Lucas Vidal de Andrade
WPML Supporter since 11/2023

Languages: English (English ) Spanish (Español ) German (Deutsch ) Portuguese (Brazil) (Português )

Timezone: America/Sao_Paulo (GMT-03:00)

Hey there,

Thank you for sharing the details. Unfortunately, I'm not able to get the latest copy working on my end anymore, also I don't have access to your website.

Please restore access to the website (you can use the same credentials you already shared, so you don't need to do it a second time), and send me a fresh copy of it. The private field is enabled for the package link.

Meanwhile, please deactivate the WPML Synchronize Post Status plugin, go to WPML > Settings > Translated document options > When you publish the original post and check "Publish the post translations". Check if the importing works this way.

I apologize for the back and forth, we're doing our best to make the import work as you wish on your website. As I said, in our testing environment it's working with no issues, so we'll need to investigate to check what's causing this new problem. Thank you for your patience.

May 20, 2025 at 7:50 am #17051240

peterJ-48

Hello,

Could you please comment out the email functionality (refer to the screenshot) in the functions.php file on your local setup?
This will ensure that vendors do not receive emails triggered by various functionalities during testing.

Screenshot_43.png
May 20, 2025 at 12:13 pm #17052638

Lucas Vidal de Andrade
WPML Supporter since 11/2023

Languages: English (English ) Spanish (Español ) German (Deutsch ) Portuguese (Brazil) (Português )

Timezone: America/Sao_Paulo (GMT-03:00)

Hey there,

I apologize for the e-mails, I'll disable them.

Regarding the imports, I made new tests and discussed the situation with our devs, as this been taking a while. To provide you with some context, WPML is intended to work with global attributes (as already mentioned) so we're doing our best to get WPML working with your intended import workflow - having local attributes already translated for products imported as drafts via CSV with the standard WooCommerce importer.

Yesterday I was able to verify that, when publishing the imported drafts, the translated attributes indeed revert to the default language, even in fresh installations. This is being analyzed internally, which might take a while.

In the meantime, imported products must be re-translated after import to ensure that the attributes show translated, or attributes must be created globally before import. I'll get back to you once I have more information from second tier. Thank you.

May 29, 2025 at 2:36 pm #17088688

Lucas Vidal de Andrade
WPML Supporter since 11/2023

Languages: English (English ) Spanish (Español ) German (Deutsch ) Portuguese (Brazil) (Português )

Timezone: America/Sao_Paulo (GMT-03:00)

Hey there,

Thank you for waiting. Let me share with you what's been discussed and decided so far. First, we decided to implement a stable feature to properly import local translated attributes - at the moment, as we already know, this feature is not present and attributes must be created globally before importing. This needs planing and development, so we can't promise a deadline so far, but it should be released on WPML's next update.

To make it work based on your desired workflow, we've came up with a workaround. Please make sure to have a full website backup and follow the steps below to import the local attributes already translated. In summary, you'll need a new column on the CSV, for the translated attribute label, with a serialized array. Since WC does not support that, we also need to add some custom code to the functions.php file. Follow these steps:

1. Add the code below to your functions.php file:

/**
 * <em><u>hidden link</u></em>
 *
 * Force unserializing of meta data in WC importer.
 */
add_filter( 'woocommerce_product_importer_parsed_data', function ( $data ) {
    if ( isset( $data['meta_data'] ) && is_array( $data['meta_data'] ) ) {
        foreach ( array_keys( $data['meta_data'] ) as $k ) {
            $data['meta_data'][ $k ]['value'] = maybe_unserialize( $data['meta_data'][ $k ]['value'] );
        }
    }

    return $data;
} );

2. Add an extra column Meta: attr_label_translations to your CSV file;

3. The cells on this column, will have the serialized value for the attribute label translation. To do that:
__________
1. Create the array with the following structure: [ 'LANGUAGE_CODE' => [ 'ORIGINAL-ATTRIBUTE-NAME-SLUG' => 'TRANSLATED ATTRIBUTE NAME', ], ]
Example: [ 'da' => [ 'size-range-en-test-lucas-imported-2' => 'Range DA Test Lucas Imported 2', ], ];
2. Serialize the array using this link: hidden link. To serialize, follow the steps on the screenshot attached;
3. Insert the serialized array on the CSV field;
__________

4. Follow the usual workflow to import products (run the import, thank WPML Export and Import);

I added some additional screenshots, so you can check how the CSV looks in practice. Please let me know how it goes. I appreciate your patience and cooperation on this matter.

Screenshot 2025-05-23 161428.png
PHP Sandbox - Execute PHP code online through your browser.jpeg
June 4, 2025 at 9:04 am #17105446
peterJ-48

Hello,

Issue:
Currently, I’m unable to import a single product in English using the WPML import/export tools. When I disable the WPML import/export plugin, the product import works fine.

What we’ve done so far:
Here’s what we’ve done so far: we disabled the WPML import/export plugin, imported the products in English, and then used auto-translation for those products due to issues with custom attributes translations. After that, we were no longer able to import individual products.

CSV File Path:
This is the single English product in CSV format: hidden link

For access to my site, please refer to this thread:
https://wpml.org/forums/topic/we-need-a-way-to-translate-custom-product-attribute-names-imported-via-wpml-tools-without-using-str/#post-16967076

As per your suggestion, we still need to test the custom attribute translation.

Once the import process is fixed, we’ll then proceed to test the custom attributes in the secondary languages.

Can you help me understand why we were unable to import products using the WPML import/export plugin?

New threads created by Lucas Vidal de Andrade and linked to this one are listed below:

https://wpml.org/forums/topic/split-import-wont-work-when-wpml-export-and-import-is-active/

June 4, 2025 at 8:47 pm #17108160

Lucas Vidal de Andrade
WPML Supporter since 11/2023

Languages: English (English ) Spanish (Español ) German (Deutsch ) Portuguese (Brazil) (Português )

Timezone: America/Sao_Paulo (GMT-03:00)

Hey there,

I've tried for hours, but couldn't get the staging website to work. It loads endlessly on many admin URLs, making it unfeasible for me to make the necessary tests. I'll check again tomorrow. Thank you for your patience.

June 5, 2025 at 1:33 pm #17110430

Lucas Vidal de Andrade
WPML Supporter since 11/2023

Languages: English (English ) Spanish (Español ) German (Deutsch ) Portuguese (Brazil) (Português )

Timezone: America/Sao_Paulo (GMT-03:00)

Hello,

Since this ticket is already long, I'll create a new one, so we can check what's happening, regarding you being unable to import products when WPML Export and Import is active on the website. This way we can keep things more organized:

https://wpml.org/forums/topic/split-import-wont-work-when-wpml-export-and-import-is-active/

I'll answer you there. We can resume here, once the issue is solved.