WordPress как на ладони
Новые WordPress шаблоны Хостинг, VPS/VDS и отдельные сервера только на SSD дисках. 7 дней бесплатного тестирования.

Обновление роли пользователя по условию в момент регистрации

Подскажите пожалуйста дилетанту wordpress как можно реализовать обновление роли пользователя в зависимости от переданных мета данных в момент регистрации.
Написал вот такой код но он не работает.

add_action( 'user_register', 'my_user_registration' );
function my_user_registration( $user_id ) {
	$meta_com = get_user_meta( $user_id, 'user_type', true );
	$value_yes = 'yes';
	$role_yes = 'company';
	$role_no = 'customer';
	if ( $meta_com == $value_yes) {
		wp_update_user( array( 'ID' => $user_id, 'role' => $role_yes ) );
	} else {
		wp_update_user( array( 'ID' => $user_id, 'role' => $role_no ) );
}
}

Суть проблемы: Нужно что бы при регистрации клиенту woocommerce присваивалась роль в зависимости от переданного значения $type_user, данные в базу данных пишутся проверено! Можно реализовать без проверок т.к. поле тип пользователя реализован в виде select и там всегда будет какое то значение.
type_user может принимать значения только yes или no.
Пробовал так же через set_role, remove_role, add_role, ничего не получается.

Заметки к вопросу:
kos 24 дня назад

Всем спасибо! решение найдено

add_action( 'woocommerce_created_customer', 'my_user_registration' );
function my_user_registration( $user_id ) {

	$meta_com = get_user_meta( $user_id, 'user_type', true );
	$value_yes = 'yes';
	$role_yes = 'company';
	$role_no = 'customer';
	if ( $meta_com == $value_yes) {
		wp_update_user( array( 'ID' => $user_id, 'role' => $role_yes ) );
	} else {
		wp_update_user( array( 'ID' => $user_id, 'role' => $role_no ) );

}
}
0
kos
25 дней назад

Нет ответов на этот вопрос.

    На вопросы могут отвечать только зарегистрированные пользователи. Вход . Регистрация