Многие владельцы интернет-магазинов на WooCommerce предлагают своим клиентам привилегии и скидки за лояльность. Например, можно создать VIP-клуб, в который попадают клиенты, совершившие покупки на определенную сумму. В этом уроке рассмотрим как автоматически изменить роль пользователя в WooCommerce при достижении определенной суммы покупок.
Чтобы автоматически повысить роль пользователя при достижении определенной суммы покупок, можно использовать следующий фрагмент PHP-кода:
add_action( 'woocommerce_order_status_changed', 'genius_maybe_trigger_switch_user_role' );
function genius_maybe_trigger_switch_user_role( $order_id ) {
$order = wc_get_order( $order_id );
$user_id = $order->get_user_id();
$order_status = $order->get_status();
$switch_already_done = $order->get_meta( '_bb_role_switched' );
if ( ! $switch_already_done && $order->has_status( wc_get_is_paid_statuses() ) && wc_user_has_role( $user_id, 'customer' ) ) {
genius_customer_maybe_upgrade_to_vip( $user_id );
$order->update_meta_data( '_bb_role_switched', 'true' );
$order->save();
}
}
function genius_customer_maybe_upgrade_to_vip( $user_id ) {
if ( wc_get_customer_total_spent( $user_id ) > 999.99 ) { // ПОРОГ
$user = new WP_User( $user_id );
$user->add_role( 'vip-customer' );
$user->remove_role( 'customer' );
}
}
Этот код работает следующим образом:
- Функция
genius_maybe_trigger_switch_user_role()
выполняется при изменении статуса заказа. - Если заказ оплачен и пользователь имеет роль «клиент», а функция еще не была выполнена для этого заказа, то выполняется функция
genius_customer_maybe_upgrade_to_vip()
. - Функция
genius_customer_maybe_upgrade_to_vip()
проверяет, превысил ли пользователь заданный порог общей суммы покупок. Если да, то пользователю присваивается роль «VIP-клиент».
Чтобы использовать этот код, кроме того, что его нужно вставить в файл functions.php вашей темы, вам так же необходимо создать пользовательскую роль «VIP-клиент». Вы можете сделать это с помощью плагина WordPress User Role Editor.
Вот некоторые преимущества использования этого метода:
- Он позволяет автоматически повышать роль пользователя при достижении определенной суммы покупок. Это избавляет вас от необходимости вручную повышать роль пользователей.
- Он позволяет сегментировать пользователей на основе их роли. Это может быть полезно для таргетинга маркетинговых кампаний.
Дополнительные советы
- Чтобы повысить удобство использования, вы можете добавить на свой сайт страницу, на которой пользователи могут проверить свою текущую роль.
- Вы также можете отправить пользователям электронное письмо, когда они получат повышение роли. Это поможет вам поблагодарить их за лояльность. Как это сделать на WooCommerce & WordPress вы узнаете по ссылке.