Skip to content Skip to sidebar

This thread is resolved. Here is a description of the problem and solution.

Problem:
The client was experiencing persistent loading and sporadic 404 errors on translated pages of their website after using WPML. The issues included pages not displaying after translation and random 404 errors when switching languages.
Solution:
We recommended the following steps to troubleshoot and resolve the issues:
1. Ensure all pages are correctly translated by making a minor edit in the original language, saving it, and then updating the translation.
2. Check and flush cache settings, as stale cache data might lead to pages not loading correctly.
3. Deactivate and reactivate plugins to identify any that might be causing conflicts, particularly focusing on the 'Razorpay for WooCommerce' and 'Categories Images' plugins, which were found to be problematic.
4. Switch the language URL format settings in WPML to see if this affects the 404 errors.
5. Increase the WordPress memory limit to ensure sufficient resources are available for operations.
6. If issues persist, especially with specific plugins like 'WooCommerce PayPal Payments', deactivate them to check if the problem resolves.

If these steps do not resolve the issues, or if the solution seems outdated or not applicable to your case, we highly recommend checking related known issues at https://wpml.org/known-issues/, verifying the version of the permanent fix, and confirming that you have installed the latest versions of themes and plugins. For further assistance, please open a new support ticket at WPML support forum.

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.

Tagged: 

This topic contains 42 replies, has 0 voices.

Last updated by Carlos Rojas 1 day, 20 hours ago.

Assisted by: Carlos Rojas.

Author Posts
August 26, 2025 at 1:42 pm #17348585

kamal-kishorS-2

Hi Carlos,

Thanks for diagnose the problem. I have activated the plugin one-by-one and find the Plugin Razorpay for woocommerce. Since this plugin is required for payment gateway. Pls suggest if there is any known issue with this plugin. I have also update the plugin but still it is creating problem.

Regards
Kamal

Screenshot 2025-08-26 at 7.07.42 PM.png
August 27, 2025 at 5:38 am #17349903

kamal-kishorS-2

Hi Carlos,

While checking, it has been identified that Brand taxonomy has been translated but translated page is returning 404 error. Can you pls guide how to fix this.

English URL: hidden link
French: hidden link

Kindly suggest,

Regards,
Kamal

Screenshot 2025-08-27 at 8.44.08 AM.png
August 27, 2025 at 8:28 am #17350779

Carlos Rojas
WPML Supporter since 03/2017

Languages: English (English ) Spanish (Español )

Timezone: Europe/Madrid (GMT+02:00)

Hi Kamal,

1.- The 'Razorpay for WooCommerce' plugin hasn't been tested by our compatibility team, which means that it is not listed as compatible with WPML. You must contact the plugin's authors and ask them if they are compatible with WPML and, if so, what are the steps to set it up correctly in a multilingual site.

2.- Deactivating the 'Categories Images' plugin solves the 404 problem with the brand categories in the secondary language

August 27, 2025 at 9:07 am #17350884

kamal-kishorS-2

Hi Carlos,
Post deactivating the "Category Images" plugin, 404 error still exist.

I have also make this site live on domain hidden link. Once we are able to fix the issue here, i will update the production site too.

Regards,
Kamal

Screenshot 2025-08-27 at 2.32.32 PM.jpeg
Screenshot 2025-08-27 at 2.32.02 PM.jpeg
August 27, 2025 at 10:24 am #17351368

Carlos Rojas
WPML Supporter since 03/2017

Languages: English (English ) Spanish (Español )

Timezone: Europe/Madrid (GMT+02:00)

Hi Kamal,

Please check the attached image

FireShot Capture 154 - Namah Ropes - Namah International - [cyan-crow-394025.hostingersite.com].png
August 27, 2025 at 12:54 pm #17351933

kamal-kishorS-2

Hi Carlos,

Yes, it is opening now. Do we need to do anything more post deactivating the "Category Images" plugin? I have deactivated the plugin on production site (hidden link) and clear all the cache but still getting 404 error on production site.
hidden link

The login URL is: hidden link
Rest credential is same provided to you.

Pls suggest.

