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.

This topic contains 17 replies, has 2 voices.

Last updated by Joanna 3 years, 7 months ago.

Assigned support staff: Joanna.

Author Posts
August 18, 2017 at 7:11 am #1345846


Hi everyone !

The site I'm working on uses 2 custom post types ("products" is one of them), created with the CPT UI plugin. I activated the translations for the custom post types & taxonomies (which are product categories & stockists types) and translated them. I then synchronised the menus.

What I have on the website basic language (French) :
hidden link

What should work :
hidden link

What actually works :
hidden link

What the menus (both WP menu and WPML language selector) does :
hidden link

That's a weird mix, and I wish I could get rid of the useless /famille/ (but this might come from CPT UI)

I already tried to re-save the permalinks, to no avail.
I use a custom theme, child of twenty-sixteen, and translate from French to English (ES, DE, IT, PT, NL will come later). The website can be seen here : hidden link

Any help would be very welcome !

August 18, 2017 at 10:04 am #1345956


Hello @sebastienl-23,

First of all, please double check if you have correct settings for the slug translation:
1. In WPML->Translation Management->Multilingual Content Setup->Custom posts slug translation options, the "Translate custom posts slugs (via WPML String Translation)." is enabled.
2. In WPML->Translation Management->Multilingual Content Setup->Custom posts, your custom posts have the "Use different slugs in different languages for Posts." option enabled and slugs are correctly translated there.

Please also go to Appearance->Menus and double check if URLs there are correct in all languages. Sometimes, synchronizing the menus may not work as expected (when there is a compatibility issue between WPML and the theme or one of the plugins).

If everything seems to be correctly set and translated, I would like to ask you for credentials to your website and FTP. It will help me debug the issue and find the solution. You will find the fields for WordPress and FTP access below the comment area when you log in to leave your next reply. Your next reply will be private.

In addition, I noticed that your WP Memory Limit is set to 40MB and the WPML's minimum requirement is to have it on 128MB. You can easily increase the memory allocated to PHP. You'll find more info about it at
In brief:
1. Log into your FTP.
2. Edit the wp-config.php file.
3. Add the following code:

define( 'WP_MEMORY_LIMIT', '128M' );
define( 'WP_MAX_MEMORY_LIMIT', '256M' );

4. Save the file.

This will most likely not resolve your issue, but it may save you from a headache in the future when you will have possibly stumbled upon some unexpected issues.

All WPML minimum requirements are listed at

August 21, 2017 at 7:09 pm #1347641


Hello @sebastienl-23,

Thank you for the credentials. I checked your website but I couldn't spot anything suspicious.

I would like to further debug the issue but for this, I need your permission to replicate your website locally using the Duplicator package. Once the problem is resolved I will delete the local site.

August 22, 2017 at 6:16 am #1347806


Hello Joanna,

thanks for your reply. I'm glad I didn't overlook something obvious 🙂
You've got my permission to replicate the website. If I can do anything to help (provide you an sql export of the database for example), please feel free to ask.

August 22, 2017 at 5:00 pm #1348532


Hello @sebastienl-23,

Thank you for the permission to copy your site. It helped a lot. It turned out that it's a really tricky compatibility issue. However, you can adjust your custom post and custom taxonomy setting to make it work:
1. Open your custom post type (Produits) for editing.
2. Scroll down to the "Settings" section.
3. Set the "Rewrite" option to "True".
4. Set the "Custom Rewrite Slug" to "produits" (or whatever you want). If you want to have the default slug, do not leave this field empty but provide the default slug value.
5. Repeat steps 1-4 for the custom taxonomy (famille).

6. Go to WPML->String Translation.
7. Scroll down to the bottom and click the "Translate texts in admin screens »" link.
8. Search for the options that have the custom post type's and custom taxonomy's custom rewrite slug. You should find them in the cptui_post_types and cptui_taxonomies groups accordingly.
You may also uncheck the "name" options for your custom types and custom taxonomies so you won't translate them by mistake (they should have the same value for all languages).
9. Check the option, scroll down to the bottom of the page and apply changes.

10. Go back to WPML->String Translation.
11. Search for the custom rewrite slugs that you just registered. They will have the names similar to "[cptui_post_types][produits]rewrite_slug" (the important thing is that "rewrite_slug" part). Look for them under the "admin_texts_cptui_post_types" and "admin_texts_cptui_taxonomies" domains.
12. Translate the strings according to your needs. Remember to mark translations as completed.

13. Go to Settings->Permalinks and re-save your settings.

