Skip Navigation

[Closed] Conflict between Toolset and WPML

This is the technical support forum for Toolset - a suite of plugins for developing WordPress sites without writing PHP.

Everyone can read this forum, but only Toolset clients can post in it. Toolset support works 6 days per week, 19 hours per day.

Sun Mon Tue Wed Thu Fri Sat
- 9:00 – 12:00 9:00 – 12:00 9:00 – 12:00 9:00 – 12:00 9:00 – 12:00 -
- 13:00 – 18:00 13:00 – 18:00 13:00 – 18:00 13:00 – 18:00 13:00 – 18:00 -

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

This topic contains 6 replies, has 2 voices.

Last updated by Mateus Getulio 4 months, 2 weeks ago.

Assisted by: Mateus Getulio.

Author
Posts
#2711325
Capture874.JPG
Capture873.JPG
Capture872.JPG

Last week I had some issues with the content templates, which was resolved in this ticket: https://toolset.com/forums/topic/content-templates-are-do-not-load-in-the-back-end-very-slow-loading/

But now I have another issues that may be related. To solve the issue in that ticket I needed to roll back to Version 6.5.5. Since I have done that I have issues with WPML. I contacted their team and they told me that Toolset is causing the issue. Please find the debug info below:

[05-Aug-2024 09:35:09 UTC] PHP Deprecated: Return type of PMTI_Config::getIterator() should either be compatible with IteratorAggregate::getIterator(): Traversable, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/u361682284/domains/bracewijzer.nl/public_html/wp-content/plugins/wpai-toolset-types-addon/classes/config.php on line 89
[05-Aug-2024 09:35:10 UTC] PHP Deprecated: Return type of PMTI_Config::getIterator() should either be compatible with IteratorAggregate::getIterator(): Traversable, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/u361682284/domains/bracewijzer.nl/public_html/wp-content/plugins/wpai-toolset-types-addon/classes/config.php on line 89
[05-Aug-2024 09:35:11 UTC] PHP Deprecated: Return type of PMTI_Config::getIterator() should either be compatible with IteratorAggregate::getIterator(): Traversable, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/u361682284/domains/bracewijzer.nl/public_html/wp-content/plugins/wpai-toolset-types-addon/classes/config.php on line 89
[05-Aug-2024 09:35:16 UTC] PHP Deprecated: Return type of PMTI_Config::getIterator() should either be compatible with IteratorAggregate::getIterator(): Traversable, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/u361682284/domains/bracewijzer.nl/public_html/wp-content/plugins/wpai-toolset-types-addon/classes/config.php on line 89
[05-Aug-2024 09:35:26 UTC] PHP Deprecated: Return type of PMTI_Config::getIterator() should either be compatible with IteratorAggregate::getIterator(): Traversable, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/u361682284/domains/bracewijzer.nl/public_html/wp-content/plugins/wpai-toolset-types-addon/classes/config.php on line 89
[05-Aug-2024 09:35:28 UTC] PHP Deprecated: rtrim(): Passing null to parameter #1 ($string) of type string is deprecated in /home/u361682284/domains/bracewijzer.nl/public_html/wp-includes/formatting.php on line 2831
[05-Aug-2024 09:35:28 UTC] PHP Deprecated: rtrim(): Passing null to parameter #1 ($string) of type string is deprecated in /home/u361682284/domains/bracewijzer.nl/public_html/wp-includes/formatting.php on line 2831
[05-Aug-2024 09:35:28 UTC] PHP Deprecated: rtrim(): Passing null to parameter #1 ($string) of type string is deprecated in /home/u361682284/domains/bracewijzer.nl/public_html/wp-includes/formatting.php on line 2831
[05-Aug-2024 09:35:28 UTC] PHP Deprecated: rtrim(): Passing null to parameter #1 ($string) of type string is deprecated in /home/u361682284/domains/bracewijzer.nl/public_html/wp-includes/formatting.php on line 2831
[05-Aug-2024 09:35:30 UTC] PHP Deprecated: Return type of PMTI_Config::getIterator() should either be compatible with IteratorAggregate::getIterator(): Traversable, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/u361682284/domains/bracewijzer.nl/public_html/wp-content/plugins/wpai-toolset-types-addon/classes/config.php on line 89
[05-Aug-2024 09:35:31 UTC] PHP Deprecated: Return type of PMTI_Config::getIterator() should either be compatible with IteratorAggregate::getIterator(): Traversable, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/u361682284/domains/bracewijzer.nl/public_html/wp-content/plugins/wpai-toolset-types-addon/classes/config.php on line 89
[05-Aug-2024 09:35:33 UTC] PHP Deprecated: Return type of PMTI_Config::getIterator() should either be compatible with IteratorAggregate::getIterator(): Traversable, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/u361682284/domains/bracewijzer.nl/public_html/wp-content/plugins/wpai-toolset-types-addon/classes/config.php on line 89
[05-Aug-2024 09:35:35 UTC] PHP Deprecated: Return type of PMTI_Config::getIterator() should either be compatible with IteratorAggregate::getIterator(): Traversable, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/u361682284/domains/bracewijzer.nl/public_html/wp-content/plugins/wpai-toolset-types-addon/classes/config.php on line 89
[05-Aug-2024 09:35:36 UTC] PHP Deprecated: Return type of PMTI_Config::getIterator() should either be compatible with IteratorAggregate::getIterator(): Traversable, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/u361682284/domains/bracewijzer.nl/public_html/wp-content/plugins/wpai-toolset-types-addon/classes/config.php on line 89
[05-Aug-2024 09:35:46 UTC] PHP Deprecated: Return type of PMTI_Config::getIterator() should either be compatible with IteratorAggregate::getIterator(): Traversable, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/u361682284/domains/bracewijzer.nl/public_html/wp-content/plugins/wpai-toolset-types-addon/classes/config.php on line 89
[05-Aug-2024 09:35:48 UTC] PHP Deprecated: rtrim(): Passing null to parameter #1 ($string) of type string is deprecated in /home/u361682284/domains/bracewijzer.nl/public_html/wp-includes/formatting.php on line 2831
[05-Aug-2024 09:35:48 UTC] PHP Deprecated: rtrim(): Passing null to parameter #1 ($string) of type string is deprecated in /home/u361682284/domains/bracewijzer.nl/public_html/wp-includes/formatting.php on line 2831
[05-Aug-2024 09:35:48 UTC] PHP Deprecated: rtrim(): Passing null to parameter #1 ($string) of type string is deprecated in /home/u361682284/domains/bracewijzer.nl/public_html/wp-includes/formatting.php on line 2831
[05-Aug-2024 09:35:48 UTC] PHP Deprecated: rtrim(): Passing null to parameter #1 ($string) of type string is deprecated in /home/u361682284/domains/bracewijzer.nl/public_html/wp-includes/formatting.php on line 2831
[05-Aug-2024 09:35:49 UTC] PHP Deprecated: Return type of PMTI_Config::getIterator() should either be compatible with IteratorAggregate::getIterator(): Traversable, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/u361682284/domains/bracewijzer.nl/public_html/wp-content/plugins/wpai-toolset-types-addon/classes/config.php on line 89
[05-Aug-2024 09:35:50 UTC] PHP Deprecated: Return type of PMTI_Config::getIterator() should either be compatible with IteratorAggregate::getIterator(): Traversable, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/u361682284/domains/bracewijzer.nl/public_html/wp-content/plugins/wpai-toolset-types-addon/classes/config.php on line 89
[05-Aug-2024 09:35:51 UTC] PHP Deprecated: Return type of PMTI_Config::getIterator() should either be compatible with IteratorAggregate::getIterator(): Traversable, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/u361682284/domains/bracewijzer.nl/public_html/wp-content/plugins/wpai-toolset-types-addon/classes/config.php on line 89
[05-Aug-2024 09:35:53 UTC] PHP Deprecated: Return type of PMTI_Config::getIterator() should either be compatible with IteratorAggregate::getIterator(): Traversable, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/u361682284/domains/bracewijzer.nl/public_html/wp-content/plugins/wpai-toolset-types-addon/classes/config.php on line 89
[05-Aug-2024 09:35:54 UTC] PHP Deprecated: Return type of PMTI_Config::getIterator() should either be compatible with IteratorAggregate::getIterator(): Traversable, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/u361682284/domains/bracewijzer.nl/public_html/wp-content/plugins/wpai-toolset-types-addon/classes/config.php on line 89
[05-Aug-2024 09:35:55 UTC] PHP Deprecated: Return type of PMTI_Config::getIterator() should either be compatible with IteratorAggregate::getIterator(): Traversable, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/u361682284/domains/bracewijzer.nl/public_html/wp-content/plugins/wpai-toolset-types-addon/classes/config.php on line 89
[05-Aug-2024 09:35:55 UTC] PHP Deprecated: Return type of PMTI_Config::getIterator() should either be compatible with IteratorAggregate::getIterator(): Traversable, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/u361682284/domains/bracewijzer.nl/public_html/wp-content/plugins/wpai-toolset-types-addon/classes/config.php on line 89
[05-Aug-2024 09:35:57 UTC] PHP Deprecated: Return type of PMTI_Config::getIterator() should either be compatible with IteratorAggregate::getIterator(): Traversable, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/u361682284/domains/bracewijzer.nl/public_html/wp-content/plugins/wpai-toolset-types-addon/classes/config.php on line 89
[05-Aug-2024 09:35:57 UTC] PHP Fatal error: Uncaught InvalidArgumentException in /home/u361682284/domains/bracewijzer.nl/public_html/wp-content/plugins/toolset-blocks/vendor/toolset/toolset-common/inc/m2m/DatabaseLayer/RelationshipQuery/Condition/type.php:28
Stack trace:
#0 /home/u361682284/domains/bracewijzer.nl/public_html/wp-content/plugins/toolset-blocks/vendor/toolset/toolset-common/inc/m2m/DatabaseLayer/RelationshipQuery/condition_factory.php(88): Toolset_Relationship_Query_Condition_Type->__construct()
#1 /home/u361682284/domains/bracewijzer.nl/public_html/wp-content/plugins/toolset-blocks/vendor/toolset/toolset-common/inc/m2m/DatabaseLayer/RelationshipQuery/RelationshipQuery.php(439): Toolset_Relationship_Query_Condition_Factory->has_type()
#2 /home/u361682284/domains/bracewijzer.nl/public_html/wp-content/plugins/toolset-blocks/vendor/toolset/toolset-common/inc/m2m/DatabaseLayer/RelationshipQuery/RelationshipQuery.php(425): OTGS\Toolset\Common\Relationships\DatabaseLayer\RelationshipQuery\RelationshipQuery->has_domain_and_type()
#3 /home/u361682284/domains/bracewijzer.nl/public_html/wp-content/plugins/toolset-blocks/vendor/toolset/toolset-common/inc/m2m/DatabaseLayer/Version2/Persistence/WpmlTranslationUpdate/WpmlTranslationUpdateHandler.php(189): OTGS\Toolset\Common\Relationships\DatabaseLayer\RelationshipQuery\RelationshipQuery->has_domain_and_type()
#4 /home/u361682284/domains/bracewijzer.nl/public_html/wp-content/plugins/toolset-blocks/vendor/toolset/toolset-common/inc/m2m/DatabaseLayer/Version2/Persistence/WpmlTranslationUpdate/WpmlTranslationUpdateHandler.php(105): OTGS\Toolset\Common\Relationships\DatabaseLayer\Version2\Persistence\WpmlTranslationUpdate\WpmlTranslationUpdateHandler->one_element_action()
#5 /home/u361682284/domains/bracewijzer.nl/public_html/wp-content/plugins/toolset-blocks/vendor/toolset/toolset-common/inc/m2m/MainController.php(377): OTGS\Toolset\Common\Relationships\DatabaseLayer\Version2\Persistence\WpmlTranslationUpdate\WpmlTranslationUpdateHandler->on_wpml_translation_update()
#6 /home/u361682284/domains/bracewijzer.nl/public_html/wp-includes/class-wp-hook.php(324): OTGS\Toolset\Common\Relationships\MainController->OTGS\Toolset\Common\Relationships\{closure}()
#7 /home/u361682284/domains/bracewijzer.nl/public_html/wp-includes/class-wp-hook.php(348): WP_Hook->apply_filters()
#8 /home/u361682284/domains/bracewijzer.nl/public_html/wp-includes/plugin.php(517): WP_Hook->do_action()
#9 /home/u361682284/domains/bracewijzer.nl/public_html/wp-content/plugins/sitepress-multilingual-cms/classes/core-abstract-classes/class-wpml-set-language.php(197): do_action()
#10 /home/u361682284/domains/bracewijzer.nl/public_html/wp-content/plugins/sitepress-multilingual-cms/classes/core-abstract-classes/class-wpml-set-language.php(79): WPML_Set_Language->change_translation_of()
#11 /home/u361682284/domains/bracewijzer.nl/public_html/wp-content/plugins/sitepress-multilingual-cms/sitepress.class.php(1534): WPML_Set_Language->set()
#12 /home/u361682284/domains/bracewijzer.nl/public_html/wp-content/plugins/sitepress-multilingual-cms/inc/translation-management/translation-management.class.php(1382): SitePress->set_element_language_details()
#13 /home/u361682284/domains/bracewijzer.nl/public_html/wp-content/plugins/sitepress-multilingual-cms/classes/class-wpml-translation-job-factory.php(112): TranslationManagement->send_jobs()
#14 /home/u361682284/domains/bracewijzer.nl/public_html/wp-content/plugins/sitepress-multilingual-cms/classes/jobs/Manual.php(164): WPML_Translation_Job_Factory->create_local_job()
#15 /home/u361682284/domains/bracewijzer.nl/public_html/wp-content/plugins/sitepress-multilingual-cms/classes/jobs/Manual.php(43): WPML\TM\Jobs\Manual->createLocalJob()
#16 /home/u361682284/domains/bracewijzer.nl/public_html/wp-content/plugins/sitepress-multilingual-cms/vendor/wpml/fp/core/Either.php(207): WPML\TM\Jobs\Manual->createOrReuse()
#17 /home/u361682284/domains/bracewijzer.nl/public_html/wp-content/plugins/sitepress-multilingual-cms/classes/editor/Editor.php(92): WPML\FP\Right->map()
#18 /home/u361682284/domains/bracewijzer.nl/public_html/wp-content/plugins/sitepress-multilingual-cms/classes/menu/translation-queue/class-wpml-translations-queue.php(52): WPML\TM\Editor\Editor->open()
#19 /home/u361682284/domains/bracewijzer.nl/public_html/wp-includes/class-wp-hook.php(324): WPML_Translations_Queue->load()
#20 /home/u361682284/domains/bracewijzer.nl/public_html/wp-includes/class-wp-hook.php(348): WP_Hook->apply_filters()
#21 /home/u361682284/domains/bracewijzer.nl/public_html/wp-includes/plugin.php(517): WP_Hook->do_action()
#22 /home/u361682284/domains/bracewijzer.nl/public_html/wp-admin/includes/class-wp-screen.php(424): do_action()
#23 /home/u361682284/domains/bracewijzer.nl/public_html/wp-admin/includes/screen.php(243): WP_Screen->set_current_screen()
#24 /home/u361682284/domains/bracewijzer.nl/public_html/wp-admin/admin.php(212): set_current_screen()
#25 {main}
thrown in /home/u361682284/domains/bracewijzer.nl/public_html/wp-content/plugins/toolset-blocks/vendor/toolset/toolset-common/inc/m2m/DatabaseLayer/RelationshipQuery/Condition/type.php on line 28
[05-Aug-2024 09:36:00 UTC] PHP Deprecated: Return type of PMTI_Config::getIterator() should either be compatible with IteratorAggregate::getIterator(): Traversable, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/u361682284/domains/bracewijzer.nl/public_html/wp-content/plugins/wpai-toolset-types-addon/classes/config.php on line 89
[05-Aug-2024 09:36:03 UTC] PHP Deprecated: Return type of PMTI_Config::getIterator() should either be compatible with IteratorAggregate::getIterator(): Traversable, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/u361682284/domains/bracewijzer.nl/public_html/wp-content/plugins/wpai-toolset-types-addon/classes/config.php on line 89
[05-Aug-2024 09:36:11 UTC] PHP Deprecated: Return type of PMTI_Config::getIterator() should either be compatible with IteratorAggregate::getIterator(): Traversable, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/u361682284/domains/bracewijzer.nl/public_html/wp-content/plugins/wpai-toolset-types-addon/classes/config.php on line 89
[05-Aug-2024 09:36:13 UTC] PHP Deprecated: Return type of PMTI_Config::getIterator() should either be compatible with IteratorAggregate::getIterator(): Traversable, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/u361682284/domains/bracewijzer.nl/public_html/wp-content/plugins/wpai-toolset-types-addon/classes/config.php on line 89

