Вопрос или проблема
Я долго искал способ изменить текст в письме с подтверждением пароля, которое отправляется, когда вы меняете пароль в WordPress.
Есть ли способ сделать это с помощью простого хука, который я могу добавить в функции дочерней темы?
Буду признателен за любую помощь.
Используйте так.
add_filter( 'password_change_email', 'wpse207879_change_password_mail_message', 10, 3 );
function wpse207879_change_password_mail_message( $pass_change_mail, $user, $userdata ) {
$new_message_txt = __( 'Некоторый текст ###USERNAME### больше текста
еще больше текста ###EMAIL### больше текста после большего текста
последний кусочек текста ###SITENAME###' );
$pass_change_mail[ 'message' ] = $new_message_txt;
return $pass_change_mail;
}
Ссылка на приведенный выше код:
Изменить текст уведомления о пароле в письме
Этот фильтр находится в wp_update_user()
функции и документирован здесь.
Ответ или решение
Изменение текста электронного письма о подтверждении изменения пароля в WordPress
Если вы хотите изменить текст уведомления о подтверждении изменения пароля, отправляемого пользователям WordPress, вы можете использовать фильтр password_change_email
. Это позволит вам настроить содержимое письма, добавив необходимые изменения через функции дочерней темы.
Как использовать фильтр
Для начала, откройте файл functions.php
вашей дочерней темы. Добавьте следующий код, который будет изменять текст сообщения, отправляемого пользователю после изменения пароля:
add_filter( 'password_change_email', 'wpse207879_change_password_mail_message', 10, 3 );
function wpse207879_change_password_mail_message( $pass_change_mail, $user, $userdata ) {
$new_message_txt = __( 'Ваш пароль был успешно изменён. Пользователь: ###USERNAME###. Адрес электронной почты: ###EMAIL###. Сайт: ###SITENAME###.' );
$pass_change_mail['message'] = $new_message_txt;
return $pass_change_mail;
}
Объяснение кода
-
Фильтр: Мы используем фильтр
password_change_email
, который позволяет изменить структуру и содержание письма. -
Функция: Функция
wpse207879_change_password_mail_message
принимает три параметра:$pass_change_mail
: массив информации о письме, включая адрес, заголовок и сообщение.$user
: объект, представляющий пользователя, чей пароль изменяется.$userdata
: массив с данными пользователя.
-
Настройка сообщения: Внутри функции мы задаём новый текст для сообщения, используя
__()
, чтобы обеспечить международную поддержку. В тексте вы можете использовать метки, такие как###USERNAME###
,###EMAIL###
и###SITENAME###
, которые можно заменить на соответствующие значения. -
Возврат массива: После изменения текста мы возвращаем обновленный массив
$pass_change_mail
.
Дополнительные сведения
Этот способ изменения текста уведомления основан на использовании стандартных хуков WordPress и очень прост в реализации. Вы можете настроить текст письма, добавив уведомления о безопасности или другие полезные сведения.
Ресурсы для дальнейшего изучения
Использование данного подхода позволит вам создать более персонализированные и информативные уведомления для пользователей, что повысит уровень их удовлетворенности и безопасности.