Поддержка Проблемы и решения Как изменить формат уведомлений?

  • Уведомления администратору сайта на email о новых пользователях или комментариях приходят в формате «WordPress, в скобках название сайта» и т.д. Как можно изменить этот формат? Например, чтобы отправитель был обозначен как «Уведомление», а названия сайта не было (и так понятно)

Просмотр 9 ответов — с 1 по 9 (всего 9)
  • Модератор Юрий

    (@yube)

    Как можно изменить этот формат?

    Можно попробовать подменить перевод фраз, используемых как Subject писем, скажем, плагином say what.

    Модератор Sergey Biryukov

    (@sergeybiryukov)

    Live and Learn

    Как можно изменить этот формат?

    Например, с помощью фильтров:

    Можно попробовать подменить перевод фраз, используемых как Subject писем, скажем, плагином say what.

    да, но тогда ведь при обновлении движка всё вернётся, что называется, в зад)

    Например, с помощью фильтров:

    wp_new_user_notification_email_admin
    comment_moderation_subject

    и как их применить в данном случае?

    Модератор Юрий

    (@yube)

    да, но тогда ведь при обновлении движка всё вернётся, что называется, в зад)

    Чего вдруг? Вы предложение до конца дочитали? На бис: скажем, плагином say what.

    а без плагина никак?

    Модератор Sergey Biryukov

    (@sergeybiryukov)

    Live and Learn

    и как их применить в данном случае?

    Например, так:

    
    function my_new_wp_mail_from_name( $from_name ) {
    	// Меняем имя отправителя только для текущего письма.
    	remove_filter( 'wp_mail_from_name', __FUNCTION__ );
    
    	$from_name = 'Уведомление';
    
    	return $from_name;
    }
    
    function my_new_user_notification_email_admin( $email ) {
    	// Меняем имя отправителя.
    	add_filter( 'wp_mail_from_name', 'my_new_wp_mail_from_name' );
    
    	// Меняем тему письма.
    	$email['subject'] = 'Регистрация нового пользователя';
    
    	return $email;
    }
    add_filter( 'wp_new_user_notification_email_admin', 'my_new_user_notification_email_admin' );
    
    function my_comment_moderation_subject( $subject, $comment_id ) {
    	// Меняем имя отправителя.
    	add_filter( 'wp_mail_from_name', 'my_new_wp_mail_from_name' );
    
    	// Меняем тему письма.
    	$comment = get_comment( $comment_id );
    	$post    = get_post( $comment->comment_post_ID );
    	$subject = sprintf( 'Проверьте, пожалуйста: %s', $post->post_title );
    
    	return $subject;
    }
    add_filter( 'comment_moderation_subject', 'my_comment_moderation_subject', 10, 2 );
    

    Сергей, огромное спасибо!. Может вы в курсе заодно и решения этого вопроса?)

    Модератор Юрий

    (@yube)

    а без плагина никак?

    Можно функционал, аналогичный тому, что в плагине, вставить в functions.php темы, но смысла в этом я не вижу. Плагин лучше. Тем более, плагин универсальный, может пригодится и для других фраз.

    Иначе — то есть без функционала подмены фразы на лету — только изменение файла перевода, а это, как Вы сами заметили, «при обновлении движка всё вернётся».

    Юрий, подумаю, может вы и правы. Спасибо и вам за советы

Просмотр 9 ответов — с 1 по 9 (всего 9)