If the original language of the custom rewrite slug is incorrect, e.g. English instead of French, you can easily change the original language of your strings. Do do this this, follow the steps below:
1. Select the strings that need to have a different original language
2. Click the "Change language of selected strings" button.
3. Select the correct language.
4. Click the "Apply" button.
You can find the instructions with screenshots at in the "Original Language of Strings" section.
You'll need to do this between steps 11 and 12.

Please let me know if that worked on your installation.

In the wp-config.php file, you cannot have anything below (or in between) the following lines:

/* That's all, stop editing! Happy blogging. */

/** Absolute path to the WordPress directory. */
if ( !defined('ABSPATH') )
define('ABSPATH', dirname(__FILE__) . '/');

/** Sets up WordPress vars and included files. */
require_once(ABSPATH . 'wp-settings.php');

Please move up all lines that should be above the aforementioned lines.
Please do it before you start anything else because it may cause additional issues, e.g. with saving changes in the String Translation module.

August 24, 2017 at 11:25 am #1349942


Hi Joanna,

Thank you very much for these clear & detailed instructions.

I followed them, and even though there is improvement, the issue is still there.

When I'm on a custom taxonomy listing page, like /famille/spots/, and I switch to English via the flag menu, the English page displays correctly (and the links to the products work !). But it has the following slug : /en/famille/spots-en/ (the word "famille" should be translated to "category", as it is in the main menu slugs).

The main menu slugs of this category link seem to be correct /en/category/spots-en/, but it gives a 404 page, like all the other menu links to product categories.

If it's a compatibility issue, with what is it not compatible ? another plugin, or maybe our theme ?

August 29, 2017 at 8:20 am #1353050


Hello @sebastienl-23,

It's a compatibility issue with the CPT UI plugin. When you don't define any custom slug, the default one will always be in the original language.

Regarding the remaining issue, I didn't have it on a copy of your site. This makes me almost sure that at this point it's a cache issue. Do you have any cache on your server? If so, please flush it.
If not, please log into your FTP and remove the whole "cache" folder from the wp-content folder. This is the folder that was excluded from the Duplicator package and this may be the reason I can't replicate the issue on my local copy.

Please let me know if that helped.

August 30, 2017 at 7:08 am #1353953


Hello Joanna,

Thanks for your reply. I take note of the compatibility issue with CPT UI (good to know for next projects !).
As for the cache, no cache plugin is currently activated, and I don't know of any cache on the server. I removed the cache folder in wp-content, but it didn't change anything unfortunately.

A couple of plugin have been added since you copied the website (essentially "visual" ones, like photo gallery, or a flipbook pdf reader). Could they have created the problem ?

August 31, 2017 at 10:55 am #1355050


Hello @sebastienl-23,

It's possible. Could you please deactivate those new plugins for a moment to check if the issue still occurs? Please let me know about the result of your test.

August 31, 2017 at 11:39 am #1355097


Hello Joanna,

Thanks for your reply. I've just deactivated all the plugins we installed since WPML (even a couple we installed before), removed the cache folder and re-saved the permalinks...
But the issue still remains...

September 1, 2017 at 6:39 pm #1356319


Hello @sebastienl-23,

In this case, I need to consult your case with our 2nd tier. I'll get back to you as soon as I have any feedback from them.

September 4, 2017 at 3:00 pm #1358065


Hello @sebastienl-23,

We've just released a new version of WPML and its add-ons. Please update the plugin and check if that helps. Remember to make a backup before you start updating.

September 6, 2017 at 8:06 am #1361255


Hello Joanna,

thanks for your reply. We've updated WPML, but unfortunately the issue is still here. Is there anything we can do or alter in our theme maybe ?
We have another ticket opened here :

It's also hard to solve, maybe there is a link ?

September 8, 2017 at 1:16 pm #1365096


Hello @sebastienl-23,

I consulted your case with our Developers and they told me that for now, it's impossible to translate custom taxonomy slug. I'm sorry I made you believe that it's possible and it's a matter of proper settings. So, in this case, you'll need to choose a taxonomy slug that will be proper for both languages.

September 11, 2017 at 6:31 am #1366808


Hi Joanna,

Thanks for your reply.
Being able of translating slugs is actually the reason that made us decide to buy WPML in the first place... And even if we could find a slug working in both language, we plan to have 6 languages in the next weeks (maybe 10 in the next months). It's not a possibility for us.

Since the problem seems to come from a compatibility issue with the CPT UI plugin, what if we used a more traditional declaration for the Custom Post Type instead, like manually in function.php ?