У меня есть сайт WooCommerce, который продает товары народного потребления. У нас есть реферальная программа, в которой врачи в США получают компенсационную прибыль, полученную теми, кто использует код реферала / скидку для врачей.
Все в порядке, однако код равен 1 для каждого клиента, так как мы хотим, чтобы клиенты сначала заказывали скидку.
Вот в чем проблема: врачам по-прежнему необходимо компенсировать всю прибыль, полученную от людей, которые использовали их код при первой покупке.
Моя идея - использовать Группы ( DOCS ). Затем ежемесячно используйте групповой фильтр в заказах для вывода заказов на каждого врача.
Итак, я пытаюсь создать небольшой скрипт, который добавляет клиента в группу на основе код купона, который они используют. Я вручную создаю код группы и купона одновременно (они всегда будут одинаковыми). Я также только что взял group_id из раздела плагинов groups. интересно, можем ли мы также извлечь идентификатор группы из имени.
Вот то, что у меня сейчас есть, это не работает. Любая помощь приветствуется.
add_action('woocommerce_thankyou', 'coupon_group', 10, 1);
function coupon_group( $order_id ){
$order = wc_get_order( $order_id );
$coupon_codes = $order->get_coupon_codes();
$coupon_name = 'dr_x';
$group_id = 2;
foreach($coupon_codes as $coupon_code ){
if ($coupon_code->get_name() == $coupon_name) {
$user_id = $order->get_user_id();
if ($user_id) {
$group = Groups_Group::read_by_name($coupon_name);
$is_a_member = Groups_User_Group::read( $user_id , $group_id ->group_id );
if (!$is_a_member) {
Groups_User_Group::create( array( 'user_id' => $user_id, 'group_id' => $group ) );
}
}
}
}
}