فیلتر تغییر درصد پورسانت
- نام: hmyt_affiliate_commission_rate
- این قلاب به شما اجازه میدهد تا درصد پورسانت را به صورت داینامیک و قبل از محاسبه مبلغ نهایی تغییر دهید. این قلاب روی درصد پورسانت (مثلاً ۷٪) که برای یک آیتم خاص در سبد خرید اعمال میشود، اجرا میگردد.
پارامترها:
[php]
/**
* فیلتر برای تغییر درصد پورسانت یک آیتم خاص در سفارش.
*
* @param float $commission_rate درصد پورسانت فعلی (مثلاً 7 برای ۷٪).
* @param int $ref_id شناسه کاربر بازاریاب.
* @param object $item آبجکت آیتم سفارش ووکامرس.
* @param object $order آبجکت سفارش ووکامرس.
*/
[/php]
مثال۱: پورسانت پلکانی
[php]
add_filter('hmyt_affiliate_commission_rate', function($commission_rate, $ref_id, $item, $order) {
$transactions = get_user_meta($ref_id, 'hmyt_affiliate_transactions', true);
$total_sales = is_array($transactions) ? count($transactions) : 0;
// مهم: شرطها را از بزرگ به کوچک بنویسید
if ($total_sales > 10) {
// اگر بیش از 10 فروش داشته، 5% اضافه کن
$commission_rate += 5; // مثلا از 7% به 12%
} elseif ($total_sales > 5) {
// در غیر این صورت، اگر بیش از 5 فروش داشته، 2% اضافه کن
$commission_rate += 2; // مثلا از 7% به 9%
}
return $commission_rate;
}, 10, 4);
[/php]
مثال۲: افزایش پورسانت برای محصولات یک دسته خاص
[php]
add_filter('hmyt_affiliate_commission_rate', function($commission_rate, $ref_id, $item, $order) {
$product_id = $item->get_product_id();
$special_category = 'ebooks'; // اسلاگ دسته
if (has_term($special_category, 'product_cat', $product_id)) {
// برای محصولات این دسته، پورسانت را 2 برابر کن
return $commission_rate * 2;
}
return $commission_rate;
}, 10, 4);
[/php]
مثال۳: پورسانت ویژه برای بازاریابان خاص
توجه داریم علاوه بر قلاب زیر، میتونید در صفحه ویرایش هرکاربر هم پورسانت سفارشی تعیین کنید.
[php]
add_filter('hmyt_affiliate_commission_rate', function($commission_rate, $ref_id, $item, $order) {
// لیست شناسههای کاربری بازاریابان خاص
$vip_marketers = [10, 25, 150];
if (in_array($ref_id, $vip_marketers)) {
// به این بازاریابان همیشه 5% پورسانت بیشتر بده
return $commission_rate + 5;
}
return $commission_rate;
}, 10, 4);
[/php]
مثال۴: دو برابر شدن پورسانت برای دستهبندی خاص در کمپین
[php]
add_filter('hmyt_affiliate_commission_rate', function($commission_rate, $ref_id, $item, $order) {
$product_id = $item->get_product_id();
$special_category = 'digital'; // اسلاگ دستهبندی مورد نظر
// تاریخ شروع و پایان کمپین به میلادی
$campaign_start = '2025-12-20';
$campaign_end = '2025-12-27';
$today = time();
if ($today >= strtotime($campaign_start) && $today <= strtotime($campaign_end)) {
if (has_term($special_category, 'product_cat', $product_id)) {
return $commission_rate * 2;
}
}
return $commission_rate;
}, 10, 4);
[/php]
مثال۵: پاداش برای بازاریابان با نقش کاربری خاص
[php]
add_filter('hmyt_affiliate_commission_rate', function($commission_rate, $ref_id, $item, $order) {
$user = get_userdata($ref_id);
$vip_roles = ['editor', 'vip_marketer']; // نقشهای کاربری خاص
if ($user && !empty(array_intersect($vip_roles, $user->roles))) {
return $commission_rate + 5; // 5% پورسانت بیشتر
}
return $commission_rate;
}, 10, 4);
[/php]
مثال۶: افزایش پورسانت برای محصولات جدید (منتشر شده در ۳۰ روز اخیر)
[php]
add_filter('hmyt_affiliate_commission_rate', function($commission_rate, $ref_id, $item, $order) {
$product_id = $item->get_product_id();
$product_post_date_ts = get_post_time('U', true, $product_id);
$thirty_days_ago_ts = strtotime('-30 days');
if ($product_post_date_ts > $thirty_days_ago_ts) {
return $commission_rate * 1.5; // ۵۰٪ پورسانت بیشتر
}
return $commission_rate;
}, 10, 4);
[/php]
مثال۷: پاداش برای بازاریابان حرفهای (بر اساس درآمد کل)
- افزایش ۵٪ به درصد پورسانت
[php]
add_filter('hmyt_affiliate_commission_rate', function($commission_rate, $ref_id, $item, $order) {
$total_income = (float) get_user_meta($ref_id, 'hmyt_affiliate_total_income', true);
if ($total_income > 1000000) { // ۱ میلیون تومان
return $commission_rate + 5;
}
return $commission_rate;
}, 10, 4);
[/php]
مثال۸: پورسانت ویژه برای جذب مشتریان جدید
به ازای سفارش مشتریان جدیدی که برای اولین بار از سایت محصول خریداری میکنند، پورسانت ویژه ای به بازاریاب درنظر بگیرید:
- حالت اول: دو برابر شدن درصد پورسانت
[php]
add_filter('hmyt_affiliate_commission_rate', function($commission_rate, $ref_id, $item, $order) {
$customer_id = $order->get_customer_id();
if ($customer_id > 0 && wc_get_customer_order_count($customer_id) === 1) {
return $commission_rate * 2;
}
return $commission_rate;
}, 10, 4);
[/php]
- حالت دوم: ۵ درصد بیشتر
[php]
// کافیست در کد بالا، خط `return $commission_rate * 2;` را به `return $commission_rate + 5;` تغییر دهید.
[/php]
مثال۹: حفظ حاشیه سود در تخفیفات بالا
[php]
add_filter('hmyt_affiliate_commission_rate', function($commission_rate, $ref_id, $item, $order) {
$product = $item->get_product();
if ($product && $product->is_on_sale()) {
$regular_price = (float) $product->get_regular_price();
$sale_price = (float) $product->get_sale_price();
if ($regular_price > 0) {
$discount_percentage = (($regular_price – $sale_price) / $regular_price) * 100;
if ($discount_percentage > 50) { // اگر تخفیف بیشتر از ۵۰٪ باشه
return $commission_rate / 2; // پورسانت نصف میشه
}
}
}
return $commission_rate;
}, 10, 4);
[/php]