WP e-commerceカスタマイズメモ -6 2008/2/18 月曜日
追記:3/14にshopオープンしました! →shopへ行く
引き続き「カスタマイズメモ-1」でリストアップしたカスタマイズ部分のラフな詳細(?)です。
●カスタマイズ内容:
5. 同じく購入履歴リストとログ用注文控メールのタイトル部分に注文No.が表示されるように、カスタマイズ。
7. オリジナルではなぜかお客様のメールアドレスとこちらのログ用アドレスに確認メール&控メールがいかなかったのを、カスタマイズ。
●現象:
- 注文後、お客様と自分とにメールが送られる設定になっているにもかかわらず送られない。
- 自分のアドレスに送られる控メールのタイトルに注文No.が入っていないので確認しにくい。
●対策:
WP e-commerceの管理画面の「オプション」ページには「買い物ログの送信先メールアドレス」と「返答メールの送信元メールアドレス」を設定する箇所があり、ここにメールアドレスを入れておくと注文確定後、お客様への自動返信メールとショップの控メールが送られるような設定になっています。
この処理を行っているのは「transaction_results.php」から呼び出される
function transaction_results(transaction_result_functions.php内)
です。submit_checkout_function.php内のfunctionでいろいろ処理をした後 function transaction_results で送信結果ページ(成功ならthank youページ/クレジットカード払いが不調に終わった場合はその結果)を出力し、ショッピングカート内のデータ、名前、住所などのお客様情報を集めてメールの本文を編集し、お客様とショップ用にメールを送ります。
ところが、ショップ用の控メールは届くものの、一番大事なお客様へのメールがなぜか届きません…
submit_checkout_function.php内のfunction を調べてみたところ、送信結果ページを出力後、ごく簡単な内容のショップ用控メールを送る処理をした後、return false;となっており、お客様へのメール本文の編集と肝心の送信を行う前にfunctionを出てしまう仕様になっていました。
これではメールはいくら待っても送られませんね。そこでこの「return false;」をコメントアウトにし、その後の処理が続行されるようにしたところ、無事メールが送られるようになりました。
送られてきたメールを確認すると、少し内容的に乏しい感じでしたので、最低限必要な情報が見栄えよく送られるよう編集し直しました。(もちろん、そのまま送ってしまうとひどい文字化けを起こしますので、日本語用にmb_send_mail()に変更するのを忘れずに…)
ついでにショップの控メールのタイトルに分かりやすいよう注文No.を入れるなどなどさらに編集を追加し、出先でもご注文をいただいたらすぐ分かるよう、自分の携帯にも簡単なメールを送るようにしておきました。迅速に対応できるようバッチリ(?)カスタマイズしました
TrackBack url: http://www.staana-studio.com/blog/wp-trackback.php?p=38
参考にさせて頂きました。有難う。
coolweb さま
お返事が大変遅くなりましたが、コメントをいただきましてありがとうございました。
おかげさまでその後coolwebさまを通して大勢の方がこの記事を参考にしてくださり、staana-blogの一番人気のカテゴリーとなっております。
shopの方が忙しくなりつつあり、なかなか難しいのですが、今後も時間を見つけてお役に立てるような記事を書いて参りますのでどうぞよろしくお願いいたします。