WPML

Resumen del problema

En SMS Alert Order Notifications – WooCommerce, los clientes que realizan un pedido en un idioma secundario reciben el SMS del pedido en el idioma predeterminado de su sitio.

Solución alternativa

Hasta que SMS Alert lo solucione, puede enviar los SMS de pedido en el idioma del pedido:

  1. Vaya a WPMLConfiguración, abra Configuración XML personalizada, añada esto y guarde:
    <wpml-config>
      <admin-texts>
        <key name="smsalert_message">
          <key name="sms_body_*" />
        </key>
      </admin-texts>
    </wpml-config>
  2. Vaya a WPMLTraducción de cadenas y traduzca las plantillas de SMS (dominio admin_texts_smsalert_message).
  3. Añada este código al archivo functions.php de su tema, o mediante un plugin de fragmentos de código. Esto genera el SMS para el cliente en el idioma del 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 los problemas conocidos

¿Necesita ayuda con este problema?

Haga una consulta de soporte y lo revisaremos con usted.