Email уведомления в WordPress при публикации/отклонении постов
Продолжаю тему «обратной связи» с авторами в WordPress блогах. В прошлом посте мы рассмотрели возможность отправки Email сообщений из админки системы одному или нескольким авторам. Сегодня хочу представить вам еще один полезный хак — уведомления при публикации/отклонении постов, что автоматически приходят авторам на еmail.
После того как пользователь дописал свой пост, он отправляет его на проверку редактору. Тот просматривает статью, а затем публикует ее или отклоняет. Иногда нет возможности сразу просматривать посты в блоге, и процесс модерации затягивается на несколько дней. При этом некоторые авторы достаточно активно проверяют не появилась ли публикация. Если ничего не происходит, то они либо пишут письмо в редакцию через страницу контактов либо просто «забивают на это». Второе — совсем уж нехорошо, так как вряд ли этот автор продолжит написание статей для вашего сайта.
Дабы «облагородить» процесс проверки/публикации статей предлагаю добавить специальные уведомления на еmail авторам. Вот здесь найден отличный скрипт.
function authorNotification($post_id) { $post = get_post($post_id); $author = get_userdata($post->post_author); $message = " Hi ".$author->display_name.", Your post, ".$post->post_title." has just been published at ".get_permalink( $post_id ).". Well done! "; wp_mail($author->user_email, "Your article is online", $message); } add_action('publish_post', 'authorNotification'); |
Для реализации используется WordPress хук, который запускается сразу после публикации поста в блог. Добавить данный код нужно в файл functions.php. После того как все настроили, протестируйте правильность работы данного хака. Кроме того, следует заменить текст сообщения, что приходит в письме. За него отвечает переменная — $message. После публикации заметки автору придет письмо с темой «Your article is online». Текст письма следующий:
Hi имя_пользователя,
Your post, Название_статьи has just been published at ссылка_поста. Well done!
Здесь, параметры имя_пользователя, название_статьи и ссылка_поста заменяются соответствующими значениями.
Код я проверял, все отлично работает, однако данный хак можно усовершенствовать. Было бы неплохо добавить также уведомление, в случае когда статья по тем или иным причинам вам не подошла. Если автор долго не будет получать уведомление он подумает, что про него совсем забыли, а вы в это время просто удалили заметку как «не подходящую». Собственно вот второй скрипт который также нужно разместить в functions.php. Он выполняет оба вида оповещений — при публикации и удалении.
function res_fromemail($email) { $wpfrom = "no-reply@yourwebsite.com"; return $wpfrom; } function res_fromname($email){ $wpfrom = "Your Website"; return $wpfrom; } add_filter('wp_mail_from', 'res_fromemail'); add_filter('wp_mail_from_name', 'res_fromname'); /* PUBLISHED */ function authorNotification($post_id) { global $wpdb; $post = get_post($post_id); $link = $post->guid; $author = get_userdata($post->post_author); $message = " Hi ".$author->display_name.", Well done! Your post, ".$post->post_title." has been reviewed and just been published. View here ".$link." "; wp_mail($author->user_email, "Your article status", $message); } add_action('publish_post', 'authorNotification'); /* REJECTED */ function authorNotification2($post_id) { global $wpdb; $post = get_post($post_id); $author = get_userdata($post->post_author); $message = " Hi ".$author->display_name.", We are sorry to inform you that your article, ".$post->post_title." has been declined. Feel free to contact us via phone or email to find out more information on why. "; wp_mail($author->user_email, "Your article status", $message); } add_action('trash_post', 'authorNotification2'); |
Здесь опять же нужно заменить все параметры на свои, например, вместо no-reply@yourwebsite.com и Your Website подставить почту и название вашего проекта. Также подправьте тексты с уведомлениями, параметр тот же — $message. Если вам сложно понять что за текст в коде нужно менять, потестируйте работу хака и посмотрите какие именно уведомления приходят на еmail при подтверждении/удалении поста.
Скрипт также проверил — рабочий. Вообще автоматизация реально рулит — вам не нужно тратить время на пояснения тому или иному автору почему статья не была опубликована. Или специально писать пользователям, что их творение наконец-то доступно по такой-то ссылке. Даже, если тексты на сайте вы проверяете ежедневно и публикуете их сразу, то отправка письма все равно пригодится. Это своего рода жест внимания, обратная связь с авторами, пусть и автоматическая.
комментариев 6 к статье “Email уведомления в WordPress при публикации/отклонении постов”
Блог Wordpress Inside поможет вам научиться работать в вордпресс, закрепить и расширить имеющиеся знания. Плагины и шаблоны, разные хаки и функции wp, оптимизация и безопасность системы – все это и намного больше вы сможете найти на страницах нашего проекта!
Если хотите быстро и оперативно получать последние новости и статьи, то рекомендуем подписаться на обновления блога:
- Як сховати відсутні товари в Woocommerce шорткодах та схожих товарах
- Сервіс AdMaven + плагін для монетизації трафіка на WordPress сайтах
- Плагіни для створення стрічки новин з біжучим рядком в WordPress
- Як змінити розміщення кнопки оформлення замовлення в WooCommerce
- Плагін WHWS Display In Stock Products First – відображення товарів в наявності першими
- Підписка MonsterONE: чи варто використовувати цей сервіс у 2023 році? (+5 продуктів, які треба скачати в першу чергу)
- Онлайн генератор ссылок на мессенджеры для WordPress и не только
- WooCommerce (46)
- Безопасность (12)
- Видео (6)
- Виджеты (28)
- Возможности (141)
- Вопрос-ответ (6)
- Начинающим (52)
- Новости (46)
- Оптимизация (23)
- Плагины (246)
- Сервисы (87)
- Хаки и секреты (87)
- Шаблоны (45)
- Оптимизируем WordPress header и удаляем лишний код (5,19 из 7, голосов - 43)
- Как создать пункт меню без ссылки в wordpress (6,39 из 7, голосов - 23)
- Добавление кнопки Вконтакте, Facebook и Twitter в wordpress блог (6,14 из 7, голосов - 21)
- Выполнение jQuery скриптов при выборе вариаций товаров в WooCommerce (3,96 из 7, голосов - 26)
- Хаки для вариаций товаров в WooCommerce (5,29 из 7, голосов - 17)
- Вывод текста в блоге только на главной (6,85 из 7, голосов - 13)
- Как убрать category в WordPress категориях — зачем это делать, плагины для реализации (5,31 из 7, голосов - 16)
- Дизайн Мания - о веб-дизайне и не только.
- Tod's Blog - все про заработок онлайн.
- Вебдванольные заметки - обзоры веб-сервисов.
- Зачем нужны Wi-Fi ретрансляторы и как выбрать подходящую модель
- Введение в онлайн-казино Slotor777: многообразие игр и привлекательные бонусы
- Необходимость использования облачного хранилища в наше время, что важно и как выгодно?
- Спрощення процесу звітності за допомогою програми BAS Бухгалтерія
- Технологія підключення інтернету GPON та її переваги
- За що гравці найбільше цінують Lineage 2
- Для каких проектов нужна аренда виртуального сервера и что такое VPS
- Особливості MMORPG ігор (зокрема Lineage 2) та чому люди в них грають
Добрый день!
А можно ли как-то настроить оповещение о публикациях администратору, чтобы когда несколько авторов на сайте, только админу приходило сообщение, что на сайте была опубликована статья?
Нужно для контроля авторов, чтобы никаких «лишних» публикаций не было.
Виталий, если дать пользователям права Участника, то насколько я помню публикации должны будут проходить модерацию админа перед размещением. Если ставить права Автора, то одобрение не требуется, но тогда можно просто подписаться на новые заметки сайта или, возможно, они опять же автоматом вам приходят. Поэкспериментируйте с этими правами пользователей.
Супер! Заработало! И главное — без плагинов! Ещё бы так о комментариях сообщать ))
Вот правилний код
add_action(‘transition_post_status’, ‘authorNotification’, 10,3);
function authorNotification($new_status, $old_status,$post_id) {
if ( $new_status == ‘publish’ && $old_status != ‘publish’ ) {
$post = get_post($post_id);
$author = get_userdata($post->post_author);
$message = »
Здес будет писмо« «.$author->display_name.»,»;
wp_mail($author->user_email, «Текст писма», $message);
}
}
http://02blog.ru/wordpress-2/email-%D1%83%D0%B2%D0%B5%D0%B4%D0%BE%D0%BC%D0%BB%D0%B5%D0%BD%D0%B8%D1%8F-wordpress-%D0%B1%D0%B5%D0%B7-%D0%BF%D0%BB%D0%B0%D0%B3%D0%B8%D0%BD%D0%B0/
А как сделать тоже самое но не с обычными записями а с товарами woocommerce? например пользователь добавляет товар через форму во фронтенде а после того как админ меняет статус добавленного товара с «на одобрении» на «Одобрено» пользователю приходит сообщение
Артем, нужно поискать что-то среди плагинов, я к сожалению, не встречал подобного.