- Estado
- Resuelto
- Notificado para
- WPML Multilingual & Multicurrency for WooCommerce 4.12.0
- Resuelto en
- WCML 5.1.0
Resumen del problema
WPML Multilingual & Multicurrency for WooCommerce le permite configurar una cuenta BACS diferente por moneda. Sin embargo, actualmente WCML muestra todas las diferentes cuentas BACS de su tienda en la página de confirmación del pedido y en los correos electrónicos en lugar de la válida para el idioma seleccionado.
Solución alternativa
Haga una copia de seguridad completa de su sitio antes de continuar.
- Abra /wp-content/plugins/woocommerce-multilingual/classes/multi-currency/payment-gateways/class-wcml-payment-gateway-bacs.php.
- Busque la línea 35.
- Reemplace:
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; - Por:
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; - Vaya a WooCommerce > WooCommerce Multilingual & Multicurrency > Multimoneda
- Edite las diferentes monedas añadidas en la sección «Monedas»
- Active la opción «Pasarelas de pago» para cada moneda
- Guarde los cambios