راهنمای کار با افزونه
مستندات قلابها
اکشن بعد از ثبت تراکنش
شروع کار با قلاب ها
فیلتر تغییر درصد پورسانت
فیلتر تغییر مبلغ نهایی پورسانت
اکشن قبل از ثبت درخواست وجه
اکشن بعد از تغییر وضعیت درخواست
فرم اطلاعات مهمان در چت بات
علاقه مندی ها
دیدگاه های پیشرفته
اکشنهای داشبورد همکاری
تاریخچه آپدیت ها
ماژول هوش مصنوعی
اکشنهای داشبورد همکاری
ایجاد منوی همکاری در فروش در پنل کاربری ووکامرس
با استفاده از این قلاب، منوی علاقه مندی ها در پنل کاربری ووکامرس اضافه و نمایش داده خواهد شد.
add_filter( 'woocommerce_account_menu_items', function( $items ) {
$new = [];
$i = 1;
foreach ( $items as $key => $label ) {
$new[$key] = $label;
if ( $i === 1 ) {
$new['affiliate-dashboard'] = 'همکاری در فروش';
}
$i++;
}
return $new;
} );
add_action( 'init', function() {
add_rewrite_endpoint( 'affiliate-dashboard', EP_PAGES );
} );
add_action( 'woocommerce_account_affiliate-dashboard_endpoint', function() {
echo do_shortcode('[affiliate_dashboard]');
} );
اکشنهای داشبورد همکاری
- نام: hmyt_affiliate_dashboard_before_tabs و hmyt_affiliate_dashboard_after_tabs
- به شما اجازه میدهد تا محتوای سفارشی را قبل یا بعد از منوی تبهای داشبورد نمایش دهید.
پارامترها:
/**
* اکشن برای نمایش محتوا قبل از تبهای داشبورد همکاری.
*
* @param int $user_id شناسه کاربر فعلی.
*/
مثال۱: نمایش اطلاعیه عمومی در بالای داشبورد
به همه کاربران قبل از داشبورد همکاری، اطلاعیه دلخواه نمایش دهید
add_action('hmyt_affiliate_dashboard_before_tabs', function($user_id) {
echo '<div class="hmyt-alert hmyt-alert-success" style="margin-bottom: 20px;">توجه: به مناسبت عید نوروز، تمام پورسانتها تا آخر اسفند ماه دو برابر محاسبه خواهد شد!</div>';
}, 10, 1);
مثال۲: نمایش یک پیام تبریک به بازاریابان برتر
درصورتی که درآمد کل بازاریاب بیش از یک میلیون تومان باشد، قبل از داشبورد همکاری به کاربر پیام سفارشی نمایش دهید
add_action('hmyt_affiliate_dashboard_before_tabs', function($user_id) {
$total_income = (float) get_user_meta($user_id, 'hmyt_affiliate_total_income', true);
if ($total_income > 1000000) {
echo '<div class="hmyt-alert hmyt-alert-success">تبریک! شما یکی از بازاریابان برتر ما هستید. به تلاش خود ادامه دهید!</div>';
}
}, 10, 1);
مثال۳: نمایش جدول “برترین بازاریابان ماه”
نمایش جدول رتبه بندی برترین بازاریابان بهمراه نام و درآمد ماه کاربر
add_action('hmyt_affiliate_dashboard_before_tabs', function($user_id) {
$start_of_month = date('Y-m-01');
$all_users = get_users(['fields' => 'ID']);
$marketers_data = [];
foreach ($all_users as $uid) {
$transactions = get_user_meta($uid, 'hmyt_affiliate_transactions', true);
if (is_array($transactions)) {
$monthly_income = 0;
foreach ($transactions as $txn) {
if (isset($txn['date']) && strtotime($txn['date']) >= strtotime($start_of_month)) {
$monthly_income += (float) $txn['amount'];
}
}
if ($monthly_income > 0) {
$marketers_data[] = ['name' => get_userdata($uid)->display_name, 'income' => $monthly_income];
}
}
}
usort($marketers_data, fn($a, $b) => $b['income'] <=> $a['income']);
$top_marketers = array_slice($marketers_data, 0, 5);
if (!empty($top_marketers)) {
echo '<div class="panel-box-item" style="margin-bottom:20px;"><h4><img draggable="false" role="img" class="emoji" alt="" src="https://s.w.org/images/core/emoji/17.0.2/svg/1f3c6.svg"> برترین بازاریابان این ماه</h4><table style="width:100%; text-align:right;"><thead><tr><th>رتبه</th><th>نام</th><th>درآمد ماه</th></tr></thead><tbody>';
foreach ($top_marketers as $index => $marketer) {
echo '<tr><td>' . ($index + 1) . '</td><td>' . esc_html($marketer['name']) . '</td><td>' . wc_price($marketer['income']) . '</td></tr>';
}
echo '</tbody></table></div>';
}
}, 10, 1);