Here is the ticket I opened in WPML for background:

---------------------------------------
Background of the issue:
I am trying to translate products from one language to another on my site hidden link. When I use the + icon next to the product, it creates a completely new product and the two products do not become linked. I tried this both with and without the WooCommerce Multilingual & Multicurrency plugin. I downgraded WordPress to Version 6.5.5 due to issues with the Toolset plugin.

Symptoms:
When using the WooCommerce Multilingual & Multicurrency functionality, I get this error: 'There has been a critical error on this website. Please check your site admin email inbox for instructions.'

Questions:
Could downgrading WordPress to Version 6.5.5 cause the issue?
Why are the products not linking when I use the + icon to translate them?
How can I resolve the critical error when using the WooCommerce Multilingual & Multicurrency plugin?

-------------------------------------------

After I activated Debug mode and send the debug log the supporter from WPML refered me to the Toolset team.

Can you please let me know how to resolve the issue?

#2711402

Mateus Getulio
Supporter

Languages: English (English )

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

Hello,

I would like to request temporary access (wp-admin and FTP) to your site to take better look at the issue. You will find the needed fields for this below the comment area when you log in to leave your next reply. The information you will enter is private which means only you and I can see and have access to it.

Our Debugging Procedures

I will be checking various settings in the backend to see if the issue can be resolved. Although I won't be making changes that affect the live site, it is still good practice to backup the site before providing us access. In the event that we do need to debug the site further, I will duplicate the site and work in a separate, local development environment to avoid affecting the live site.

