Всем привет! Ребят помогите.
Пользователь регистрируется (роль подписчик) через кастомную регистрационную форму и далее его переводит сразу на покупку товара. Тут он не авторизирован, есть поле woocommerce для ввода почты. Он оплачивает визой и пытаюсь дать ему роль:
add_action( 'woocommerce_order_status_completed', 'change_role_on_purchase' );
function change_role_on_purchase( $order_id ) {
$order = wc_get_order( $order_id );
//получим имейл пользователя
$email= $order->get_billing_email();
//получим пользователя //$user = $order->get_user();
$user = get_user_by('email', $email);
// Change role
$user->remove_role( 'subscriber' );
$user->add_role( 'customer' );
}
но что то смены роли не происходит, может статус не тот или не правильно пытаюсь получить пользователя. Подскажите как правильно.
Спасибо
UP#1
Да, все таки статус не тот был, сменил на такой в коде: woocommerce_order_status_processing
теперь меняет роль, все ок.
Вот как бы передать с формы кастомной регистрации имейл в форму чекаута вукомерца... а то два раза вводить имейл как то не камильфо