カート内で選択された配送方法をgetする方法

フォーラム 使い方全般 カート内で選択された配送方法をgetする方法

タグ: 

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

    御世話になります。選択された配送方法のgetの仕方について、質問させてください。

    ——————————————-
    WordPress のバージョン:5.4.2–ja
    Welcart のバージョン:1.9.31
    PHP のバージョン:7.3.16
    Welcart専用の拡張プラグインとバージョン:なし
    ご利用のテーマ:自作テーマ
    症状を確認したブラウザ:Google Chrome
    サーバー:xServer
    SSLの利用:なし(テスト中のため。本番稼働時にSSL化予定)
    ——————————————–

    宅急便とネコポスの2つの配送方法/送料設定をしています。

    送料無料を宅急便の場合は4500円以上のお買い上げで、ネコポスの場合は3000円以上のお買い上げとして設定したいと考えています。

    他の質問を確認し、カスタマイズが必要だということが分かり、当方で調査しながら作っていこうと思っております。

    https://www.welcart.com/community/forums/topic/%E6%9C%AA%E8%A7%A3%E6%B1%BA-%E9%80%81%E6%96%99%E7%84%A1%E6%96%99%E6%9D%A1%E4%BB%B6%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6 にて送料を再計算する’usces_filter_getShippingCharge’というフックがあることは分かりました。

    そこで示されている例を参考に、

    add_filter(‘usces_filter_getShippingCharge’, ‘my_filter_getShippingCharge’, 10, 3);
    function my_filter_getShippingCharge($charge){
    global $usces;
    $total = $usces->get_total_price( $cart );
    $deli_method = << カート内で選択された配送方法を設定したい >>;
    if ( ($total >= 4500) && ($deli_method == “宅急便の配送方法名”) ) {
    $charge = 0;
    }
    if ( ($total >= 3000) && ($deli_method == “ネコポスの配送方法名”) ) {
    $charge = 0;
    }
    return $charge;
    }

    のような記載をfunction.phpに加えテストをしたいと思っているのですが、上記の<< >>で示したカート内で選択された配送方法をgetする方法が分からず、ご教示頂けませんでしょうか。

    どうぞ宜しくお願いいたします。

    #90469
    yskysmr
    キーマスター

    こんにちは。

    usces_filter_getShippingCharge フックがある、メインクラス内の getShippingCharge という関数を参考にしてみてください。

    #90762
    bsworks_01
    参加者

    yskysmr様、

    返信が大変遅くなりまして申し訳ございません。
    cartの内容からget_entryした[‘order’][‘delivery_method’]より配送方法のIDを摘出する形で動かすことができました。

    どうもありがとうございました。

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