代引き手数料設定

フォーラム 要望と提案 代引き手数料設定

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

    動作に関するご質問の場合は、下記をコピペしてご利用の環境をご記入ください。
    ——————————————-
    WordPress のバージョン:4.7.3
    Welcart のバージョン:1.9.1
    ご利用のテーマ:独自
    症状を確認したブラウザ:FireFox
    サーバー(会社名、サービス名):Xserver
    SSLの利用: 
    WordPress のパーマリンク設定:共用SSL
    ——————————————–

    お世話になります。

    代引き手数料の設定で金額は固定で、代引き手数料を
    商品個数x固定手数料としたいのですが可能でしょうか?

    #82525
    yskysmr
    キーマスター

    こんにちは。

    カスタマイズすれば可能かと思います。

    #82528
    st401
    参加者

    年度末のお忙しい中、早々のご連絡ありがとうございます。
    また、他力本願的な書き込みで失礼いたしました。

    方法として過去スレなどを拝見し
    add_filter(‘usces_filter_getCODFee’, ‘my_filter_getCODFee’, 10, 3);
    function my_filter_getCODFee(){
    $args = func_get_args(); //フックからデータを取得
    list ($fee, $payment_name, $amount_by_cod) = $args; //配列を変数にセット
    if ($payment_name == ‘代引き’) {
    $fee = $fee * $itemcount; //支払方法が代引きなら、手数料を200円に設定
    }
    return $fee;
    }

    とフックを試み、手数料の任意変更はできるのですが、別のfunctionでカート内の商品総数を引っ張るフィルターを見つけることができず、またfunction間の変数引用方法に躓いている次第です。

    #82533
    yskysmr
    キーマスター

    st401 様

    カート内の商品総数を引っ張るフィルターというものはありません。カートをループしてカウントしてください。
    カート内のデータは、

    global $usces;
    カート変数 = $usces->cart->get_cart();

    で取得できます。

    #82539
    st401
    参加者

    情報ありがとうございました。

    // 代引き手数料に個数を乗算
    add_filter(‘usces_filter_getCODFee’, ‘my_filter_getCODFee’, 10, 3);
    function my_filter_getCODFee(){
     global $usces; //カートから商品点数をループ
     $cart = $usces->cart->get_cart();
     $itemconut = 0;
     for($i=0; $i<count($cart); $i++) {
     $cart_row = $cart[$i];
     $itemconut += esc_attr($cart_row[‘quantity’]);
     }
     $args = func_get_args(); //フックからデータを取得
     list ($fee, $payment_name, $amount_by_cod) = $args; //配列を変数にセット
     if ($payment_name == ‘代引き’) {
     $fee = $fee * $itemconut;
     }
     return $fee;
    }

    で無事に算出計算することができました。

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