Дек
23

Обратная связь с авторами в WordPress блогах: Email уведомления при публикации/отклонении постов

Author admin    Category Полезное     Tags

Продолжаем тему «обратной связи» с авторами в 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 при подтверждении/удалении поста.

Скрипт  – рабочий. Вообще автоматизация реально рулит – вам не нужно тратить время на пояснения тому или иному автору почему статья не была опубликована. Или специально писать пользователям, что их творение наконец-то доступно по такой-то ссылке. Даже, если тексты на сайте вы проверяете ежедневно и публикуете их сразу, то отправка письма все равно пригодится. Это своего рода жест внимания, обратная связь с авторами, пусть и автоматическая.



Прокомментировать

Новые шаблоны и статьи

Рубрики

Популярные шаблоны

Мы помогаем детям


KosynokBannerNetwork