Background of the issue:
I am trying to resolve a fatal error originating from the WooCommerce Multilingual plugin, specifically in the file class-wcml-wc-gateways.php at line 78. The error occurs when the plugin attempts to access a protected property ($settings) of a custom payment gateway class, which is not allowed in PHP. We are using WooCommerce Multilingual & Multicurrency v5.4.5. The issue suggests that the plugin is making assumptions about gateway class internals that may not hold for third-party or custom gateways. I am looking for a fix or a suggested workaround.
Questions:
Can you review and update the plugin code to use public methods or implement a compatibility layer?
Do you need any further information to reproduce this issue?
Thanks for your quick reply and for providing the sandbox environment.
I’ve accessed the sandbox and attempted to install and activate our custom payment gateway plugin (WC_TBI_Blocks_Gateway) to replicate the issue. However, upon doing so, the sandbox crashed with a critical error screen, without any detailed error message.
Since this is a different environment from our dev site (where we initially encountered the fatal error related to accessing a protected property), it’s unclear whether this is caused by the same issue or something else within the sandbox.
Could you please:
Enable WP_DEBUG and WP_DEBUG_LOG in the sandbox environment so I can identify the exact error?
Or check the PHP error log for more details?
Once I have the actual error output, I’ll be able to confirm whether the same Cannot access protected property exception is being triggered, or if something else is going wrong in this environment.
Thanks again for your support — I’m ready to continue the investigation once we can see the specific error.
The plugin in question is not custom-made by us — it is the official plugin provided by TBI Bank to integrate their payment gateway with WooCommerce.
We are simply using it on our client’s site, and the fatal error arises when WooCommerce Multilingual tries to access a protected property ($settings) in the TBI gateway class.
We’ve prepared access to our development environment where the issue can be reproduced.
Could you please confirm whether this support thread is private — or let us know if there’s a secure way to share staging credentials with your team?
Once confirmed, we’ll send over the login details.
Just a quick note that this thread is public—please only share site access with us once we’ve enabled a private reply field for that purpose.
Regarding the plugin in question: as mentioned earlier, our support is limited when it comes to custom or third-party plugins that haven’t been tested and confirmed compatible with WCML. Unfortunately, this particular plugin does fall outside the scope of what we’re able to support directly.
We recommend reaching out to the plugin’s authors to see if they can provide any guidance or a workaround to help ensure compatibility with WCML.