1) The post translation status can take a really long time to update. For example: 20 minutes is no exception.
2) Changes in the default language (English) don't immediately make it to the WPML Advanced Translation Editor.
3) Changes in the WPML Advanced Translation Editor are not immediately visible in the German frontend.
We've tested with Object Cache Pro disabled for a couple of days, and all these problems no longer occurred.
I guess that this is related to WPML changes not purging the cache?
Cloudways recommended adding this to wp-config.php:
define('WP_REDIS_IGNORED_GROUPS', 'WPML_TM_ICL_Translations::translations');
After a few hours of testing with that extra line, I can tell that issues 1 and 3 are still present. It may help for issue 2, we'll have to test longer.
Meanwhile, I found that WP_REDIS_IGNORED_GROUPS should be set to an array and should only be set once in wp-config.php. Since I already had a line with WP_REDIS_IGNORED_GROUPS, I now changed it to this:
I can't tell yet if it perhaps solved the issues now. I do wonder if I have to use 'WPML_TM_ICL_Translations::translations' or 'WPML_TM_ICL_Translations'?
Can you please exclude 'WPML_TM_ICL_Translations' and 'sitepress-multilingual-cms' from Redis and see if it fixes the issue you are having?
If this does not helps, will it be possible for you setup a staging site on your server then try to replicate the issue there as well and provide the site details ( wp-admin and FTP ) for us to further troubleshoot the issue?
I have enabled a private reply for you to share the details securely.
So far, issue 1 seems a bit less frequent. Issue 2 is still present. Issue 3 I don't know yet.
There's no way to clearly reproduce these issues. It intermittently comes and goes. I guess if the cache was about to refresh anyway, there's no issue. If it happens to take a while until the next purge, we see these issues. That's my guess.
Your developers should be able to say what exactly needs to be excluded, right?
Our team have been looking into similar issues and details from your case could help us know more about the issue and hopefully resolve it soon.
For our team to take a closer look at the issue, would you please mind sharing temporary access (WP-Admin and FTP) to your site?
Preferably to a test site where the problem has been replicated.
I have enabled a private reply for you to share the credentials securely, which means only you and I have access to it.
IMPORTANT: Please take a complete backup of the site first to avoid data loss.
✙ I would additionally need your permission to make a copy of the site with plugins like Duplicator and deploy it in our test machine to test the issue further.
I have forwarded the details to our team now. Lets wait for troubleshooting and further tests from our team.
I must say however that a conclusive answer/resolution or update might take some time though. Since this is an edge case and hard to replicate and test it could take our team some time to test it completely and find the cause.
I will send you an update here as soon as I have an update from the team. Thank you for your co-operation and patience in the mean time.
I'm not sure if this is an edge cache. Many sites are hosted on Cloudways and the "challenges" with Object Cache Pro and WPML are well-known and reported by others too here in the support forum.
Thank you for the details. Yes, based on the documentation it looks like your latest change you made in non_persistent_groups for WP_REDIS_CONFIG is better for Object Cache Pro plugin.
Lets wait for our team's troubleshooting for further details. Also, in the mean time if you happen to see any result or issue update due to the changes you made now or do any further tests or get any result updates please let me know.
After a few days, I can conclude that issues 1 and 3 are not solved with this new configuration. Issue 2 was not tested yet.
For now, we disable Object Cache Pro to work with WPML in an efficient manner. We then enable it again when the translation manager is done. That's kind of a hassle because the manager has no admin access, so I need to do that.
I hope your developers can look into this. This might not even be a bug that requires a code fix. We probably only need to know which database queries are affected, and which exclusions/persistent groups need to be configured to bypass the cache.
Thank you for the updates and sorry for the inconveniences caused to you.
Our second tier team are having a hard time trying to replicate the issue on our test environment so we might need a few more info from you down the road. Also in the mean time while our second tier are still working on it and trying to find a proper way to replicate the issue exactly if you could do the following it will help us test the issue further:
- Deactivate all non wpml plugins and activate a default them in the dev/test site.
- If you still see the issue share with us the exact steps on how to test/see the issue.
- If the issue is resolved, activate original plugins and theme one at a time and let us know which plugin/theme exactly starts the issue again.
I just spent quite a while to try and reproduce this on purpose. I even tried different user roles. Everything worked fine. That's the issue here: it works fine for some time, then all of a sudden the issues I mentioned occur again and the translation manager asks me to disable Object Cache Pro to solve it. I can't predict when and why the issues occur.
That's why I think it's more important to sort out which WPML database queries never need to be cached, and focus on that rather than trying to reproduce this. I can't understand how the theme or other plugins would cause this. Not saying that it's impossible but it seems unlikely for this issue.
I will keep testing though, and if I have more details I will let you know for sure.
I may have found something that helps you to figure this out. Here's another issue with Object Cache Pro:
1. Add a new user to WordPress (Subscriber role).
2. Add the new user as a translator to WPML.
3. Go to WPML Translation Management > Translation Basket and try to select the new translator under "Choose translator or Translation Service". The new translator is not listed. After 20-30 minutes it was still not listed. Then I flushed the cache of Object Cache Pro and that solved it immediately.
I think this is another example of a WPML database query that should bypass the cache, or if adding a translator it should flush that part of the cache if possible. I'm not sure what's best.
Either way, this might be easier to reproduce and hopefully leads to a solution.