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:
- 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> - Vaya a WPMLTraducción de cadenas y traduzca las plantillas de SMS (dominio admin_texts_smsalert_message).
- Añada este código al archivo
functions.phpde 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 );