Довольно удобный способ уведомления пользователей на почту о новых статьях без необходимости подключать какой-либо сервис типо feedburner или smartresponder.
Достаточно лишь того, что пользователь зарегистрирован у вас на блоге.
Никаких дополнительных плагинов не потребуется, достаточно вставить следующий код в functions.php:
function true_send_notification_mails($post_ID) { $wp_user_search = new WP_User_Query( array( 'fields' => array('user_email') ) ); $users = $wp_user_search->get_results(); $user_emails = array(); for ($i = 0; $i < count($users); $i++) { $user_emails[] = $users[$i]->user_email; } // endfor $user_emails = implode(",", $user_emails); // список емаилов через запятую $subject = "Опубликован новый пост на блоге " . get_bloginfo('name'); // тема $message = "Для того, чтобы прочитать новый пост, перейдите по ссылке <a href='" . get_permalink($post_ID) . "'>" . get_permalink($post_ID) . "</a>"; // сообщение $headers = "Content-type: text/html; charset=utf-8 rn"; // кодировка $headers .= "From: ". get_bloginfo('name') ." <no-reply@". ltrim(site_url(),'http://') .">rn"; // от mail($user_emails, $subject, $message, $headers ); return $post_ID; } add_action('publish_post', 'true_send_notification_mails');
К содержимому сообщения нет никаких ограничений, если хотите, можете запихать сюда весь пост.
$message = get_the_content($post_ID);
По поводу картинок и прочего HTML из статьи не беспокойтесь — в письме это всё отобразится, но только без внешних CSS-стилей.