Intereting Posts
Найти элемент таблицы стилей родительской темы $, когда он регистрирует таблицу стилей WordPress Multisite и Ragistration Сообщение, показывающее проблему с домашней страницей Как сохранить файлы мультимедиа в пользовательской папке без изменения wp-config.php или изменения настроек мультимедиа Предварительно заполнить WordPress wp_media modal с выбором изображения Разделить базу данных на большом сайте? Значение по умолчанию для add_settings_field Флажок не отображается, как отмечено в UserProfile (даже с checked = "checked") приглашение людей в блог и редактирование ролей Добавить / Изменить Передавать параметры для действия через действие ссылки на страницы не отображаются Будет ли большой стол для постметалла замедлять работу сайта? Центрирование элементов подряд, когда вы не знаете, сколько предметов При регистрации пользователя, если отправлено приветственное письмо, добавьте сообщение с новым пользователем как автора Редактировать HTML-панель навигации WordPress

Создание электронной почты для обновления метаданных

Я реализовал некоторые метаполя для пользователей, таких как номер мобильного телефона, адрес. Он может быть обновлен как пользователем, так и администратором, я не буду запускать электронное письмо пользователю и администратору с указанием обновленного значения поля, если какое-либо значение будет обновлено, независимо от того, кто его обновляет.

Solutions Collecting From Web of "Создание электронной почты для обновления метаданных"

WordPress запускает пользовательский крючок, когда определенная мета обновляется, подсчеты пользователей. См. updated_{$meta_type}_meta . Вот пример использования:

 add_action('updated_user_meta', function( $meta_id, $user_id, $meta_key, $_meta_value ) { switch ( $meta_key ) { case 'mobile_number': case 'address': $user = new \WP_User($user_id); // user wp_mail($user->user_email, 'Profile updated', 'Profile updated.'); // admin wp_mail(get_bloginfo('admin_email'), 'Profile updated', "Profile updated for user {$user->display_name}."); break; } }, 0, 4); 

Вы можете использовать hook_prodate для выполнения действий при сохранении сообщения

 function wpse_264096_send_email( $user_id, $old_user_data ) { // Get the user object for $user_id $user = get_user_by( 'ID', $user_id ); $user_email = $user->data->email; /** You can get any meta fields by this, just change 'meta_key' to the key desired * True means its a single value, it will output as a string. * If you set to false you get an array with the meta_value, handy if there are multiple values. */ $user_meta = get_user_meta( $user_id, 'meta_key', true ); // Send e-mail to the user $message = "Your information has changed. Your new <META KEY> is now <$user_meta>"; wp_mail( $user_email, 'Your information has been updated', $message ); // Send e-mail to the site admin $message = "A users information has changed. The new <META KEY> is now <$user_meta>"; wp_mail( get_option( 'admin_email' ), 'Your information has been updated', $message ); } add_action( 'profile_update', 'wpse_264096_send_email', 10, 2 );