WPML

問題の概要

SMS Alert Order Notifications – WooCommerceでは、セカンダリ言語で注文した顧客は、サイトのデフォルト言語で注文のSMSを受け取ります。

回避策

SMS Alertでこの問題が修正されるまでの間、以下の方法で注文の言語で注文SMSを送信できます。

  1. WPML設定に移動し、カスタム XML 設定を開いて次を追加し、保存します。
    <wpml-config>
      <admin-texts>
        <key name="smsalert_message">
          <key name="sms_body_*" />
        </key>
      </admin-texts>
    </wpml-config>
  2. WPML文字列翻訳に移動し、SMSテンプレート(ドメイン:admin_texts_smsalert_message)を翻訳します。
  3. お使いのテーマのfunctions.phpファイルに、またはコードスニペットプラグインを使用して、次のコードを追加します。これにより、注文の言語で顧客向けSMSが作成されます。
    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 );

すべての既知の問題

この問題についてサポートが必要な場合

サポートのご質問をお寄せください。一緒に調査いたします。