Я пытаюсь запускать событие каждый раз, когда меняется роль пользователя. Пока я получил это:
add_action( 'set_user_role', function( $user_id, $role, $old_roles )
{
error_log("usu fired2!");
$user_info = get_userdata($user_id);
$email = $user_info->user_email;
error_log($email);
error_log(print_r($old_roles, true));
error_log($role);
if ($role == "subscriber") {
MC_user_tag_l2s($email, "klubmedlem", "active");
} else {
MC_user_tag_l2s($email, "klubmedlem", "inactive");
}
}, 10, 3 );
Это работает очень хорошо, когда я вручную обновляю роль пользователя на странице редактирования профиля. Однако это не работает, когда роль пользователя обновляется с помощью кода. т.е. когда пользователь создает подписку с подписками WooCommerce.
Любые идеи относительно того, какой крючок я должен использовать вместо этого?
Кажется, вы хотите использовать действие woocommerce_subscriptions_updated_users_role
Описание: когда подписка активируется, приостанавливается, отменяется или истекает, роль пользователя также будет изменена, что вызывает хук «woocommerce_subscriptions_updated_users_role».
Источник: https://docs.woocommerce.com/document/subscriptions/develop/action-reference/
Кажется, это именно то, что я давно искал.. Спасибо!