WPML
Status
Gelöst
Gemeldet für
WPML Multilingual & Multicurrency for WooCommerce 4.12.0
Gelöst in
WCML 5.1.0

Übersicht über das Problem

WPML Multilingual & Multicurrency for WooCommerce ermöglicht es Ihnen, für jede Währung ein anderes BACS-Konto festzulegen. Aktuell listet WCML jedoch alle Ihre verschiedenen Shop-BACS-Konten auf der Bestellbestätigungsseite und in E-Mails auf, anstelle des für die ausgewählte Sprache gültigen Kontos.

Problemumgehung

Bitte erstellen Sie ein vollständiges Backup Ihrer Website, bevor Sie fortfahren.

  1. Öffnen Sie /wp-content/plugins/woocommerce-multilingual/classes/multi-currency/payment-gateways/class-wcml-payment-gateway-bacs.php.
  2. Suchen Sie nach Zeile 35.
  3. Ersetzen Sie:
     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; 
  4. Durch:
     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; 
  5. Gehen Sie zu WooCommerce > WooCommerce Multilingual & Multicurrency > Multicurrency
  6. Bearbeiten Sie die verschiedenen Währungen, die im Abschnitt „Währungen“ hinzugefügt wurden
  7. Aktivieren Sie die Option „Zahlungsgateways“ für jede Währung
  8. Speichern Sie die Änderungen

Alle bekannten Probleme →