Welcart では様々な条件によって割引きの設定をするカスタマイズが行えます。
この記事では、カート内に特定の商品が入っているかどうかという条件によって割引きを行うカスタマイズ方法を説明します。
カスタマイズではテーマ内の PHP ファイルの編集を行います。
ご自身での対応に自信がない場合、カスタマイズ対応も承っておりますのでお問い合わせフォームからお気軽にお問い合わせいただければと思います。
使用するフック
使用するフック:
- usces_order_discount(割引価格の設定用)
- usces_confirm_discount_label(表示ラベルの変更用)
カスタマイズ例
カート内に入っている商品個数によって割引きを行う場合
「カート内に商品が 2 個以上入っている場合に、2 個目以降は 1 個につき 1,000 円分の割引きをする」といった設定の場合のサンプルコードです。
// 複数個購入すると 2 個目以降は 1,000 円割引きする設定のカスタマイズ
add_filter('usces_order_discount', 'customize_order_discount', 10, 2);
function customize_order_discount($discount, $cart){
$count = 0;
foreach ( $cart as $product ) {
$count += $product['quantity'];
}
$discount = -1000 * ($count - 1);
return $discount;
}
カート情報からカート内にある商品の個数をカウントして、個数-1 個分 ×1,000 円の割引きを設定しています。$discountにはマイナスの数を設定することに注意です。
確認画面ではデフォルトでは「キャンペーン割引」という表示ラベルで表示されますので、こちらの表示内容を変更したい場合は以下のようなコードを追加します。
// キャンペーン割引の表示の変更カスタマイズ
add_filter('usces_confirm_discount_label', 'customize_confirm_discount_label',1,10);
function customize_confirm_discount_label() {
return '割引';
}
こちらで表示ラベルを「割引」という表示に変更することができます。
確認方法
functions.php にカスタマイズ内容のコードを追加して保存を行った後は、カートに商品を入れて注文入力を進めて表示される注文確認画面の割引欄で実際に割引が適用されているかを確認することができます。
最後に
お得なキャンペーン商品などを設定したい場合にこちらのカスタマイズで設定を行うことができますので機会がありましたら利用してみてください。
割引の設定となりますが、割引額の設定をマイナスの数ではなくプラスの数を設定しますと逆に料金を加算することも可能となっておりますので、いろいろな使い方ができるカスタマイズとなります。
上手く動作しない場合やより複雑な条件を設定したい場合は、下記お問い合わせフォームにてカスタマイズのご相談や対応も受け付けております。