Regards
Kamal

Screenshot 2025-08-27 at 2.32.02 PM.jpeg
August 27, 2025 at 1:00 pm #17351959

Carlos Rojas
WPML Supporter since 03/2017

Languages: English (English ) Spanish (Español )

Timezone: Europe/Madrid (GMT+02:00)

Hi Kamal,

I followed the same steps in the production, and the brand appeared after flushing the CDN cache: hidden link

Note: Please don't forget to increase the WordPress memory limit.

August 27, 2025 at 1:13 pm #17351976

kamal-kishorS-2

Hi,
I tried and open 1 page once and all 4 language page of hidden link is comming as 404 error. I tried in incognito windows too.

Regards,
Kamal

Screenshot 2025-08-27 at 8.44.08 AM.png
August 28, 2025 at 5:07 am #17353257

kamal-kishorS-2

Hi Carlos,
Since it was creating the issue and was not required for the business, we have deleted the Brand Taxonomy.

Pls suggest,

Regards
Kamal

August 28, 2025 at 7:01 am #17353505

kamal-kishorS-2

Hi Carlos,
While checking the error log, i have found that plugin is generating fatal error.
The details are:
[28-Aug-2025 06:52:19 UTC] PHP Fatal error: Uncaught Error: Call to a member function get_setting() on null in /home/ivgrudj/public_html/wp-content/plugins/woocommerce-multilingual/classes/multi-currency/payment-gateways/class-wcml-currencies-payment-gateways.php:147
Stack trace:
#0 /home/ivgrudj/public_html/wp-includes/class-wp-hook.php(324): WCML_Currencies_Payment_Gateways->filter_gateway_description()
#1 /home/ivgrudj/public_html/wp-includes/plugin.php(205): WP_Hook->apply_filters()
#2 /home/ivgrudj/public_html/wp-content/plugins/woocommerce/includes/abstracts/abstract-wc-payment-gateway.php(385): apply_filters()
#3 /home/ivgrudj/public_html/wp-content/plugins/woocommerce-paypal-payments/modules/ppcp-settings/src/Data/Definition/PaymentMethodsDefinition.php(110): WC_Payment_Gateway->get_description()
#4 /home/ivgrudj/public_html/wp-content/plugins/woocommerce-paypal-payments/modules/ppcp-settings/src/Data/Definition/PaymentMethodsDefinition.php(87): WooCommerce\PayPalCommerce\Settings\Data\Definition\PaymentMethodsDefinition->build_method_definition()
#5 /home/ivgrudj/public_html/wp-content/plugins/woocommerce-paypal-payments/modules/ppcp-settings/src/Endpoint/PaymentRestEndpoint.php(91): WooCommerce\PayPalCommerce\Settings\Data\Definition\PaymentMethodsDefinition->get_definitions()
#6 /home/ivgrudj/public_html/wp-content/plugins/woocommerce-paypal-payments/modules/ppcp-settings/src/Endpoint/PaymentRestEndpoint.php(124): WooCommerce\PayPalCommerce\Settings\Endpoint\PaymentRestEndpoint->gateways()
#7 /home/ivgrudj/public_html/wp-content/plugins/woocommerce-paypal-payments/modules/ppcp-settings/services.php(267): WooCommerce\PayPalCommerce\Settings\Endpoint\PaymentRestEndpoint->get_details()
#8 /home/ivgrudj/public_html/wp-content/plugins/woocommerce-paypal-payments/lib/packages/Inpsyde/Modularity/Container/ReadOnlyContainer.php(58): WooCommerce\PayPalCommerce\Settings\SettingsModule::WooCommerce\PayPalCommerce\Settings\{closure}()
#9 /home/ivgrudj/public_html/wp-content/plugins/woocommerce-paypal-payments/modules/ppcp-settings/services.php(289): WooCommerce\PayPalCommerce\Vendor\Inpsyde\Modularity\Container\ReadOnlyContainer->get()
#10 /home/ivgrudj/public_html/wp-content/plugins/woocommerce-paypal-payments/lib/packages/Inpsyde/Modularity/Container/ReadOnlyContainer.php(58): WooCommerce\PayPalCommerce\Settings\SettingsModule::WooCommerce\PayPalCommerce\Settings\{closure}()
#11 /home/ivgrudj/public_html/wp-content/plugins/woocommerce-paypal-payments/modules/ppcp-settings/services.php(241): WooCommerce\PayPalCommerce\Vendor\Inpsyde\Modularity\Container\ReadOnlyContainer->get()
#12 /home/ivgrudj/public_html/wp-content/plugins/woocommerce-paypal-payments/lib/packages/Inpsyde/Modularity/Container/ReadOnlyContainer.php(58): WooCommerce\PayPalCommerce\Settings\SettingsModule::WooCommerce\PayPalCommerce\Settings\{closure}()
#13 /home/ivgrudj/public_html/wp-content/plugins/woocommerce-paypal-payments/modules/ppcp-settings/services.php(235): WooCommerce\PayPalCommerce\Vendor\Inpsyde\Modularity\Container\ReadOnlyContainer->get()
#14 /home/ivgrudj/public_html/wp-content/plugins/woocommerce-paypal-payments/lib/packages/Inpsyde/Modularity/Container/ReadOnlyContainer.php(58): WooCommerce\PayPalCommerce\Settings\SettingsModule::WooCommerce\PayPalCommerce\Settings\{closure}()
#15 /home/ivgrudj/public_html/wp-content/plugins/woocommerce-paypal-payments/modules/ppcp-settings/src/SettingsModule.php(175): WooCommerce\PayPalCommerce\Vendor\Inpsyde\Modularity\Container\ReadOnlyContainer->get()
#16 /home/ivgrudj/public_html/wp-includes/class-wp-hook.php(324): WooCommerce\PayPalCommerce\Settings\SettingsModule::WooCommerce\PayPalCommerce\Settings\{closure}()
#17 /home/ivgrudj/public_html/wp-includes/class-wp-hook.php(348): WP_Hook->apply_filters()
#18 /home/ivgrudj/public_html/wp-includes/plugin.php(517): WP_Hook->do_action()
#19 /home/ivgrudj/public_html/wp-includes/rest-api.php(628): do_action()
#20 /home/ivgrudj/public_html/wp-includes/rest-api.php(586): rest_get_server()
#21 /home/ivgrudj/public_html/wp-includes/rest-api.php(2973): rest_do_request()
#22 [internal function]: rest_preload_api_request()
#23 /home/ivgrudj/public_html/wp-content/plugins/google-site-kit/includes/Core/Assets/Assets.php(407): array_reduce()
#24 [internal function]: Google\Site_Kit\Core\Assets\Assets->Google\Site_Kit\Core\Assets\{closure}()
#25 /home/ivgrudj/public_html/wp-content/plugins/google-site-kit/includes/Core/Assets/Script_Data.php(51): call_user_func()
#26 [internal function]: Google\Site_Kit\Core\Assets\Script_Data->Google\Site_Kit\Core\Assets\{closure}()
#27 /home/ivgrudj/public_html/wp-content/plugins/google-site-kit/includes/Core/Assets/Asset.php(130): call_user_func()
#28 /home/ivgrudj/public_html/wp-content/plugins/google-site-kit/includes/Core/Assets/Assets.php(1068): Google\Site_Kit\Core\Assets\Asset->before_print()
#29 /home/ivgrudj/public_html/wp-content/plugins/google-site-kit/includes/Core/Assets/Assets.php(1077): Google\Site_Kit\Core\Assets\Assets->run_before_print_callbacks()
#30 /home/ivgrudj/public_html/wp-content/plugins/google-site-kit/includes/Core/Assets/Assets.php(1077): Google\Site_Kit\Core\Assets\Assets->run_before_print_callbacks()
#31 /home/ivgrudj/public_html/wp-content/plugins/google-site-kit/includes/Core/Assets/Assets.php(1077): Google\Site_Kit\Core\Assets\Assets->run_before_print_callbacks()
#32 /home/ivgrudj/public_html/wp-content/plugins/google-site-kit/includes/Core/Assets/Assets.php(172): Google\Site_Kit\Core\Assets\Assets->run_before_print_callbacks()
#33 /home/ivgrudj/public_html/wp-includes/class-wp-hook.php(324): Google\Site_Kit\Core\Assets\Assets->Google\Site_Kit\Core\Assets\{closure}()
#34 /home/ivgrudj/public_html/wp-includes/class-wp-hook.php(348): WP_Hook->apply_filters()
#35 /home/ivgrudj/public_html/wp-includes/plugin.php(517): WP_Hook->do_action()
#36 /home/ivgrudj/public_html/wp-includes/script-loader.php(2251): do_action()
#37 /home/ivgrudj/public_html/wp-includes/class-wp-hook.php(324): wp_print_head_scripts()
#38 /home/ivgrudj/public_html/wp-includes/class-wp-hook.php(348): WP_Hook->apply_filters()
#39 /home/ivgrudj/public_html/wp-includes/plugin.php(517): WP_Hook->do_action()
#40 /home/ivgrudj/public_html/wp-includes/general-template.php(3192): do_action()
#41 /home/ivgrudj/public_html/wp-content/themes/steeler/header.php(15): wp_head()
#42 /home/ivgrudj/public_html/wp-includes/template.php(810): require_once('/home/ivgrudj/p...')
#43 /home/ivgrudj/public_html/wp-includes/template.php(745): load_template()
#44 /home/ivgrudj/public_html/wp-includes/general-template.php(48): locate_template()
#45 /home/ivgrudj/public_html/wp-content/themes/steeler/page.php(13): get_header()
#46 /home/ivgrudj/public_html/wp-includes/template-loader.php(106): include('/home/ivgrudj/p...')
#47 /home/ivgrudj/public_html/wp-blog-header.php(19): require_once('/home/ivgrudj/p...')
#48 /home/ivgrudj/public_html/index.php(17): require('/home/ivgrudj/p...')
#49 {main}
thrown in /home/ivgrudj/public_html/wp-content/plugins/woocommerce-multilingual/classes/multi-currency/payment-gateways/class-wcml-currencies-payment-gateways.php on line 147
[28-Aug-2025 06:52:54 UTC] PHP Warning: Undefined array key "ppcp-gateway" in /home/ivgrudj/public_html/wp-content/plugins/woocommerce-multilingual/classes/multi-currency/payment-gateways/class-wcml-currencies-payment-gateways.php on line 147

