返信先: 自動送信メールの本文変更

ホーム フォーラム 使い方全般 自動送信メールの本文変更 返信先: 自動送信メールの本文変更

#73407

nglife
参加者

>上記は【ご注文内容】と表示されるところですが、これを【お支払内容】に変更したいのです。
>また、注文番号→お支払い番号、注文日時→お支払い日時、商品→ご請求内容、単価→金額、商品合計→合計金額・・・としたいのですが、可能でしょうか?

可能は可能です。本文に対して検索を掛けてヒットした場合に希望文言に置換する流れです。
出来ればフィルターを細かく区切った方が(置換の)誤作動を抑えられると思いますが、取り敢えず1つのフィルターで対処した場合です。
キリがなくなってきますので、以下で最後と致します(すみません)。

add_filter("usces_filter_send_order_mail_bodyall", "my_filter_send_order_mail_bodyall", 10, 2);
function my_filter_send_order_mail_bodyall($msg_body, $data){
	$ptns = array(
		array(
			"ptn" => "\r\n" . __('** content of ordered items **','usces') . "\r\n",
			"rep" => "\r\n" . __('【お支払内容】','usces') . "\r\n"
		),
		array(
			"ptn" => __('Order number','usces') . "\t:",
			"rep" => __('お支払い番号','usces') . "\t:"
		),
		array(
			"ptn" => __( 'order date','usces' ) . "\t: ",
			"rep" => __('お支払い日時','usces') . "\t: "
		),
		array(
			"ptn" => __('Items','usces') . "\t\t: \r\n",
			"rep" => __('ご請求内容','usces') . "\t\t: \r\n"
		),
		array(
			"ptn" => __('Unit price','usces') . " ",
			"rep" => __('金額','usces') . " "
		),
		array(
			"ptn" => __('total items','usces') . "\t: ", 
			"rep" => __('合計金額','usces') . "\t: "
		)
	);
	foreach($ptns as $ptn_arr){
		if($ptn_arr["ptn"] != ""){
			$ptn = "/" . $ptn_arr["ptn"] . "/u";
			$rep = $ptn_arr["rep"];
			if(preg_match($ptn, $msg_body)){
				$msg_body = preg_replace($ptn, $rep, $msg_body);
			}
		}
	}
	return $msg_body;
}

若干パワープレイです。
意図せぬ動作になっても責任は負えませんがコードをご参考に後はご自身でカスタマイズしてみて下さい。