Welcart 購入時の獲得ポイント数を条件に応じて変更する方法

Welcartでは管理画面の基本設定 “ポイント率初期値” という項目で商品の本体価格の合計に対して何パーセントのポイントを付与するか整数でしていしますが、税込み価格に対して付与したい場合などに小数点以下の値を入力しようとしても受け付けてくれません。

今回は税込み価格に対してポイントを付与するカスタマイズ方法を書いて行きます。

獲得ポイントカスタマイズ

“usces_filter_get_order_point” というフィルターフックに追加する独自関数を functions.php 等についかして獲得ポイントのカスタマイズを行います。

/**
 * 獲得ポイントカスタマイズ
 */
function ag_usces_filter_get_order_point( $point, $member_id, $mode, $cart )
{
    /* 消費税分を対象にするため獲得ポイントを 1.1 倍にする */
    $point = $point * 1.1;
    
    return (int)$point;
}
add_filter( 'usces_filter_get_order_point',  'ag_usces_filter_get_order_point', 10, 4 );

上記のサンプルコードは、獲得予定のポイント数に “1.1” をかけて税込み価格の金額に対して 1%のポイントが付与されるようになっています。

今回はすべての方に対するカスタマイズですが、$member_id が取得出来ますので特定の会員のみポイントの倍率を変更するようなカスタマイズも出来そうですね。

動作環境情報

エックスサーバー(x10)
PHP 7.3.16
MySQL 5.7
WordPress 5.5.1

コメント

タイトルとURLをコピーしました