Описание edit_user_profile_update
— Action
Хук edit_user_profile_update позволяет выполнять действия после обновления профиля пользователя в админке WordPress. Он срабатывает при сохранении изменений в данных пользователя и позволяет модифицировать или дополнить данные, которые были внесены в форму
Примеры использования
Пример добавления пользовательского поля при обновлении профиля:
add_action('edit_user_profile_update', function($user_id) {
if (isset($_POST['custom_field'])) {
update_user_meta($user_id, 'custom_field', sanitize_text_field($_POST['custom_field']));
}
});
В этом примере мы сохраняем значение пользовательского поля ‘custom_field’ при обновлении профиля пользователя
Пример отправки уведомления при обновлении профиля:
add_action('edit_user_profile_update', function($user_id) {
$user_info = get_userdata($user_id);
wp_mail($user_info->user_email, 'Ваш профиль обновлён', 'Ваш профиль был успешно обновлён');
});
Здесь мы отправляем уведомление на электронную почту пользователя после обновления его профиля
Пример валидации данных перед обновлением профиля:
add_action('edit_user_profile_update', function($user_id) {
if (!current_user_can('edit_user', $user_id)) return;
if (empty($_POST['custom_field'])) {
add_filter('user_profile_update_errors', function($errors) {
$errors->add('custom_field_error', 'Поле custom_field не может быть пустым');
});
}
});
В этом примере мы проверяем, что пользовательское поле не пустое, и добавляем ошибку, если это так
— Лучшие практики
– Использование
Используйте этот хук, когда нужно произвести действия после обновления данных пользователя, такие как сохранение дополнительных полей или отправка уведомлений
– Производительность
Хук не должен существенно влиять на производительность, но стоит следить за количеством выполняемых операций
– Предупреждения
Убедитесь, что вы проверяете права доступа пользователя перед выполнением каких-либо действий
Альтернативы
Тип: action
Этот хук срабатывает при обновлении личных настроек пользователя на странице профиля
Используйте его, если нужно выполнять действия только для текущего пользователя на странице редактирования профиля
Тип: action
Этот хук срабатывает при регистрации нового пользователя
Используйте его, если нужны действия, связанные с регистрацией пользователя, а не с обновлением профиля