Intereting Posts
Разработка темы: меню связывает вкладку с перескакиванием страницы Ошибка 500 ТОЛЬКО на главной странице панели мониторинга. Как это исправить? Протокол нейтральных URL-адресов с wp_enqueue_script (вопросы SSL)? Удалить все удаленные страницы из WordPress создать страницу шаблона для публикации Как скрыть пользователей WordPress от сканирования безопасности? Замените заголовок изображения его заголовком и описанием Отсутствует страница «Регистрация» с BuddyPress Получение описания терминов в одном шаблоне Каков правильный способ сделать мобильную тему для WordPress? Как добавить стрелки навигации для ручного скольжения по сообщениям? Отправляет электронную почту администратору с автором сообщения Активация многосайтового плагина (не активирована в сети), что происходит? Пользовательский логотип не отображается после обновления wordpress 4.5 Две страницы поиска, одна форма поиска

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

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

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 );