Многие блоггеры заморачиваются, устанавливая и настраивая плагины для извещения пользователей о выходе новых постов. Но стоит ли так уж напрягаться? Действительно ли необходим дополнительный плагин или подключение к отдельной службе, для того, чтобы организовать подписку по электронной почте? Я вот так сразу не готов ответить на этот вопрос, потому что:
- a) считаю извещения по электронной почте анахронизмом (ну или атавизмом – кому как нравится),
- б) все же понимаю, что многие так привыкли, а сила привычки – практически непреодолимая штука, с которой очень трудно бороться.
Поэтому я не буду вас убеждать, стоит или не стоит организовывать подписку на обновления по электронной почте, а приведу пример организации простейших извещений о появлении новых постов в блоге, которые можно сделать без использования плагинов.
Многим не нужны какие-то серьезные системы напоминаний о новых постах – достаточно оповещения по электронке. Вот как раз этим и занимается функция, которую мы сейчас создадим.
Откройте файл functions.php и добавьте в него такой код:
function email_members($post_ID) { global $wpdb; $usersarray = $wpdb->get_results("SELECT user_email FROM $wpdb->users;"); $users = implode(",", $usersarray); mail($users, "n-wp.ru: опубликован новый пост!", 'Только что опубликован новый пост в блоге https://n-wp.ru'); return $post_ID; } add_action('publish_post', 'email_members');
Этот код создает функцию, которая берет адреса электронной почты из данных зарегистрированных пользователей. Все зарегистрированные пользователи сразу после публикации нового поста получат письмо с темой “n-wp.ru: опубликован новый пост!” и содержанием “Только что опубликован новый пост в блоге https://n-wp.ru”. Письмо будет доставлено от адреса, который вы указали в настройках блога. Да, это довольно простое напоминание. Если вам все же нужно что-то более навороченное, то обратите внимание на плагин Subscribe2.
Чем не угодила аналогичная функция с фиидбюрнера?
А если я не пользуюсь сервисом Feedburner?
а как добавить в эту функцию отправление извещений о комментариях? о каждом новом комментарии к любому посту.
Вы хотите скрестить удава с ежом – так не получится. Для подписки на новые комментарии попробуйте использовать другие решения.
Добавил функции, но при публикации поста выходит ошибка Catchable fatal error: Object of class stdClass could not be converted to string in