فیلتر تغییر مبلغ نهایی پورسانت
- نام: hmyt_affiliate_commission_amount
- این فیلتر پس از محاسبه مبلغ پورسانت (قیمت × درصد) اجرا میشود و به شما اجازه میدهد مبلغ نهایی را به صورت مستقیم دستکاری کنید. برای افزودن یا کسر یک مبلغ ثابت (پاداش یا جریمه) عالی است.
پارامترها:
[php]
/**
* فیلتر برای تغییر مبلغ نهایی پورسانت یک آیتم خاص.
*
* @param float $commission_for_this_item مبلغ پورسانت محاسبهشده برای این آیتم.
* @param int $ref_id شناسه کاربر بازاریاب.
* @param object $item آبجکت آیتم سفارش ووکامرس.
* @param object $order آبجکت سفارش ووکامرس.
*/
[/php]
مثال۱: کسر هزینه ثابت از پورسانت هر تراکنش (مثلا کارمزد)
[php]
add_filter('hmyt_affiliate_commission_amount', function($commission_for_this_item, $ref_id, $item, $order) {
// از پورسانت هر تراکنش مبلغ 1000 تومان کم کن
$fee = 1000;
// اطمینان از اینکه پورسانت منفی نمیشه
return max(0, $commission_for_this_item – $fee);
}, 10, 4);
[/php]
مثال۲: پاداش برای بازاریابان حرفهای (بر اساس درآمد کل)
- افزودن ۵,۰۰۰ تومان به مبلغ نهایی پورسانت سفارش
[php]
add_filter('hmyt_affiliate_commission_amount', function($commission_for_this_item, $ref_id, $item, $order) {
static $bonus_added_for_order = [];
$order_id = $order->get_id();
if (isset($bonus_added_for_order[$order_id])) {
return $commission_for_this_item;
}
$total_income = (float) get_user_meta($ref_id, 'hmyt_affiliate_total_income', true);
if ($total_income > 1000000) {
$commission_for_this_item += 5000;
$bonus_added_for_order[$order_id] = true;
}
return $commission_for_this_item;
}, 10, 4);
[/php]
مثال۳: پاداش ثابت برای اولین فروش موفق بازاریاب
[php]
add_filter('hmyt_affiliate_commission_amount', function($commission_for_this_item, $ref_id, $item, $order) {
static $first_sale_bonus = [];
$order_id = $order->get_id();
if (isset($first_sale_bonus[$order_id])) {
return $commission_for_this_item;
}
$transactions = get_user_meta($ref_id, 'hmyt_affiliate_transactions', true);
if (empty($transactions)) {
$commission_for_this_item += 100000; // 100,000 تومان پاداش
$first_sale_bonus[$order_id] = true;
}
return $commission_for_this_item;
}, 10, 4);
[/php]
مثال۴: پاداش برای سفارشهای با مبلغ بالا (بیش از ۲ میلیون تومان)
[php]
add_filter('hmyt_affiliate_commission_amount', function($commission_for_this_item, $ref_id, $item, $order) {
static $high_value_bonus = [];
$order_id = $order->get_id();
if (isset($high_value_bonus[$order_id])) {
return $commission_for_this_item;
}
if ($order->get_total() > 2000000) {
$commission_for_this_item += 200000; // 200,000 تومان پاداش
$high_value_bonus[$order_id] = true;
}
return $commission_for_this_item;
}, 10, 4);
[/php]
مثال۵: تبدیل همه پورسانتها به مبلغ ثابت (به ازای هر محصول)
[php]
add_filter('hmyt_affiliate_commission_amount', function($commission_for_this_item, $ref_id, $item, $order) {
// به ازای هر محصول افیلیت دار در سبد خرید، 5000 تومان پورسانت ثابت بده
return 5000;
}, 10, 4);
[/php]
مثال۶: پاداش نقدی برای فروش یک محصول ویژه
[php]
add_filter('hmyt_affiliate_commission_amount', function($commission_for_this_item, $ref_id, $item, $order) {
$strategic_product_id = 123; // شناسه محصول ویژه
if ($item->get_product_id() == $strategic_product_id) {
$commission_for_this_item += 50000;
}
return $commission_for_this_item;
}, 10, 4);
[/php]
مثال۷: پاداش برای فروش با تعداد بالا در یک سفارش
[php]
add_filter('hmyt_affiliate_commission_amount', function($commission_for_this_item, $ref_id, $item, $order) {
$quantity = $item->get_quantity();
if ($quantity > 5) {
$extra_items = $quantity – 5;
$bonus_per_item = 10000;
$commission_for_this_item += ($extra_items * $bonus_per_item);
}
return $commission_for_this_item;
}, 10, 4);
[/php]