会員ランクごとのキャンペーン割引について

ホーム フォーラム その他 会員ランクごとのキャンペーン割引について

このトピックには2件の返信が含まれ、2人の参加者がいます。3 ヶ月前 kumikoy さんが最後の更新を行いました。

3件の投稿を表示中 - 1 - 3件目 (全3件中)
  • 投稿者
    投稿
  • #90431

    kumikoy
    参加者

    ——————————————-
    WordPress のバージョン:5.4.2
    Welcart のバージョン:1.9.31
    PHP のバージョン:7.4.4
    Welcart専用の拡張プラグイン:なし
    ご利用のテーマ:Welcart Beldad
    症状を確認したブラウザ:Safari、Chrome
    サーバー:エックスサーバー
    SSLの利用:常時SSL
    ——————————————–

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

    セールなどの際、基本設定で
    キャンペーン特典 > 値引きで「0%」にし、
    下記のコードをfunction.phpで会員ランクごとに割引率を変更しています。
    そのコードは、こちらのフォーラムで参考にさせていただき、正常に動いています。

    ただし今回、基本設定の「キャンペーン対象」で設定したカテゴリ以外の商品に対しても同じく値引きされてしまい、とても困っています。

    検索してみたところ、
    welcustom.net のコメント欄に、キャンペーン対象商品を保持したまま、会員限定のキャンペーンにするようなコードがあったので、参考にしてみたのですが、どうもうまくいきません。

    何か良い方法はありませんでしょうか?

    ーーーーー
    $options=get_option(‘usces’);
    if(‘Promotionsale’==$options[‘display_mode’]){
    add_filter(‘usces_order_discount’, ‘special_member_order_discount’, 10, 2);
    function special_member_order_discount($discount, $cart){
    global $usces;
    $entry = $usces->cart->get_entry();
    $total_items_price = $usces->get_total_price();
    $member_status = array( ‘通常会員’, ‘優良会員’, ‘VIP会員’);
    if( usces_is_login() ){
    if( usces_the_member_status(‘return’) == ‘通常会員’){
    $discount = ceil($total_items_price * 0.15 * -1);
    } elseif (usces_the_member_status(‘return’) == ‘優良会員’){
    $discount = ceil($total_items_price * 0.25 * -1);
    } elseif (usces_the_member_status(‘return’) == ‘VIP会員’){
    $discount = ceil($total_items_price * 0.35 * -1);
    }
    }
    return $discount;
    }
    }

    ーーーーー

    #90438

    yskysmr
    キーマスター

    こんにちは。

    ご提示のコードでは、「キャンペーン対象商品を保持したまま」には見えません。カート内の商品がキャンペーン対象の商品かどうかを判定する必要があるかと思います。

    #90443

    kumikoy
    参加者

    ご返信ありがとうございます。

    記載したコードは、単純にランク別の割引率のみとなります。

    その「キャンペーン対象商品を保持したまま」の方法が知りたいのですが、ご教授いただけないでしょうか。

3件の投稿を表示中 - 1 - 3件目 (全3件中)

このトピックに返信するにはログインが必要です。