Изменить уведомление по электронной почте для новых пользователей в экране администрирования сети wp multisite.

Вопрос или проблема

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

network-users-add-new

Я хочу использовать пользовательский шаблон электронной почты для уведомления пользователя?

Будет очень полезно, если вы сможете привести пример, потому что документация для WordPress Multisite все еще не завершена.

Мухаммад,

Multisite использует один и тот же код в большинстве случаев. Если вы посмотрите на функцию https://developer.wordpress.org/reference/functions/wp_new_user_notification/, вы увидите, что там есть фильтры для изменения ‘сообщения’, такие как
‘wp_new_user_notification_email_admin’ и
‘wp_new_user_notification_email’.

Вы увидите, что в коде есть ссылка на “network_site_url”, позволяющая для нового ms пользователя.

Хороший способ научиться этим вещам – иметь Multisite на локальном хосте, тогда вы сможете отслеживать, искать, изучать код и проверять, какие функции выполняются и какие фильтры применяются, а также какие действия ‘выполняются’.

Ответ или решение

Чтобы изменить уведомление по электронной почте о новом пользователе в сетевом администрировании WordPress Multisite, следуйте пошаговой инструкции, основанной на функции wp_new_user_notification(). Эти рекомендации помогут вам интегрировать собственный шаблон электронной почты для оповещения пользователей о создании учетной записи.

1. Определение необходимых функций

Как верно было указано, для изменения содержания уведомления, которое отправляется как пользователю, так и администратору, вы можете использовать фильтры wp_new_user_notification_email и wp_new_user_notification_email_admin. Оба фильтра позволяют вам модифицировать содержание сообщений перед их отправкой.

2. Создание собственного шаблона электронной почты

Вам потребуется добавить код в файл functions.php вашей темы или в плагин, который управляет вашей функциональностью. Пример кода для переопределения уведомлений выглядит следующим образом:

// Изменяем уведомление для нового пользователя
add_filter('wp_new_user_notification_email', 'custom_wp_new_user_notification_email', 10, 3);
add_filter('wp_new_user_notification_email_admin', 'custom_wp_new_user_notification_email_admin', 10, 2);

function custom_wp_new_user_notification_email($user, $plaintext_pass, $blog_id) {
    // Получаем информацию о пользователе
    $user_email = $user->user_email;
    $user_nicename = $user->user_nicename;

    // Создаем собственное сообщение
    $subject = 'Добро пожаловать на наш сайт!';
    $message = "Здравствуйте, $user_nicename,\n\n";
    $message .= "Вы успешно зарегистрировались на нашем сайте. Вот ваши учетные данные:\n";
    $message .= "Email: $user_email\n";
    $message .= "Пароль: $plaintext_pass\n\n";
    $message .= "С уважением,\nВаша команда.";

    // Возвращаем измененное уведомление
    return array(
        'to' => $user_email,
        'subject' => $subject,
        'message' => $message,
        'headers' => array('Content-Type: text/plain; charset=UTF-8'),
    );
}

// Изменяем уведомление для администратора
function custom_wp_new_user_notification_email_admin($user, $blog_id) {
    // Получаем информацию о пользователе
    $user_email = $user->user_email;
    $user_nicename = $user->user_nicename;

    // Создаем собственное сообщение для администратора
    $subject = 'Новый пользователь зарегистрирован';
    $message = "Новый пользователь: $user_nicename\n";
    $message .= "Email: $user_email\n";
    $message .= "Идентификатор блога: $blog_id\n";

    // Возвращаем измененное уведомление администратору
    return array(
        'to' => get_option('admin_email'),
        'subject' => $subject,
        'message' => $message,
        'headers' => array('Content-Type: text/plain; charset=UTF-8'),
    );
}

3. Тестирование

После внедрения кода обязательно протестируйте процесс добавления нового пользователя через сетевой админцентр. Создайте новый аккаунт и убедитесь, что уведомления приходят с правильным содержанием как новому пользователю, так и администратору сети.

Заключение

Использование фильтров в WordPress позволяет гибко настраивать функциональность и подстраивать систему под индивидуальные требования. Регулярно обновляйте свои знания, исследуя код и документацию WordPress, что позволит вам быстро адаптироваться к изменениям и оптимизировать работу вашего сайта.

Оцените материал
Добавить комментарий

Капча загружается...