feat(upsell): apply real cart discounts and track performance

This commit is contained in:
2026-05-08 19:16:01 +03:30
parent 8345e94a1b
commit fd9d29a0ee
19 changed files with 747 additions and 206 deletions

View File

@@ -28,6 +28,7 @@ class Sodino_Upsell_List_Table extends WP_List_Table {
'trigger' => __('شرط فعال‌سازی', 'sodino'),
'suggested_product'=> __('محصول پیشنهادی', 'sodino'),
'discount' => __('تخفیف', 'sodino'),
'performance' => __('عملکرد', 'sodino'),
'status' => __('وضعیت', 'sodino'),
'actions' => __('عملیات', 'sodino'),
];
@@ -86,6 +87,22 @@ class Sodino_Upsell_List_Table extends WP_List_Table {
return __('بدون تخفیف', 'sodino');
}
public function column_performance($item) {
$impressions = max(0, (int) ($item->impressions ?? 0));
$conversions = max(0, (int) ($item->conversions ?? 0));
$rate = $impressions > 0 ? round(($conversions / $impressions) * 100, 2) : 0;
return sprintf(
'%s: %s<br>%s: %s<br>%s: %s%%',
esc_html__('نمایش', 'sodino'),
esc_html(number_format_i18n($impressions)),
esc_html__('افزودن', 'sodino'),
esc_html(number_format_i18n($conversions)),
esc_html__('نرخ', 'sodino'),
esc_html(number_format_i18n($rate, 2))
);
}
public function column_status($item) {
return $item->status ? __('فعال', 'sodino') : __('غیرفعال', 'sodino');
}