Privacy and Security Policy

We have strict policies regarding privacy and access to your information. Please see:
https://toolset.com/purchase/support-policy/privacy-and-security-when-providing-debug-information-for-support/

**IMPORTANT**

- Please make a backup of site files and database before providing us access.
- If you do not see the wp-admin/FTP fields this means your post & website login details will be made PUBLIC. DO NOT post your website details unless you see the required wp-admin/FTP fields. If you do not, please ask me to enable the private box. The private box looks like this: hidden link

Please, let me know if you need any additional details. Have a nice day.

#2711703

Mateus Getulio
Supporter

Languages: English (English )

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

Hello Tim,

Thank you for sharing that information.

I debugged this but so far I couldn't find the culprit of the issue.

I'd like to ask permission to make a copy/staging version of your site where I can debug this closely without affecting the live site.

I'll make sure to delete this copy as soon as we get this issue fixed.

I'm afraid of debugging directly on the live site and cause issues to your visitors. Also, it is important to test a different setup as part of the troubleshooting.

Thank you, please let us know.
Mateus

#2715644

Hi Mateus,

Yes, sure. Please feel free to make a staging version of the website!

I hope you can find the issue!

#2717092

Mateus Getulio
Supporter

Languages: English (English )

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

Hello Tim,

While I've been able to replicate the issue for the product Malleoaction, that doesn't seem to be happening to other products.

