WPML

Visão geral do problema

No SMS Alert Order Notifications – WooCommerce, os clientes que fazem pedidos em um idioma secundário recebem o SMS do pedido no idioma padrão do seu site.

Solução alternativa

Até que o SMS Alert corrija isso, você pode enviar os SMS de pedido no idioma do pedido:

  1. Vá para WPMLConfigurações, abra Configuração XML personalizada, adicione isto e salve:
    <wpml-config>
      <admin-texts>
        <key name="smsalert_message">
          <key name="sms_body_*" />
        </key>
      </admin-texts>
    </wpml-config>
  2. Vá para WPMLTradução de Strings e traduza os modelos de SMS (domínio admin_texts_smsalert_message).
  3. Adicione este código ao arquivo functions.php do seu tema, ou com um plugin de code snippets. Ele cria o SMS do cliente no idioma do pedido:
    add_action( 'woocommerce_order_status_changed', function ( $order_id ) {
    	$order = wc_get_order( $order_id );
    	$lang  = $order ? $order->get_meta( 'wpml_language' ) : '';
    	if ( $lang ) {
    		$GLOBALS['sms_alert_wpml_previous_lang'] = apply_filters( 'wpml_current_language', null );
    		do_action( 'wpml_switch_language', $lang );
    	}
    }, 9 );
    
    add_action( 'woocommerce_order_status_changed', function () {
    	if ( isset( $GLOBALS['sms_alert_wpml_previous_lang'] ) ) {
    		do_action( 'wpml_switch_language', $GLOBALS['sms_alert_wpml_previous_lang'] );
    		unset( $GLOBALS['sms_alert_wpml_previous_lang'] );
    	}
    }, 11 );

Todos os problemas conhecidos

Precisa de ajuda com este problema?

Envie uma dúvida de suporte e analisaremos isso com você.