Alicia
投稿の際は下記の情報をお書き添えください。
-------------------------------------------
WordPress のバージョン:(例 6.0.2)
Welcart のバージョン:(例 2.8.1)
PHP のバージョン:(例 8.0)
Welcart専用の拡張プラグインとバージョン:(例 DL Seller 3.4.1、SKU Select 1.4.2)
ご利用の親テーマとバージョン :(例 Welcart Basic 1.7.1)
ご利用の子テーマとバージョン :(例 Welcart Beldad 1.4)
症状を確認したブラウザ:
サーバー【重要】:(会社名、サービス名)
--------------------------------------------
フォーラムへの返信
-
投稿者投稿
-
Alicia参加者
furuta 様
ご回答ありがとうございます。
なるほど、組み合わせる決済システム側でしたか。
いずれにしましても利用していないので私には分からないのですが、こちらのファイルには、今回のようなエラーメッセージを書き換えるフィルターフックは備わっていないのでしょうか?
もしそのフック名が同じであれば、第3引数がわかればメッセージを区別することができるかもしれません。ひょっとしたら決済システムごとに第3引数が異なっていて、そもそもそれほど重要でもなく、default で統一したメッセージで流して良いものなのかもしれませんね。
ありがとうございました。解決済みとしてください。
Alicia参加者furuta 様
yskysmr 様Welcart 2.10.2 にてフックの追加を確認しました。この度は、迅速にご対応いただきまして誠にありがとうございました。
早速、エラーメッセージを書き換えることができました。
標準で備わっている4箇所に対応できました。
「クレジットカード登録・更新ページ」については、該当プラグインを使っておらず、フックの第3引数が分かりませんでしたので、switch の default; で逃しましたが、その他は適切にエラーメッセージを振り分けて対応することができました。
$threshold (閾値)を1.0 に上げてテストもうまくできました。(こういうときにも新機能は便利ですね。)
最終的に、Contact Form 7 でお問い合わせいただくようにしようかと考えていたのですが、CF7でも v3 に蹴られることがあったので、サポート対応のメールアドレスをエラーメッセージに載せることにしました。
これで v3 が不安定でも、少し安心できそうです。
Welcart ✕ CF7 ✕ reCAPTCHA v3 で新たに別の疑問ができましたので、また後日別トピックに載せたいと思います。
この度は、お世話になりまして、ありがとうございました。
このトピックは解決済みとしてください。よろしくお願いいたします。Alicia参加者kurita 様
ご丁寧に返信いただきましてありがとうございます。
今後ともよろしくお願いいたします。Alicia参加者JK 様
これまでの過去のトピックを見る限りでは、カート周りのこのような変更は、カスタマイズの範疇を超えて大幅な改造になってしまいますので、ほぼ不可能かと思います。
ただ、考え方を少し変えるだけで、お望みのカートを Welcart で実現できる可能性もあります。
残念ながらやりたいことを具体的に書かれてないので、前回のトピックを読んで誠に勝手ながら推測だけで進みますが、時間の都合、考え方のヒントだけでもお伝えできればと思います。【考え方】
まず、商品を配送方法で分類します
1.ホールケーキなどの配送困難な生菓子類→店頭受け渡し予約販売とする
2.冷凍ケーキなどの通販可能なもの→冷凍便を使った通販(なければ無視してください)
3.チョコレート類→冷蔵便を使った通販(なければ無視してください)
4.焼き菓子類→常温での通常の通販のように分類して、区分の異なる商品が同一のカートに入らないようにする。
配送設定で配送方法をそれぞれ設定する
1.ホールケーキなど生菓子類→「店頭受け渡し」 指定時間帯指定しない 配達日数は利用しない 送料固定無料
2.冷凍ケーキ→「宅配便」 指定時間帯を指定 配達希望日数を設定する クール区分 冷凍 送料固定有料
3.チョコレート類→「宅配便」 指定時間帯を指定 配達希望日数を設定する クール区分 冷蔵 送料固定有料4.焼き菓子→「宅配便」 指定時間帯を指定 配達希望日数を設定する クール区分 常温 送料固定有料
配送設定で、配送方法を配送の優先順位を上から 1.→ 2.→ 3.→4.の順に並べる。
更に商品ごとに商品情報編集の配送方法で1.2.3.4.のどれに該当するか設定する。
1カートにつき1配送方法でしか注文できないので、オーダーレベルでは、これだけで自然と分かれます。
もし、ホールケーキと焼き菓子が同一カートに入れられたときには、店頭受け渡ししか選ぶことができなくなります。間違っても、ホールケーキに「宅配便」を選択されることはありません。焼き菓子を通販したければ、焼き菓子だけをカートに入れれば普通の通販の注文を受けられます。詳細な制御は、後述するバリデーションで制御するようにします。また、ご利用方法として、同一カートに1.2.3.4の混載はできない旨説明しておきます。カートページ設定のヘッダなどにも記載しておくことをおすすめします。(ホールケーキ類と焼き菓子のご注文はカートを分けて別々に注文いただく。)
上記が基本です。
で、今回のご質問のところについてどうするか考えます。
カートの3ステップ目(配送・支払方法)では、最短の配達可能日を算定するために配送地域や商品ごとの発送準備期間、配送休業日を考慮して、内部計算が行われています。ご要望の内容では、同一カート内の複数の商品ごとに、配達希望日をそれぞれ設定できるようにすることと同義になってしまいます。日時を変えて何度も配送しなくてはならず、これはシステム上極めて困難ですし、普通は誰も望まないでしょう。
例えば、クリスマスケーキの店頭受け渡しの予約販売を想定しておけばいいだけなのであれば、もっと単純に考える必要があります。配達可能日の内部計算もそもそも不要ですから。システムの日数計算は回避させます。
一日に焼けるホールケーキの制約もありますので、ケーキの種類、号数、そして、受け渡し予約販売日時をSKUで管理する必要があります。→プラグインWCEX SKU Select で作成します。
ろうそくの数やラッピングなどのオプションも必要になると思います。→プラグインWCEX Multi Price で作成します。
その他 ケーキに名前も入れる必要がありますので、名前を入れるオプションも必要です。
最近では、ケーキに顔写真を印刷できたりしますので写真を送ってもらう必要があったりします。これは、Contact Form 7 などで別に作ってもいいかもしれません。
SKU Select のところだけもう少し詳しく書きます。
ケーキは季節ものですので、年間を通じてそのケーキが購入できる期間がそれぞれある程度決まっていると思います。ですので、ケーキの種類ごとに1商品と考えます。
そして、ホールケーキならば、号数と予約販売日時をSKU Select の項目とします。
クリスマスケーキならば、焼き上がり予定日時で在庫管理ができるようになります。予め生産計画個数をSKUの在庫数に設定することで、販売計画が立ちます。生産計画を上回る受注はできなくなります。焼き上がる日時(受け渡しの日時)をSKUの一つ目として、
例えば、
12/22 10時~12時
12/22 12時~14時
12/22 14時~16時
12/22 16時~18時
12/23 10時~12時
12/23 12時~14時
12/23 14時~16時
12/23 16時~18時
12/24 10時~12時
12/24 12時~14時
12/24 14時~16時
12/24 16時~18時
のように設定します。SKUの二つ目をホールケーキの号数にします。
例えば
4号
5号
6号
7号
のように設定します。あとは、受け渡し日時 ✕ 号数 でそれぞれ台数を設定します。
クリスマスケーキA
SKU
12/22 10時~12時 ✕ 4号 10台
12/22 10時~12時 ✕ 5号 10台
12/22 10時~12時 ✕ 6号 10台
12/22 10時~12時 ✕ 7号 5台
12/22 12時~14時 ✕ 4号 10台
12/22 12時~14時 ✕ 5号 10台
12/22 12時~14時 ✕ 6号 10台
12/22 12時~14時 ✕ 7号 5台
12/22 14時~16時 ✕ 4号 10台
12/22 14時~16時 ✕ 5号 10台
12/22 14時~16時 ✕ 6号 10台
12/22 14時~16時 ✕ 7号 5台
・
・
・クリスマスケーキB
SKU
12/22 10時~12時 ✕ 4号 8台
12/22 10時~12時 ✕ 5号 8台
12/22 10時~12時 ✕ 6号 8台
12/22 10時~12時 ✕ 7号 3台
12/22 12時~14時 ✕ 4号 8台
12/22 12時~14時 ✕ 5号 8台
12/22 12時~14時 ✕ 6号 8台
12/22 12時~14時 ✕ 7号 3台
12/22 14時~16時 ✕ 4号 8台
12/22 14時~16時 ✕ 5号 8台
12/22 14時~16時 ✕ 6号 8台
12/22 14時~16時 ✕ 7号 3台
・
・
・
定番ケーキなど1年を通じて販売するものは、SKUが多くなりすぎるとシステムの負荷が重くなりますので、たとえ商品内容が同じであっても、SKU数が多くなりすぎないように、一定期間で区切って、複写したものを新しい商品として登録し直した方が良いと思います。削除すると購入履歴などに影響がありますので残しておくようにします。
以上のように設定すれば、ご質問内容のように、
到着希望日と到着時間の選択を、商品をカートに追加する際に選択できるようになります。あとは、余力があれば・・・
ホールケーキは、配送がないので色々不都合な点が出てきます。
配送方法が「店頭受け渡し」という条件で、各々のフィルターフックで内容を差し替える必要があります。・サンキューメールなどの「配送先」欄が不要なので、「受け取り方法」などに書き換え
・内容確認ページの配送先情報も同様に書き換え私の場合は、「店頭受け渡し」の場合は、「店頭にて決済」を作って、それしか選択できないように制限したり、最初からラジオボタンにチェックが入るようにしたり、カスタマイズしています。
ケーキの予約販売なら、いらずら注文防止のため、クレカとか前払いとかにする方がいいのかもしれませんね。カートの3ステップ目(配送・支払方法)→4ステップ目(内容確認)へ遷移する際のバリデーションが役に立ちます。→ usces_filter_delivery_check
選択できない配送方法やオプション等もこのフックを使ってゴリゴリにカスタマイズしていきます。
ここは、作り込みに結構時間が掛かります。良いお店ができることを楽しみにしています。
Alicia参加者ikeda 様
こんにちは。
Welcart 2.9.14 ~ こちらのタグも不要になっているかと思います。
ミスリード回避のため、私の認識で問題ないようでしたら、こちらのトピックも解決済みとしてください。こちらも、「よくある質問」を整理いただけますと幸いです。
よろしくお願いいたします。Alicia参加者ikeda 様
こんにちは。
いつもお世話になっております。Welcart 2.9.14 にて、reCAPTCHA v3 が修正されてからしばらく経ち、落ち着いたものとお見受けいたしますが、その後いかがでしょうか?まだ流動的でしょうか?
よくある質問
Welcart 2.9.11からの「配送・支払方法ページに Google reCAPTCHA を適用」のアップデートで、配送・支払方法ページから内容確認ページに進めなくなりました。
におきまして、ご利用のテーマの配送・支払方法ページのテンプレート「wc_delivery_page.php」に
…が存在していない可能性があります。このタグがない場合は Welcart Basic の「wc_delivery_page.php」を参考に追加してみてください。
ただし、usces_cart.css を無効化していない場合はスタイルの崩れが発生し、調整が必要になる場合もあります。
いずれにしても、”delivery-info” タグがないテーマでも動作するように仕様を検討いたします。と記されていますが、Welcart 2.9.14 でこの仕様が変更されて、”delivery-info”は、不要になったのではないでしょうか?その他の v3 導入ページと説明されているページについても同様に変更になっているかと思われます。
「お客様情報ページ」
wc_templates/cart/wc_customer_page.php
<form …name=”customer_form”…>…</form> →不要になった?「新規会員登録ページ」
wc_templates/member/wc_new_member_page.php
<div id=”memberpages”…>…</div> →不要になった?マイページの「クレジットカード登録・更新ページ」
wc_templates/member/wc_member_page.php ?
私は、WCEX DL Seller や WCEX AutoDelivery で該当決済サービスを使っていないので、調べられませんでした。 →不明のまま おそらく不要になった?また、同じく、よくある質問
拡張機能の Google reCAPTCHA を有効化しましたが、バッジが表示されません。
におきましては、Welcart 2.2 からの機能です。
2.2 では「新規会員登録ページ」と「お客様情報ページ」
2.5.5 からはマイページの「クレジットカード登録・更新ページ」
2.9.11 からは「配送支払方法ページ」と「内容確認ページ」に適用を追加しています。となっていますが、
Welcart 2.9.14 ~、「内容確認ページ」には、v3 が読み込まれなくなりました。ミスリード回避のため、落ち着いているようでしたらこちらの、「よくある質問」を整理いただけますと幸いです。
私の認識に問題がないようでしたら、このトピックを解決済みとしてください。
以上、お忙しいところ恐れ入りますが、よろしくお願いいたします。Alicia参加者rah-hy 様
ご連絡ありがとうございます。
イエローカードなんて出されてないと思いますよ。南部社長がこのフォーラムを作られた趣旨として、「このフォーラムは、ユーザー同士で情報を交換する場所です。サポートサイトではありませんのでご了承ください。」と仰っているように、有償サポートとは根本的に異なります。本来は会員同士の互助精神がないと成り立たないものかと思います。キーマスターの方のご厚意は当然のものではありませんし、お時間を割いてくださるのも限界がありますので、「焦らず気長に待つ」ということと、ユーザーも含めて「誰も回答できない」こともあるということの理解が必要です。
特にカスタマイズに関しては、本来有償であるべき内容ですので、運良くヒントをもらえることはあるかもしれませんが、ご本人にお気持ちはあっても、おそらく社内のルールでサポートできないことがあるので、「お察しください。」ということなのだと思います。質問の仕方を変えてみるとか、自分で試してみたことを書いてみるとか、どこのフォーラムでもよくある基本ルールを守った上で、関係ないプラグインを停止し、他社製テーマをご利用の場合は、共通のものさしである Welcart Basic に変えてみるとか、問題の切り分けをできる限りした上で質問するようにしなくてはいけません。おそらく、初心者のうちはそんなことすら分からず、ただ勇気を振り絞って最初の投稿をしてしまうものだと思います。答え易いように整理して質問すれば、ひょっとしたら他のユーザーからもヒントをもらえるかもしれません。
追加の情報を書き込むつもりが、新たなトピックを立ててしまったりなんてことも見ていて普通にあることですし、気づいて焦っても削除できない!ってこともよく見かけます。そんな投稿を、何も言わずそっと整理してくださるのも、優しいキーマスターの方々なんです。イエローカードではないと思いますよ。(たぶん、ですけど・・・。)
ちなみに、このトピックに回答くださった、ikeda 様はちょうど1年ほど前、その頃プログラム未経験の私にフックを使えばなんとかできるかもしれないと勇気づけてくれた恩人です。あのとき諦めないで良かったと本当に感謝しています。偉そうに聞こえるかもしれませんが、私もド素人の一人ですので、これからもいっしょにがんばりましょう!
Alicia参加者moma 様
ご連絡ありがとうございました。
他の事業者様の使い方が聞けて勉強になりました。
私は、プログラムに初めて触れてからまだ1年ぐらいで、Welcart の事もまだまだ分からないことばかりです。ほぼ毎日フォーラムを読んで勉強させてもらってます。本業が別にあるので歩みは遅いですが、最近は、重大なエラー!で怒られることが減ってきたかなと思ってます。少しは成長してるのかもしれません。Alicia参加者moma 様
ご連絡ありがとうございます。
そうですね。仰るような理由で、私も当初は2つに分けていたんです。ただ、受注報告メールに届いた備考欄に記されていたオーダーの要求が厳しすぎて、こちらからお客様に連絡を取る必要が出たときに、受注用メールアドレスに届いたメールから直接返信ボタンから連絡したいと思うようになったことがきっかけでした。いちいち送信用に切り替えるのが面倒になったんです。送信用アドレスのなりすまし対策(SPFなど)含めて手間が掛かるようになりました。スタッフの中には何も配慮せず、そのまま返信してしまう者もいますし、そうなると教育にも手間がかかるようになって・・・。お客様ごとにどちらで連絡をとっていたか管理できなくなって、それならば一緒にしてしまえ!となったわけです。
そういう過程を経て、最終的に別件のトピックにあったように受注報告メールの reply-to も変更することになりました。今では、すっかり落ち着いています。
それにしても、フックが扱える方でよかったです。やってることは小さな事かもしれませんが毎日のストレスを考えると、やらないよりは、やった方が絶対よいと思えるカスタマイズです。
Alicia参加者rah-hy 様
こんにちは。
仰りたい内容は、必須項目にしたカスタムフィールドが、全角スペースだけの入力でバリデーションが効かず、そのままカートが進んでしまって困ったということかと思います。
考え方のヒントだけお伝えします。
どこのバリデーションかわかりませんが、カスタムメンバーフィールドということですので、例えば、カートのお客様情報から、発送・支払方法ページへの遷移途中でチェックをかけるのでしたら、usces_filter_customer_check というフックになるかと思います。ここに、仰っている「個別の番号」を、接頭辞や使用する数字、桁数を正規表現で表したものを設定して、条件をクリアできなければ、アラートメッセージを表示してカートを進めなくするといった方法が一般的かと思います。
フックも場所によって異なりますので、過去のトピックを検索すれば出てくると思います。
もし、もっと良い方法があれば、そちらも教えて頂けないでしょうか。
難易度が少し高くなるかもしれませんが、私は、項目を移動したときにリアルタイムでチェックできる、jQuery-Validation Engine で、各種入力フォームを覆っています。興味がおありでしたら、Google などで検索してみてください。
- この返信は10ヶ月、 2週前にAliciaが編集しました。
Alicia参加者moma 様
こんにちは。
Welcart 2.9.14 ~
From は、送信元メールアドレス[ sender mail ] ( 新旧変わらず )
Reply-to は、受注用メールアドレス[ order mail ] (新設)
Reply-name は、サイトのタイトル [ blog name ] ( WordPress 設定 > 一般 )(新設)
Return-path は、エラーメールアドレス[ error mail ] (従来は、送信元メールアドレス)にメールの種類にかかわらず統一されました。
購入者宛メールからお客様が返信してくださる際、以前は【送信元メールアドレス】に届いていた
これまで、Reply-to はデフォルトでは指定されていませんでしたので、その場合には、一般的なメーラーでは、返信ボタンを押すと返信者が特に指定しない限り、”From:” フィールドに指定されているメールボックスに返信される仕様です。
【受注用メールアドレス】に届くようになりました。
つまり、送信元メールアドレス以外に返信して欲しい場合に、Reply-to を指定する必要があるということで、送信元メールアドレスのままでよければ、Reply-to を指定しなければよいということになります。(ちなみに、Return-path は、メールが届かなかったときに返すメールアドレスという意味で、通常の返信希望メールアドレスを指すものではありません。)
余談になりますが、私の場合は、お客様が返信なさるときにどのメールアドレスに返信するのかをあれこれ意識させることはしたくないので、受信用メールアドレスと送信元メールアドレスは同じにしています。「来たメールにそのまま返信していただく」のが迷わせないのではないかと考えています。 ましてや、返信ボタンを押したときに no-reply@ にして、質問メールは、お問い合わせフォーム限定にしてしまうサイトは、お客様本位ではないので好きではありません。
また、お客様が「連絡先」などに登録されるようなことがあったときにも、どちらを登録されるかわからないことや、返信ボタンを押して送信されるとも限らないことが理由です。元々、1つに統一しておけばそういった問題から開放されます。
また、受信用と送信元アドレスを分けたとしても、お客様のメーラーの操作次第によって、どちらにも届く可能性がありますので、結局のところ両方注意して見ておかなければならないことも大きな理由です。もちろん、考え方は人それぞれだと思います。
規模やスタッフの役割分担などの理由があって、受信用と送信元アドレスを分ける必要があることもあるかと思いますので、それを否定するわけではありません。(個人的には、返信をいただく機会が多くアドレスの使い分けをしていたので、以前の方が便利でした…)
今回、仕様変更になりましたので、元に戻すにはカスタマイズする必要があります。上記の説明をお読み頂ければ、Reply-to の指定を消去するか、送信元メールアドレスをReply-to に指定するかの対応が必要ということがお分かりいただけるかと思います。
フックが扱えるようであればそれが一番良いとは思いますが、扱えない方もいらっしゃるので、今回は、ikeda 様が仰っていることに沿った内容を補足する形になりますが、代替方法としてノーコードでも Reply-to を変更できる方法をお伝えしたいと思います。
残念ながら、ノーコードで Reply-to の指定を消去することはできません。残るは、送信元メールアドレスを Reply-to に設定する方法です。まず、 マニュアル を読みますと、
受注用メールアドレス(必須)
注文内容を受け取るためのメールアドレスを入力します。カンマ区切りで複数指定できます。となっています。
そして、こちらはマニュアルには書かれていないのですが、今回のアップデートでは、コードを読むかぎり Reply-to に指定されるのは、「 1番目の受注用メールアドレス[ first_order_mail ] 」 のようです。
つまり、Welcart Shop > 基本設定 受注用メールアドレス の
「 1番目 」 に 「送信元メールアドレス」を追加、そして「 , 」(カンマ)に続けて、
「 2番目 」 にこれまでの「受信用メールアドレス」を指定するこれだけで、Reply-to に「送信元メールアドレス」 がノーコードで設定されることになります。
デメリットですが、当然ながら、両方のメールアドレスに受注報告メールや各種管理メールのBCCメールといった自動送信メールが届くわけですが、こちらは、「送信元メールアドレス」に届いたメーラーの受信設定で、「送信元メールアドレス」でフィルタリングしてフォルダ分けを設定しておけば、これらの自動送信メールとお客様からの返信メールをフォルダで区別することが可能です。あとはこれらの自動送信メールが不要ならば、まとめて消去するだけです。
私のように、元々両方同じにされている方は、今回のアップデートの影響はほとんどないと思います。他にも、フックが扱えないという方がいらっしゃったら、試してみてください。私は、想像だけで実験していませんので、もし試された方がいらっしゃったら、このフォーラムにて共有いただけますと嬉しいです。
Alicia参加者kitagawa 様
mainichi web様お世話になっております。動かなくなっておりました、Reply-to へのカスタマイズにつきまして、遅くなりましたがその後の顛末です。
Welcart 2.9.10 → 2.9.14 まで emails.php をコンペアして確認したところ、私のところでは、フィルターフックの usces_send_ordermail_para_to_manager を利用したカスタマイズへの修正で問題なく動くようになりました。FFWでは、usces_filter_phpmailer_init で最終的に Fires after PHPMailer is initialized.部分の phpmailer_init への修正もされているようですが、自分だけでカスタマイズを管理できるのでそこまでの修正は不要でした。
自分のカスタマイズを停止して、FFWにて該当の機能を稼働させても、HTML形式でうまく機能しているのが確認できました。私としましては、これにて解決としていただいて構いません。この度は、大変お世話になりありがとうございました。
Alicia参加者furuta 様
ありがとうございます。痛み入ります。
急ぎません。
よろしくお願いいたします。Alicia参加者kitagawa 様
ご丁寧に連絡いただきましてありがとうございます。
私のところは、Welcart 2.9.14 にしても元の様には動きませんでした。2.9.11の時に変わった影響を受けているのだと思います。
やはり、FFWと同じように自分のカスタマイズを見直す必要があるのでしょう。私は、HTML形式ですので、元々FFWの機能は使えませんでした。今回のFFWのアップデートでは使えるようになっているのだと思います。両者出揃ったところで、変更後のemails.php 全体をコンペアして解読しないといけませんね。フックを追加してくださったとのこと。おそらくこれで以前より簡単になったのかと期待しています。私は、コーディング経験が浅く、時間が掛かりますのでしばらくはこのままでいくと思います。
今、まだ確定申告で時間が取れませんので、改めて落ち着いてから取り組むこととします。
この度はご案内ありがとうございました。Alicia参加者mainichi web 様
こんなところでお話しできるとは思っていませんでした。
お世話になっております。ご丁寧にありがとうございます。以前のバージョンでは、
if(!is_array($order_para['headers'])){ $order_para['headers'] = array();}
で元々含まれていた、”Content-Type: text/html” も初期化されて消えてしまっていましたので、HTML形式の人には使えてなかったと思います。
今回、調整事項があるとのことですので、Welcart 2.9.14 が出てからになりますが、また後日確認させていただきます。 この度はありがとうございました。
-
投稿者投稿