But it seems like you mentioned that there are other products with the same error as well.

Can you please give me an example of another product that we can replicate the issue? This will help us get more information on the error.

Thank you for your help,
Mateus

#2717685
Capture875.JPG

Hi Mateus,

Yes, on the ''Products'' tab in WordPress the white screen only appears on the product Malleoaction. But if you try to add a Flemish translation and overwrite it with Dutch content it is not working.

I understood that another good way to manage the translations is by using the ''WooCommerce Multilingual & Multicurrency'' plugin. When I go to ''WooCommerce'' -> ''WooCommerce Multilingual & Multicurrency'' and I try to add the translation I get the white error screen on every single product.

The issue is, no matter what I do, I cannot setup duplicates in WPML. According to the WPML team this is due to an error that is caused by Toolset.

I hope you can find the issue. Just let me know if you need more information.

#2717860

Mateus Getulio
Supporter

Languages: English (English )

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

Hello Tim,

I debugged this locally and I believe to have found a solution.

I also created a staging site that can be accessed here: hidden link in order to demonstrate it to you. After I performed the steps bellow, I can no longer reproduce the issue with the blank screen when adding translations, please check: hidden link

Can you please test the staging site to confirm that the error is fixed and then repeat the steps in the live site to try to fix it in there as well?

1. If you haven't one yet, please make a backup of your Database.
2. Go to WPML -> Support -> Troubleshooting (link).
3. Once on the troubleshooting screen press the following buttons(please do not click on 'Reset languages' given that you have a custom language) and check if it helps.
Press each button at a time and wait for the process to complete.
- 'Disable cache for language switcher templates'
- 'Clear the cache in WPML'
- 'Remove ghost entries from the translation tables'
- 'Fix element_type collation'
- 'Set language information'
- 'Assign translation status to duplicated content'
- 'Set language information'
- 'Fix terms count'
- 'Fix post type assignment for translations'
- 'Synchronize posts taxonomies' > 'Products'
4.Please Go to Woocommerce >> Woocommerce Multilingual >> Settings tab >> Troubleshooting link (bottom right) > Select the below options:
- 'Sync products variations'
- 'Fix translated variations relationships'
- 'Update Products Count'
- 'Sync product categories'
- 'Sync product stock quantity and status'

Thank you, please let me know how that goes.
Mateus

The topic ‘[Closed] Conflict between Toolset and WPML’ is closed to new replies.