Intereting Posts
Как удалить dashicons.min.css из интерфейса? Внедрить контент-nosidebar.php / content-leftsidebar.php База данных MySQL дает пустую страницу (белый экран смерти) Изменить «войти в систему как <имя пользователя>» в форме комментариев Как исключить таксономию категории и post_tag при отображении пользовательской таксономии? Отображать персонализированный пост на главной странице на основе выбора метабокса Проблема в пользовательских мета-ящиках Плагин: WordPress Популярные сообщения> Можно включить пользовательские типы сообщений? Ошибка после сохранения или обновления сообщения Неустранимая ошибка: невозможно обновить __ () Как изменить основной запрос на основе метаданных Как я могу автоматически изменять размер изображений, чтобы они соответствовали всем моим зарегистрированным размерам изображения qTranslate удалить каталог по умолчанию из ссылки Может ли qTranslateX-Plugin переводить текст без текста? Две языковые версии для каждой статьи

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

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

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