- Статус
- Решено
- Заявлено для
- WPML Multilingual & Multicurrency for WooCommerce 4.12.0
- Решено в
- WCML 5.1.0
Обзор проблемы
WPML Multilingual & Мультивалютность для WooCommerce позволяет Вам задать отдельный счет BACS для каждой валюты. Однако в настоящее время WCML отображает все счета BACS Вашего магазина на странице подтверждения заказа и в электронных письмах вместо действительного счета для выбранного языка.
Обходное решение
Перед продолжением сделайте полную резервную копию Вашего сайта.
- Откройте /wp-content/plugins/woocommerce-multilingual/classes/multi-currency/payment-gateways/class-wcml-payment-gateway-bacs.php.
- Найдите строку 35.
- Замените:
if ( $gateway_setting && 'all' !== $gateway_setting['value'] ) { if ( 'all_in' === $gateway_setting['value'] ) { $bacs_accounts_currencies = get_option( WCML_WC_Gateways::WCML_BACS_ACCOUNTS_CURRENCIES_OPTION, [] ); foreach ( $bacs_accounts_currencies as $account_key => $currency ) { if ( $gateway_setting['currency'] === $currency ) { $allowed_accounts[] = $accounts[ $account_key ]; } } } else { $allowed_accounts[] = $accounts[ $gateway_setting['value'] ]; } } return $allowed_accounts ? $allowed_accounts : $accounts; - На:
if ( $gateway_setting && 'all' !== $gateway_setting['value'] ) { $woocurrency = get_woocommerce_currency(); // to get default currency if ( 'all_in' === $gateway_setting['value'] ) { $bacs_accounts_currencies = get_option( WCML_WC_Gateways::WCML_BACS_ACCOUNTS_CURRENCIES_OPTION, [] ); foreach ( $bacs_accounts_currencies as $account_key => $currency ) { if ( $gateway_setting['currency'] === $currency ) { $allowed_accounts[] = $accounts[ $account_key ]; } if ( $gateway_setting['currency'] === NULL && $woocurrency && $woocurrency === $currency ) { //new condition for default currency $allowed_accounts[] = $accounts[ $account_key ]; } } } else { $allowed_accounts[] = $accounts[ $gateway_setting['value'] ]; } } return $allowed_accounts ? $allowed_accounts : $accounts; - Перейдите в WooCommerce > WooCommerce Multilingual & Multicurrency > Мультивалютность
- Измените валюты, добавленные в разделе «Валюты»
- Включите параметр «Платёжные шлюзы» для каждой валюты
- Сохраните изменения