解決済サンキューメール(自動返信)内容編集
タグ: 自動送信 配送先情報
-
投稿者投稿
-
2011年7月27日 10:04 PM #50552umedasys参加者2011年7月28日 3:23 AM #62463nanbuキーマスター
こんにちは。
usces_filter_order_confirm_mail_shipping というフックが、usc-e-shop/functions/function.php の182行目辺りに有ります。このフックの利用してフィルターをかけることで変更が可能です。
フックやフィルターについては下記の資料をご覧下さい。
「WordPress Codex」
http://wpdocs.sourceforge.jp/%E3%83%97%E3%83%A9%E3%82%B0%E3%82%A4%E3%83%B3_API
2011年7月28日 11:59 AM #62464umedasys参加者さっそくのご回答ありがとうございます。
usces_filter_order_confirm_mail_shippingはusc-e-shop/functions/function.phpの165行目に見つかりました。
早速ご教授頂きましたリンクを参考に、wp-content/themes/テーマ名/function.phpに
add_filter(‘usces_filter_order_confirm_mail_shipping’, ‘myfunc’, 10, 2);
function myfunc(){
$args = func_get_args();
list($msg,$data) = $args;
error_log(‘errlog’, 3, ‘wp-contentと同じ階層のlogファイル名フルパス’);
return $msg;
}
を追記してみたのですが、ログに吐かれません。
usc-e-shop/functions/function.phpでも
$msg_body .= apply_filters(‘usces_filter_order_confirm_mail_shipping’, $msg_shipping, $data);
の下の行に
error_log(‘errlog’, 3, ‘wp-contentと同じ階層のlogファイル名フルパス’);
としてみたのですが、ログには出力されませんでした。
設定によってはフックの設置場所を通らない(という表現で合っているのか自信がないですが)ということもあるのでしょうか?
2011年7月29日 1:22 AM #62465nanbuキーマスターこういう場合はログを出力するのではなく、単にreturn ‘OK’; としてテストしてみてください。
メールにOK と表示されなければまた別の所に問題があると考えて調査する事になります。
2011年7月29日 3:53 AM #62466umedasys参加者ありがとうございます。
add_filter(‘usces_filter_order_confirm_mail_shipping’, ‘myfunc’, 10, 2);
function myfunc(){
$args = func_get_args();
list($msg,$data) = $args;
return ‘OK’;
}
に変更してテストしてみたのですが、
サンキューメール本文はそのままになっていました。
(”OK”でも検索したのですが、元々メール本文にあったもの以外は見つかりませんでした)
2011年7月29日 6:26 AM #62467nanbuキーマスターすみません、umedasys さん。
そちらは管理画面から送信するときのフックでした。
正しくは、usces_filter_send_order_mail_shipping となります。
よろしくお願いします。
2011年8月1日 2:11 AM #62468umedasys参加者usces_filter_send_order_mail_shippingをフックすることで、希望通りの形に本文を整形することができました。
ありがとうございます!
2013年6月4日 1:56 PM #62469eabe参加者解決済みとのことですが、失礼します。
フィルター分からず、このページを参考にしつつかなり苦戦しました。
私の場合ですが、以下のように記述し、とりあえずは希望通りの形に整形できました。
//配送希望日・配送希望時間の非表示
add_filter(‘usces_filter_send_order_mail_shipping’, ‘dtnofunc’, 10, 2);
function dtnofunc(){
$args = func_get_args();
list($msg_shipping) = $args;
$list =$msg_shipping;
$dtno = str_replace(“配送希望日 : rn配送希望時間 : rn”, “”, $msg_shipping);
return $dtno;
}
どなたかの参考になれば幸いです。
※phpについては未熟でして、挙動については全く責任が持てません。
記述について有識者の方からご指摘が入れば、さらにうれしいです
2021年3月17日 1:28 PM #92893oikawa参加者お世話になっております。
サンキューメールの自動返信の内容、配送先の宛名、郵便番号、住所、電話番号、Fax番号の情報のみを空欄にして送信したいのですが下記のコードで、空欄となりませんでした。フィルターフックは間違いないと思うのですがご教授いただけますと助かります。何卒よろしくお願い致します。add_filter( 'usces_filter_send_order_mail_shipping', 'my_filter_send_order_mail_shipping', 10, 3 ); function my_filter_send_order_mail_shipping( $msg_shipping, $data, $entry ) { $msg_shipping = ""; } return $msg_shipping; }
、
——————————————————————————
WordPress のバージョン:5.7
Welcart のバージョン:2.1.5
PHP のバージョン:7.4.13
Welcart専用の拡張プラグインとバージョン:Welcart e-Commerce2.1.5
ご利用のテーマ:WelcartBasic の自作子テーマ
症状を確認したブラウザ:firefox
サーバー【重要】:xserver
—————————————————————————-2021年3月18日 2:34 PM #92905sagawaキーマスターoikawa様
こんにちは。
こちらのコードだとsyntaxエラーになるはずですので、そのためかと思われます。2021年3月22日 3:17 PM #92925oikawa参加者ご連絡ありがとうございます。
usces_filter_send_order_mail_shippingで、配送先情報(宛名、郵便番号、住所、電話番号、FAX番号)のみの空欄は可能なのでしょうか?配送方法、配送希望日、配送希望時間はそのままにしたいと思っています。
2021年3月22日 4:29 PM #92929sagawaキーマスターoikawa様
「usces_filter_send_order_mail_shipping」フックで、そのようにすることも可能です。
ただし、戻り値の$msg_shippingは文字列ですので、これを上手く置換するなり対応する必要があります。ご自身でのカスタマイズが難しい場合は、WelCustomよりご依頼いただければと思います。
2021年3月24日 5:09 PM #92955oikawa参加者お世話になっております。
配達先ID=3の時だけ、自動配信メールを下記コードのようにカスタマイズしたいのですが、配達先ID=1や2にすると配達先情報がすべて消えてしまいます。条件文岐がきいてないのですが、ご教授いただけますでしょうか?宜しくお願い致します。
add_filter( 'usces_filter_send_order_mail_shipping', 'my_filter_send_order_mail_shipping', 10, 3 ); function my_filter_send_order_mail_shipping( $msg_shipping, $data, $entry ) { global $usces; $res =""; $entry = $usces->cart->get_entry(); $args = func_get_args(); $msg_shipping = $args;[0]; if($entry['order']['delivery_method'] == 3){ $res .= "ご購入者情報\r"; $res .= "*****************************************************\r"; $res .= __('Delivery Method','usces') . "\t: " . $usces->options['delivery_method'][$deli_index]['name'] . "\r"; $res .= __('Delivery date','usces') . " : " . $entry['order']['delivery_date'] . "\r"; $res .= __('Delivery Time','usces') . " : " . $entry['order']['delivery_time'] . "\r"; $res .= "*****************************************************\r"; return $res; } }
- この返信は3年、 9ヶ月前にoikawaが編集しました。
2021年3月26日 9:53 AM #92967oikawa参加者いつもお世話になっております。
自身で解決できました。
ご迷惑をおかけして申し訳ございませんでした。 -
投稿者投稿
- このトピックに返信するにはログインが必要です。