Regards,
Kamal

August 28, 2025 at 7:53 am #17353655

Carlos Rojas
WPML Supporter since 03/2017

Languages: English (English ) Spanish (Español )

Timezone: Europe/Madrid (GMT+02:00)

Hi Kamal,

The cause of this error comes from the 'WooCommerce PayPal Payments' plugin. Deactivate it and check if the error has disappeared.

August 28, 2025 at 9:28 am #17354086

kamal-kishorS-2

Hi Carlos,

I have disable the paypal plugin and now error is not logging. Is the Paypal plugin is not compatible with WPML?

Also i find that our cloudflare cache was not being hit, when enquired by concerned team, they have mentioned the below.

"The cache is bypassed as the plugin WooCommerce Multilingual & Multicurrency is setting cookies.
I would recommend reaching out to the plugin support and use AJAX to set the cookies. This would make the site load fast from the cache while relying on the Admin Ajax to set the cookies.

You can also ask them to enable these only on shop/product pages instead of pages that dosent have any currency fields."

Pls suggest the needful.

Regards,
Kamal

August 28, 2025 at 9:51 am #17354303

Carlos Rojas
WPML Supporter since 03/2017

Languages: English (English ) Spanish (Español )

Timezone: Europe/Madrid (GMT+02:00)

Hi Kamal,

As the original issue was solved, I kindly ask you to open a new ticket describing the problem with the PayPal plugin and another one with the suggested workaround for the WCML cookies. We have been solving different issues in this ticket, but our support policy only allows us to solve one issue per ticket. This helps future clients find solutions to their problems when searching on the forum.

Thank you very much for your understanding!