WCEX Auto DeliveryとWCEX Multiple Shippingの併用について

フォーラム 拡張プラグイン WCEX Auto DeliveryとWCEX Multiple Shippingの併用について

  • このトピックには6件の返信、2人の参加者があり、最後に5ioにより3年、 4ヶ月前に更新されました。
7件の投稿を表示中 - 1 - 7件目 (全7件中)
  • 投稿者
    投稿
  • #93746
    5io
    参加者

    お世話になっております。
    WCEX Multiple Shippingを使っており、その上で送料計算をフィルターフックでカスタマイズしています。
    この状態でWCEX Auto Deliveryを追加して定期購入と複数配送先指定の機能を併用した状態で運用予定です。

    送料計算は「usces_filter_set_cart_fees_shipping_charge」フックを使って独自の送料計算をしています。

    この状態でWCEX Auto Deliveryをインストールして多少カスタマイズし定期購入をテストしていたところ、
    2回目以降の自動注文時の送料が0円になってしまう状態になりました。

    ■調べた結果
    Multiple Shippingも上記フィルターに関数「msa_filter_set_cart_fees_shipping_charge」をフックしているようでした。この関数には以下の1行があるのですが、
    $shipping_charge = $usces->getShippingCharge( $entries['delivery']['pref'] );

    getShippingChargeは第2、第3引数で$cart情報と$entry情報を受け持っています。
    この引数がない場合、内部的にcartとentryを取得する関数を実行して補っているようです。

    以下のように:
    if( empty($cart) )
    $cart = $this->cart->get_cart();

    if( empty($entry) )
    $entry = $this->cart->get_entry();

    しかし、定期購入の2回目以降だと「get_cart()」「get_entry()」で情報取得が出来ていなく、これが原因で送料計算が出来ていないようでした。
    定期購入プラグインではこの問題をプログラムによるcart作成処理で補っているようでした。(functions/function.phpの「//Make cart」というコメントがある箇所)

    不具合と断定できない調査途中の投稿で恐れ入ります。

    ——————————————-
    WordPress のバージョン: 5.7.2
    Welcart のバージョン: 2.2.1
    PHP のバージョン: 7.4.13
    Welcart専用の拡張プラグインとバージョン: WCEX Auto Delivery 1.2.3, WCEX Multiple Shipping 1.2.0
    ご利用のテーマ:自作テーマ
    症状を確認したブラウザ: Chrome
    サーバー【重要】: Xserver
    ——————————————–

    #93763
    sagawa
    キーマスター

    こんにちは。

    WCEX Auto Deliveryを追加して定期購入と複数配送先指定の機能を併用した状態で運用予定

    「WCEX Multiple Shipping」で指定した配送先に、定期購入商品を配送する運用をされたいとのことですが、マニュアルにもあります通り、こちらの運用はできません。
    https://www.welcart.com/docs/AutoDelivery/caution.html

    #93773
    5io
    参加者

    ご回答ありがとうございます。

    定期購入時に復数配送先指定は必要ないのですが、2つのプラグインを同時に有効化すること自体サポート対象外、という認識で間違いないでしょうか?

    定期購入商品がカートにあると復数配送先指定ができなくなるまでは問題ないのですが、上述のフィルターフックにより2回目以降の自動注文時の送料が0円になると見ております。

    #93774
    5io
    参加者

    連投失礼いたします。
    補足になります。

    2回目の自動注文時に復数配送先指定の送料計算関数が動き、この関数内でカート情報が取得できない、という処理のように見えるのでフィルターフックは関係無いかもしれません。

    カート情報を取得できない場合はプログラムで擬似的にカート情報を作成する、という形で処理予定です。

    #93784
    5io
    参加者

    調査の進捗です。
    2回目の自動注文時の送料計算の問題は、$cart変数ではなく$entry変数が設定できていないようでした。

    「usces_filter_getShippingCharge」フィルターを使い以下の内容で処理を作成予定です。

    ■「empty($entry[‘order’][‘delivery_method’])」などentry変数の中身が空だと送料計算がされないので、空の場合に処理を追加する。

    1.$cart変数の”regdet_post_id”を元に”usces_regular_detail”テーブルから定期購入履歴を取得
    2.この情報を元に$entry変数を生成
    3.生成した$entryを元に改めてgetShippingChargeの処理を記述する

    #93788
    sagawa
    キーマスター

    5io様

    定期購入時に復数配送先指定は必要ないのですが、2つのプラグインを同時に有効化すること自体サポート対象外、という認識で間違いないでしょうか?

    おっしゃる通りサポート対象外となります。

    #93805
    5io
    参加者

    ご回答ありがとうございます。
    承知しました。
    カスタマイズを進めてみます。

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