WPML

问题概述

在 SMS Alert Order Notifications – WooCommerce 中,使用次要语言下单的客户会收到以您网站的默认语言发送的订单短信。

临时解决方法

在 SMS Alert 修复此问题之前,您可以以订单语言发送订单短信:

  1. 前往 WPML设置,打开自定义 XML 配置,添加以下内容并保存:
    <wpml-config>
      <admin-texts>
        <key name="smsalert_message">
          <key name="sms_body_*" />
        </key>
      </admin-texts>
    </wpml-config>
  2. 前往 WPML字符串翻译并翻译短信模板(域为 admin_texts_smsalert_message)。
  3. 将此代码添加到主题的 functions.php 文件中,或使用代码片段插件添加。它会以订单语言生成客户短信:
    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 );

所有已知问题

需要有关此问题的帮助?

提出支持问题,我们将与您一起调查。