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
- 8:00 – 17:00 8:00 – 17:00 8:00 – 17:00 8:00 – 17:00 8:00 – 17:00 -
- - - - - - -

Supporter timezone: Europe/Madrid (GMT+02:00)

This topic contains 22 replies, has 3 voices.

Last updated by borislavA-2 4 hours, 44 minutes ago.

Assisted by: Paola Mendiburu.

Author Posts
May 16, 2025 at 10:04 am #17040843

borislavA-2

Background of the issue:
I'm trying to register the WPML in pulsegymshop.bg as production.

Symptoms:
I getting error: Unable to register: Site key not matching

Questions:
How do I register WPML as production for pulsegymshop.bg?

May 16, 2025 at 12:54 pm #17041923

Bruno Kos
WPML Supporter since 12/2018

Languages: English (English ) German (Deutsch ) French (Français )

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

Hi,

Can you check this?
https://wpml.org/faq/how-to-remove-the-this-site-is-registered-on-wpml-org-as-a-development-site-notice/#what-if-the-notice-still-appears-after-moving-to-production

Every new URL requires a unique key.

May 17, 2025 at 7:29 am #17043910

borislavA-2

I tried but I still get the error
"Unable to register: Site key not matching"

Furthermore my whole site stop working due fatal error

here is the error log. I had to disable the plugin to get the site working again. I really need some help here.

Deprecated: Return type of Stripe\Util\CaseInsensitiveArray::offsetExists($offset) should either be compatible with ArrayAccess::offsetExists(mixed $offset): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/pulsegymshop/public_html/wp-content/plugins/checkout-plugins-stripe-woo/lib/stripe-php/lib/Util/CaseInsensitiveArray.php on line 44

Deprecated: Return type of Stripe\Util\CaseInsensitiveArray::offsetGet($offset) should either be compatible with ArrayAccess::offsetGet(mixed $offset): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/pulsegymshop/public_html/wp-content/plugins/checkout-plugins-stripe-woo/lib/stripe-php/lib/Util/CaseInsensitiveArray.php on line 57

Deprecated: Return type of Stripe\Util\CaseInsensitiveArray::offsetSet($offset, $value) should either be compatible with ArrayAccess::offsetSet(mixed $offset, mixed $value): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/pulsegymshop/public_html/wp-content/plugins/checkout-plugins-stripe-woo/lib/stripe-php/lib/Util/CaseInsensitiveArray.php on line 34

Deprecated: Return type of Stripe\Util\CaseInsensitiveArray::offsetUnset($offset) should either be compatible with ArrayAccess::offsetUnset(mixed $offset): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/pulsegymshop/public_html/wp-content/plugins/checkout-plugins-stripe-woo/lib/stripe-php/lib/Util/CaseInsensitiveArray.php on line 51

Deprecated: Return type of Stripe\Util\CaseInsensitiveArray::count() should either be compatible with Countable::count(): int, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/pulsegymshop/public_html/wp-content/plugins/checkout-plugins-stripe-woo/lib/stripe-php/lib/Util/CaseInsensitiveArray.php on line 24

Deprecated: Return type of Stripe\Util\CaseInsensitiveArray::getIterator() should either be compatible with IteratorAggregate::getIterator(): Traversable, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/pulsegymshop/public_html/wp-content/plugins/checkout-plugins-stripe-woo/lib/stripe-php/lib/Util/CaseInsensitiveArray.php on line 29

Deprecated: Return type of Stripe\Util\Set::getIterator() should either be compatible with IteratorAggregate::getIterator(): Traversable, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/pulsegymshop/public_html/wp-content/plugins/checkout-plugins-stripe-woo/lib/stripe-php/lib/Util/Set.php on line 40

Deprecated: Return type of Stripe\StripeObject::offsetExists($k) should either be compatible with ArrayAccess::offsetExists(mixed $offset): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/pulsegymshop/public_html/wp-content/plugins/checkout-plugins-stripe-woo/lib/stripe-php/lib/StripeObject.php on line 202

Deprecated: Return type of Stripe\StripeObject::offsetGet($k) should either be compatible with ArrayAccess::offsetGet(mixed $offset): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/pulsegymshop/public_html/wp-content/plugins/checkout-plugins-stripe-woo/lib/stripe-php/lib/StripeObject.php on line 212

Deprecated: Return type of Stripe\StripeObject::offsetSet($k, $v) should either be compatible with ArrayAccess::offsetSet(mixed $offset, mixed $value): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/pulsegymshop/public_html/wp-content/plugins/checkout-plugins-stripe-woo/lib/stripe-php/lib/StripeObject.php on line 197

Deprecated: Return type of Stripe\StripeObject::offsetUnset($k) should either be compatible with ArrayAccess::offsetUnset(mixed $offset): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/pulsegymshop/public_html/wp-content/plugins/checkout-plugins-stripe-woo/lib/stripe-php/lib/StripeObject.php on line 207

Deprecated: Return type of Stripe\StripeObject::count() should either be compatible with Countable::count(): int, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/pulsegymshop/public_html/wp-content/plugins/checkout-plugins-stripe-woo/lib/stripe-php/lib/StripeObject.php on line 218

