welcartで配送先と受注者が違う場合両方の情報をメールに追加する。
Welcartを設置すると、クライアントから注文した人と配送する住所が違う場合、配送先の情報しか表示されないのは分かりにくいので、購入した人の住所もメールに追加して欲しいという注文が結構多いです。
都合よくusces_filter_send_order_mail_shippingというメール本文にフックできる場所があるのでそこに購入者のデータを追加しようと思います。
add_filter('usces_filter_send_order_mail_shipping', 'mail_add'); function mail_add(){ global $usces; $entry = $usces->cart->get_entry(); $res =""; $args = func_get_args(); $msg_shipping = $args[0]; if($entry['delivery']['delivery_flag']){ //配送先が注文者と違う場合追加 $res .= "ご購入者情報\r"; $res .= "******************************************************************\r"; //注文者の名前 $res .= __('A destination name','usces') . " : " . sprintf(__('Mr/Mrs %s', 'usces'), ($entry['customer']['name1'] . ' ' . $entry['customer']['name2'])) . "\r"; //注文者の郵便番号 $res .= __('Zip/Postal Code','usces') . " : " . $entry['customer']['zipcode'] . "\r"; //注文者の住所 $res .= __('Address','usces') . " : " . $entry['customer']['pref'] . $entry['customer']['address1'] . $entry['customer']['address2'] . " " . $entry['customer']['address3'] . "\r"; //注文者の電話番号 $res .= __('Phone number','usces') . " : " . $entry['customer']['tel'] . "\r"; $res .= "******************************************************************\r"; } return $res . $msg_shipping; }
最後の\rはサーバーによっては\nだったり\rnだったりするかもしれません。
また、この方法ではお客様の方にも(注文した人)同じ内容が追加されるので注意してください。