配送日目安の細かな指定について

フォーラム 使い方全般 配送日目安の細かな指定について

  • このトピックには5件の返信、3人の参加者があり、最後にAliciaにより6日、 8時間前に更新されました。
6件の投稿を表示中 - 1 - 6件目 (全6件中)
  • 投稿者
    投稿
  • #92741
    maxstone
    参加者

    ——————————————-
    WordPress のバージョン:5.4.1
    Welcart のバージョン:1.9.33
    PHP のバージョン:7.3.3
    Welcart専用の拡張プラグインとバージョン:WCEX SKU Select 1.1.10
    ご利用のテーマ:Welcart Beldad
    症状を確認したブラウザ:chrome
    サーバー:google cloud platform
    SSLの利用:常時SSL
    ——————————————-

    商品の配送日目安について、日数が多くなるほど、1週間前後、2週間前後と大まかな時間指定になりますが、10日前後、12前後など細かな指定をさせるカスタマイズは可能でしょうか?
    お教え頂けますと幸いです。

    #92790
    sagawa
    キーマスター

    こんにちは。

    $usces->options[‘usces_shipping_indication’]に各日数が設定され、計算に用いられています。
    「usces_filter_shipping_indication」フックを利用することで、各日数の変更が可能です。
    発送・支払方法ページの配送希望日に反映されるかと思います。

    #92857
    maxstone
    参加者

    ご回答ありがとうございます。
    やってみようかと思ったのですが、下記の一覧に例がなく、またreturnの後などに何を記述するのかが分からず難しい状態です。
    https://www.welcart.com/documents/archives/hook_category/filter_hook

    おそらく、下記のような記述を書くのだと推測しているのですが、全く見当がつかない状態です。

    add_filter( ‘usces_filter_shipping_indication’, ‘my_filter_shipping_indication’ );
    function my_filter_shipping_indication( $? ) {
    //処理
    return $?
    }

    お手数ですが、記述例をお教えくださいますと幸いです。

    #92868
    sagawa
    キーマスター

    maxstone様

    申し訳ありませんが、ここでのレクチャおよびコードの提供はしておりません。
    ご自身でのカスタマイズが難しい場合は、WelCustomよりご依頼いただければと思います。

    #101802
    Alicia
    参加者

    いつも、大変お世話になっております。

    同じようなことを考えていましたら、このトピックに辿り着きました。

    一応カスタマイズは完成して無事動いているのですが、1箇所、探しようが下手なのかどうしても、フックを見つけることができず、今のところ魔改造になってしまっています。フックの設置をご検討頂けないでしょうか。

    やりたいことは、このトピ主様と同様です。

    $shipping_rule につきまして、

    【デフォルト】
     0 ⇒ –選択–
     1 ⇒ 即日
     2 ⇒ 1~2日後
     3 ⇒ 2~3日後
     4 ⇒ 3~5日後
     5 ⇒ 4~6日後
     6 ⇒ 約1週間後
     7 ⇒ 約2週間後
     8 ⇒ 約3週間後
     9 ⇒ 商品入荷後

    のところ・・・

    【カスタマイズ】
     0 ⇒ –選択–
     1 ⇒ 本日中
     2 ⇒ 明日中
     3 ⇒ 明後日中
     4 ⇒ 3日以内
     5 ⇒ 4日以内
     6 ⇒ 5日以内
     7 ⇒ 6日以内
     8 ⇒ 7日以内
     9 ⇒ 8日以内
       ・
       ・
    31 ⇒30日以内
    32 ⇒31日以内
    33 ⇒準備でき次第

    のようにフックで変更しました。

    また、sagawa 様がご説明されている、$shipping_indication もフックで変更できました。

    array( 0, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 0 )

    上記の結果、商品詳細ページなどの管理画面は、問題なくカスタマイズ完了しました。

    次に、フロント側のカートの「発送・支払方法」ページの 到着希望日の計算の Java の制御についてです。

    【カスタマイズ】
     0 ⇒ –選択–  ← 元々の ID=0 は変わらずなので問題は起こりません
     1 ⇒ 本日中
     2 ⇒ 明日中
     3 ⇒ 明後日中
     4 ⇒ 3日以内
     5 ⇒ 4日以内
     6 ⇒ 5日以内
     7 ⇒ 6日以内
     8 ⇒ 7日以内
     9 ⇒ 8日以内   ← 元々の ID=9 は「商品入荷後」だったので影響が出てきます
       ・
       ・
    31 ⇒30日以内
    32 ⇒31日以内
    33 ⇒準備でき次第  ← 元々の ID=9 の「商品入荷後」の役割をさせたい

    問題となる該当のコードですが、
    delivery_info_script.php (Welcart 2.10.2 現在) 内

    74行目
    if ( 0 === (int) $item_shipping || 9 === (int) $item_shipping ) { 

    及び

    205行目
    case 9:

    について、205行目につきましては、フックが存在しましたので、問題なく case 33: に変更できました。

    フックを見つけられなかったのは、74行目の方です。

    74行目
    if ( 0 === (int) $item_shipping || 33 === (int) $item_shipping ) {

    に変更したいのですが、現在のところ、御法度をやらかしたままです。
    コードの下の方まで読んで、何とか丸ごと書き換えられる場所がないかと悩んだのですが、私の現在の力量では及びませんで、詰んでしまいました。

    この部分が修正できないと、結局のところ、元々のID=9 の位置にある「8日以内」に設定した場合に、フロントサイドのカートの「発送・支払方法」ページにて到着希望日が「指定できません」になってしまいます。

    この74行目の
    if ( 0 === (int) $item_shipping || 9 === (int) $item_shipping ) {

    について、75行目の $shipping をフックで修正できるようにならないものでしょうか。

    毎度、お忙しいところ恐れ入りますが、ご検討よろしくお願いいたします。
     

    #101803
    Alicia
    参加者

    すみません。漏れてました。
    ——————————————-
    テスト環境
    WordPress のバージョン: 6.4.3
    Welcart のバージョン: 2.10.2
    PHP のバージョン: 8.0.30
    Welcart専用の拡張プラグインとバージョン: WCEX SKU Select 1.4.5 WCEX Multi Price 1.3.3
    ご利用の親テーマとバージョン : Welcart Basic: 1.8.3
    ご利用の子テーマとバージョン : なし
    症状を確認したブラウザ: Chrome
    サーバー【重要】:Xserver シン・レンタルサーバー ベーシック
    ——————————————–

6件の投稿を表示中 - 1 - 6件目 (全6件中)
  • このトピックに返信するにはログインが必要です。