Deprecated: Return type of Stripe\StripeObject::jsonSerialize() should either be compatible with JsonSerializable::jsonSerialize(): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/pulsegymshop/public_html/wp-content/plugins/checkout-plugins-stripe-woo/lib/stripe-php/lib/StripeObject.php on line 422

Deprecated: Return type of Stripe\Collection::getIterator() should either be compatible with IteratorAggregate::getIterator(): Traversable, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/pulsegymshop/public_html/wp-content/plugins/checkout-plugins-stripe-woo/lib/stripe-php/lib/Collection.php on line 119

Notice: Function _load_textdomain_just_in_time was called incorrectly. Translation loading for the checkout-plugins-stripe-woo domain was triggered too early. This is usually an indicator for some code in the plugin or theme running too early. Translations should be loaded at the init action or later. Please see Debugging in WordPress for more information. (This message was added in version 6.7.0.) in /home/pulsegymshop/public_html/wp-includes/functions.php on line 6121

Notice: Функцията _load_textdomain_just_in_time е извикана погрешно. Зареждането на преводите за домейна woo-discount-rules беше задействано твърде рано. Това обикновено показва, че някой код в разширението или темата се изпълнява твърде рано. Преводите трябва да бъдат заредени при действието init или по-късно. За повече информация вижте Debugging in WordPress. (Това съобщение беше добавено във версия 6.7.0.) in /home/pulsegymshop/public_html/wp-includes/functions.php on line 6121

Notice: Функцията _load_textdomain_just_in_time е извикана погрешно. Зареждането на преводите за домейна woocommerce-payments беше задействано твърде рано. Това обикновено показва, че някой код в разширението или темата се изпълнява твърде рано. Преводите трябва да бъдат заредени при действието init или по-късно. За повече информация вижте Debugging in WordPress. (Това съобщение беше добавено във версия 6.7.0.) in /home/pulsegymshop/public_html/wp-includes/functions.php on line 6121

Warning: Undefined property: WC_TBI_Blocks_Gateway::$id in /home/pulsegymshop/public_html/wp-content/plugins/woocommerce-multilingual/inc/class-wcml-wc-gateways.php on line 82

Fatal error: Uncaught Error: Cannot access protected property WC_TBI_Blocks_Gateway::$settings in /home/pulsegymshop/public_html/wp-content/plugins/woocommerce-multilingual/inc/class-wcml-wc-gateways.php:82 Stack trace: #0 [internal function]: WCML_WC_Gateways->loaded_woocommerce_payment_gateways() #1 /home/pulsegymshop/public_html/wp-content/plugins/sitepress-multilingual-cms/vendor/wpml/fp/core/Fns.php(358): call_user_func_array() #2 /home/pulsegymshop/public_html/wp-includes/class-wp-hook.php(324): WPML\FP\Fns::WPML\FP\{closure}() #3 /home/pulsegymshop/public_html/wp-includes/plugin.php(205): WP_Hook->apply_filters() #4 /home/pulsegymshop/public_html/wp-content/plugins/woocommerce/includes/class-wc-payment-gateways.php(91): apply_filters() #5 /home/pulsegymshop/public_html/wp-content/plugins/woocommerce/includes/class-wc-payment-gateways.php(73): WC_Payment_Gateways->init() #6 /home/pulsegymshop/public_html/wp-content/plugins/woocommerce/includes/class-wc-payment-gateways.php(46): WC_Payment_Gateways->__construct() #7 /home/pulsegymshop/public_html/wp-content/plugins/woocommerce/includes/class-woocommerce.php(1168): WC_Payment_Gateways::instance() #8 /home/pulsegymshop/public_html/wp-content/plugins/woocommerce-multilingual/classes/multi-currency/payment-gateways/class-wcml-currencies-payment-gateways.php(212): WooCommerce->payment_gateways() #9 /home/pulsegymshop/public_html/wp-content/plugins/woocommerce-multilingual/classes/multi-currency/payment-gateways/class-wcml-currencies-payment-gateways.php(97): WCML_Currencies_Payment_Gateways->get_available_payment_gateways() #10 /home/pulsegymshop/public_html/wp-includes/class-wp-hook.php(324): WCML_Currencies_Payment_Gateways->init_gateways() #11 /home/pulsegymshop/public_html/wp-includes/class-wp-hook.php(348): WP_Hook->apply_filters() #12 /home/pulsegymshop/public_html/wp-includes/plugin.php(517): WP_Hook->do_action() #13 /home/pulsegymshop/public_html/wp-settings.php(749): do_action() #14 /home/pulsegymshop/public_html/wp-config.php(86): require_once('...') #15 /home/pulsegymshop/public_html/wp-load.php(50): require_once('...') #16 /home/pulsegymshop/public_html/wp-blog-header.php(13): require_once('...') #17 /home/pulsegymshop/public_html/index.php(17): require('...') #18 {main} thrown in /home/pulsegymshop/public_html/wp-content/plugins/woocommerce-multilingual/inc/class-wcml-wc-gateways.php on line 82

