WPML
Статус
Решено
Решено в
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

Обходное решение

Мы работаем над окончательным исправлением этой проблемы. Тем временем, пожалуйста, используйте это обходное решение:


  1. Сделайте резервную копию файлов и базы данных Вашего сайта.

  2. В файле 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();


Если у Вас есть вопросы или Вы хотите сообщить о связанной проблеме, пожалуйста, упомяните эту известную проблему, чтобы наша команда могла оказать Вам эффективную поддержку.

Все известные проблемы →