- Статус
- Решено
- Решено в
- 4.12.0
Обзор проблемы
В некоторых редких случаях, когда другой плагин также управляет валютами, фильтр «supported currencies» плагина WPML Multilingual & Multicurrency for WooCommerce может срабатывать, когда Мультивалютность WPML Multilingual & Multicurrency for WooCommerce на самом деле отключена.
На данный момент эта проблема была зафиксирована только на сайтах, использующих определенные плагины, которые официально не совместимы с WPML / WPML Multilingual & Multicurrency for WooCommerce. Попробуйте применить приведенное ниже обходное решение, если на Вашем сайте возникает следующая ошибка, либо непосредственно на странице, либо в результате AJAX-запроса при переключении валют или расположения:
Fatal error: Uncaught Error: Call to a member function get_client_currency() on null in /wp-content/plugins/woocommerce-multilingual/classes/multi-currency/payment-gateways/class-wcml-payment-gateway-paypal.php:158
Обходное решение
Мы работаем над окончательным исправлением этой проблемы. Тем временем, пожалуйста, используйте это обходное решение:
- Сделайте резервную копию файлов и базы данных Вашего сайта.
- В файле woocommerce-multilingual/classes/multi-currency/payment-gateways/class-wcml-payment-gateway-paypal.php измените СТРОКИ 156 – 158
сglobal $woocommerce_wpml; $client_currency = $woocommerce_wpml->multi_currency->get_client_currency();
на
global $woocommerce_wpml; if ( is_null( $woocommerce_wpml->multi_currency ) ) { return $supported_currencies; } $client_currency = $woocommerce_wpml->multi_currency->get_client_currency();
Если у Вас есть вопросы или Вы хотите сообщить о связанной проблеме, пожалуйста, упомяните эту известную проблему, чтобы наша команда могла оказать Вам эффективную поддержку.