functions.phpにフィルターフックを設定する方法について

フォーラム テンプレート(テーマ) functions.phpにフィルターフックを設定する方法について

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

    クール便の料金を別途設定したく「カスタム・オーダーフィールド」に以下の設定をしました。
    フィールドキー cool
    フィールド名 Refrigerated courier service
    フィールドタイプ 「シングルセレクト」
    必須項目  チェックあり
    セレクト値 No select
    Select(Add:¥500)

    functions.php の156行目から163行目に下記を追加しました。
    //クール便を選択した場合にプラス500円
    add_filter(‘usces_filter_set_cart_fees_shipping_charge’, ‘custom_filter_set_cart_fees_shipping_charge’, 10, 3);
    function custom_filter_set_cart_fees_shipping_charge($shipping_charge, $carts, $entries){
    if($entries[‘custom_order’][‘cool’] == “Select(Select(Add:¥500) “){
    $shipping_charge += 500;
    }
    return $shipping_charge;
    }

    カートのPaiment oputionsでクール便を選択させるシングルセレクトボックスが表示され、選択可能ですが、次のConfirmationで、500円が追加されません。

    どのようにしたらよいのかご教授いただけますでしょうか?
    宜しくお願いいたします。

    #85902
    myhalal
    参加者

    利用環境は下記になります。どうぞよろしくお願いいたします。
    ——————————————-
    WordPress のバージョン:4.9.6
    Welcart のバージョン:1.9.1
    Welcart専用の拡張プラグイン:なし
    ご利用のテーマ:(例 Welstore)
    症状を確認したブラウザ:Chrome 67.0.3396.87(Official Build) (64 ビット)
    サーバー:heteml
    SSLの利用:(常時SSL)WordPress のパーマリンク設定:https://www.myhalal.co.jp/sample-post/
    ——————————————–

    #85913
    yskysmr
    キーマスター

    こんにちは。

    まず、該当のセレクト値は正しいでしょうか。

    if($entries[‘custom_order’][‘cool’] == “Select(Select(Add:¥500) “){

    この一文では、Select(Select(Add:¥500) が選択されているか、を判定していますが、この値が正しいか(本当にイコールになるか)をお確かめください。

    また、 は全角文字をご利用ですので、functions.php は必ず UTF-8 で保存してください。

    #85915
    myhalal
    参加者

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

    —————–
    この一文では、Select(Select(Add:¥500) が選択されているか、を判定していますが、この値が正しいか(本当にイコールになるか)をお確かめください。
    —————–
    とのことですが、、、
    カートページ設定>カスタムオーダーフィールドで添付のように、クール便を使うかどうかをSelectで選択するようにしており、Selectを選択した際に、カートにて¥500追加されるようにしたいため問題ないかと思われます。
    なお、文字コードや¥を半角に修正しても、カートで最終的に500円が追加されません。(現在代引き設定も使用しており、こちらはテーブルにのっとった追加料金が加算されます)
    他に何か考えれられることはあるでしょうか?

    改めて現在追加しているコードを転記いたします。

    //クール便を選択した場合にプラス500円
    add_filter( ‘usces_filter_set_cart_fees_shipping_charge’, ‘custom_filter_set_cart_fees_shipping_charge’, 10, 3);
    function custom_filter_set_cart_fees_shipping_charge($shipping_charge, $carts, $entries){
    if ($entries[‘custom_order’][‘cool’] == “Select(Add:\500)”){
    $shipping_charge += 500;
    }
    return $shipping_charge;
    }

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

    Attachments:
    You must be logged in to view attached files.
    #85919
    yskysmr
    キーマスター

    myhalal 様

    キャプチャの値(セレクト値)は Select(Add ¥500)
    カスタマイズのコードの値は Select(Add:¥500)

    コードには「:」が入っていますし、半角の「¥」マークになっています。カッコ()も、半角と全角が混ざっています。これではイコールになりません。明らかにコードに問題があります。
    また、functions.php の文字コードは必ず UTF-8、BOM なしで保存してください。

    • この返信は5年、 9ヶ月前にyskysmrが編集しました。
5件の投稿を表示中 - 1 - 5件目 (全5件中)
  • このトピックに返信するにはログインが必要です。