May 17, 2025 at 9:55 am #17044111

borislavA-2

I managed to register the product when I added www before the domain.
Anyway I have serious problem which cause fatal error. When I activate the WPML String Translation my whole site stop working and I get the fatal error. How can I fix it?

May 19, 2025 at 10:05 am #17047585

Bruno Kos
WPML Supporter since 12/2018

Languages: English (English ) German (Deutsch ) French (Français )

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

The error is caused by a plugin trying to access a protected property in a payment gateway, which isn't allowed in the current configuration.

To move forward, please:

1. Update the following plugins to their latest versions:

* WooCommerce
* WooCommerce Multilingual (WPML)
* WPML String Translation
* Any custom or third-party payment gateway plugins (especially if you're using something like `WC_TBI_Blocks_Gateway`)

2. Check if the issue persists after updating.

If the issue still occurs, please provide:

* WordPress admin credentials
* FTP access

So I can investigate the issue directly.

To confirm, so if we activate String Translation we immediately get a fatal error (blank screen or crash) in both frontend and backend of the site?

May 29, 2025 at 9:56 am #17087410

Paola Mendiburu
WPML Supporter since 11/2020

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

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

Hi there!

This is Paola and I will continue with the ticket as Bruno is on holidays.

Please try to deactivate the plugin Checkout Plugins - Stripe for WooCommerce and let me know if you can activate it.

It seems there is a compatibility issue with that plugin.

Please let me know how it goes.

May 29, 2025 at 1:22 pm #17088277

borislavA-2

If I deactivate that plugin the customers won't be able to pay by card

May 29, 2025 at 1:38 pm #17088357

borislavA-2

I have even worse issue now. My second language items don't have any quantity. I can't sync the quantity between the main language and second language because can't activate the WooCommerce Multilingual

May 30, 2025 at 6:20 am #17090467

borislavA-2

I have staging page so I tried to deactivate the "checkout for stripe" and I think there is conflict between " WooCommerce Multilingual & Multicurrency" and "Fusion Pay tbi"
When I deactivated Fusion pay, there is no fatal error. But I need Fusion Pay it's bank application for leasing payments.

May 30, 2025 at 2:54 pm #17092642

Paola Mendiburu
WPML Supporter since 11/2020

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

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

It will be great if I can access the staging site.

I would like to request temporary access (wp-admin and FTP) to your staging site to take a 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.

Privacy and Security Policy
We have strict policies regarding privacy and access to your information. Please see:
https://wpml.org/purchase/support-policy/privacy-and-security-when-providing-debug-information-for-support/

**IMPORTANT**
- Please make a backup of the 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

June 2, 2025 at 10:00 am #17097407

Paola Mendiburu
WPML Supporter since 11/2020

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

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

Hi there!

The error you’re seeing is due to a compatibility issue between WooCommerce Multilingual (WCML) and the TBI payment plugin. WCML expects to access the gateway’s settings publicly, but the TBI plugin keeps them protected internally. As a result, WCML cannot read those settings and throws a fatal error.

First of all please try to install the latest version of the plugin.

If the problem persists, you’ll need to ask the bank (or the provider of the TBI plugin) to update their module so that it exposes its settings via a public method (e.g., get_settings()) or makes that property public. Once they release a compatible version, the fatal error will disappear.

June 2, 2025 at 11:19 am #17097645

borislavA-2

ok I understand, but what about the other problem, if I deactivate TBI Plugin, then WooCommerce Multilingual (WCML) works. However I can't synchronize the quantity between the main language and second langauage, as a result of which customers cannot purchase anything from the English version

hidden link

Even if I go to WooCommerce Multilingual , troubleshooting and synchronize the products, then it gets worse, quantities disappear everywhere. Please help me fix this.

June 3, 2025 at 1:12 pm #17102431

Paola Mendiburu
WPML Supporter since 11/2020

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

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

Please let me know 1 or 2 products where there is a problem with the quantities so I can investigate the problem.

June 3, 2025 at 1:30 pm #17102573

borislavA-2

Can you check the video please?
hidden link

The english version currently is not possible to be used. It gives error with the quantity!
If I sync through WooCommerce Multilangual it gets even worse, the quantity disappears from both versions, the customer can't buy anything.
I need a solution urgant, because I doing this for client who is dissappointed.
Here is the english version - it cannot be ordered because the error with the quantity

hidden link

In the bulgarian version it's okay for now
hidden link

but if I use the function synchronize both version will show no quantity!

Another example BG (main) Version:
hidden link - 111 items (quantity)

In the english version
hidden link - just show in stock but no quantity can't be purchased.

english version.png
797 quantity.png
June 4, 2025 at 11:38 am #17106144

Paola Mendiburu
WPML Supporter since 11/2020

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

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

Hi there!

I am getting fatal error on product pages. Woocommerce multilingual is deactivated, and if I deactivate WPML the problem persists.

Please let me know when it is fixed.

Try to go to the original product and click on update and then update the translation. Let me know if that way works.