自動送信メールの本文変更について
タグ: メールフィルターフック, 自動返信メール, 自動送信
- 
		投稿者投稿
- 
		
			
				
2016年4月20日 12:30 AM #78266pore58 参加者いつもお世話になっております。 受注時の自動送信メールの文言を一部変更したいのですが該当のフック等が分からず困っております。 
 過去の書き込みなどを参考に一部は上手く変更できたのですが、最後の一箇所だけ上手くいかず書き込みをさせて頂きました。具体的に変更したい箇所は、自動送信メール内の項目【ご注文内容】内の「ご購入者」を「ご依頼主」に変更したいと考えております。 《現状のコード》 
 add_filter(“usces_filter_apply_mail_addressform”, “my_filter_apply_mail_addressform”, 10, 4);
 function my_filter_apply_mail_addressform($formtag, $type, $data, $order_id){
 $ptns = array(
 array(
 “ptn” => “^” . __(‘Buyer’,’usces’). “\t:”,
 “rep” => __(‘ご依頼主’,’usces’)
 )
 );
 $formtag = explode(“\r\n”, $formtag);
 foreach($formtag as $k => $msg){
 foreach($ptns as $ptn_arr){
 if($ptn_arr[“ptn”] != “”){
 $ptn = “/” . $ptn_arr[“ptn”] . “/u”;
 $rep = $ptn_arr[“rep”];
 if(preg_match($ptn, $msg)){
 if(isset($ptn_arr[“rmv”]) && $ptn_arr[“rmv”] != “”){
 $rmv_ptn = “/” . $ptn_arr[“rmv”] . “/u”;
 if(preg_match($rmv_ptn, $msg)){
 $msg = preg_replace($rmv_ptn, “”, $msg);
 }
 }
 $formtag[$k] = preg_replace($ptn, $rep, $msg);
 }
 }
 }
 }
 $formtag = implode(“\r\n”, $formtag);
 return $formtag;
 }何卒、宜しくお願い致します。 2016年4月20日 9:11 AM #78268 yskysmrキーマスター yskysmrキーマスターこんにちは。 ご利用の環境を教えてください。 
 ——————————————-
 WordPress のバージョン:
 Welcart のバージョン:
 ご利用のテーマ:
 症状を確認したブラウザ:
 サーバー(会社名、サービス名):
 SSLの利用:
 WordPress のパーマリンク設定:
 ——————————————–2016年4月20日 11:05 AM #78271pore58 参加者お世話になっております。 
 失礼いたしました。
 環境は以下になります。——————————————- 
 WordPress のバージョン:4.4.2
 Welcart のバージョン: 1.7.5
 ご利用のテーマ:
 症状を確認したブラウザ:
 サーバー(会社名、サービス名):お名前.comレンタルサーバー(SD-12)
 SSLの利用:利用
 WordPress のパーマリンク設定:
 ——————————————–以上、宜しくお願い致します。 2016年4月21日 5:39 PM #78299 yskysmrキーマスター yskysmrキーマスターpore58 様 確かに「ご購入者」個別にはフックはありませんので、 usces_filter_apply_mail_addressformを使うしかないようですが、個人的には正規表現でなくてもよいのではと思います。str_replaceで、文字列全体から「ご購入者」を「ご依頼主」にしてしまってもいいのではないでしょうか。ちなみに、いずれにしましても、変換元の “^”と“\t:”が不要です。2016年4月21日 10:35 PM #78314pore58 参加者ご返信ありがとうございます。 
 アドバイス頂いた通り、str_replaceを利用し実現できました!!
 悩みが解決され本当に助かりました。《改良コード》 
 add_filter(“usces_filter_apply_mail_addressform”, “my_filter_apply_mail_addressform”, 10, 4);
 function my_filter_apply_mail_addressform($formtag, $type, $data, $order_id){
 $formtag = str_replace(“ご購入者” , “ご依頼主” , $formtag);
 return $formtag;
 }今後ともよろしくお願いいたします! 
- 
		投稿者投稿
- このトピックに返信するにはログインが必要です。
 PAGE TOP
PAGE TOP