Автоматическая подписка на новости — важный инструмент для любого сайта на WordPress, который хочет удерживать аудиторию и регулярно информировать подписчиков о новых публикациях и акциях. В этой статье мы подробно разберем, как реализовать такую подписку с помощью кода и популярных плагинов, а также приведем примеры конкретных решений, которые помогут вам быстро настроить удобную и надежную систему рассылки.
Почему стоит добавить автоматическую подписку на новости в WordPress
Автоматическая подписка позволяет вашим посетителям получать уведомления о новых постах без необходимости вручную проверять сайт. Это повышает вовлеченность, увеличивает трафик и способствует формированию постоянной аудитории. Важно сделать подписку максимально простой и удобной, чтобы пользователи не испытывали трудностей при регистрации.
Кроме того, с помощью автоматической подписки можно сегментировать аудиторию, отправлять персонализированные сообщения и анализировать эффективность рассылок.
Основные функции системы автоматической подписки
- Автоматическая отправка уведомлений о новых статьях или новостях;
- Возможность подписки через виджет, форму или короткий код;
- Управление подписчиками и возможность отписки;
- Интеграция с почтовыми сервисами для надежной доставки писем;
- Настройка шаблонов писем и персонализация контента.
Как реализовать автоматическую подписку на новости с помощью плагинов
Самый простой способ — использовать готовые плагины для подписки. Рассмотрим несколько популярных решений, которые хорошо подходят для сайтов на WordPress.
1. Плагин MailPoet
MailPoet — мощный плагин для создания и управления рассылками прямо в админке WordPress. Он позволяет автоматически отправлять письма о новых публикациях подписчикам, создавать красивые формы подписки и управлять списками адресов.
После установки MailPoet достаточно создать новую рассылку с автоматической отправкой новых постов. Для этого в разделе "Рассылки" выберите "Создать автоматическую" и настройте триггер на публикацию новых материалов.
2. Плагин Newsletter
Newsletter — бесплатный и удобный плагин, который позволяет создавать формы подписки и рассылать письма. В нем есть возможность настроить автоматическую отправку новостей, что отлично подходит для блогов и новостных сайтов.
Для настройки автоматической подписки перейдите в настройки плагина, создайте новую кампанию и выберите тип "Автоматическая" с триггером на публикацию новых постов.
3. Интеграция с сервисом Sendinblue через плагин
Если вы хотите использовать сторонний сервис рассылок, например Sendinblue, то для этого есть официальные плагины, которые интегрируются с WordPress и позволяют строить автоматизированные цепочки писем, в том числе уведомления о новых постах на сайте.
Как создать автоматическую подписку на новости WordPress с помощью кода
Если вы хотите сделать кастомное решение без плагинов или расширить функционал, можно написать собственный код. Рассмотрим пример создания формы подписки и автоматической отправки писем о новых публикациях.
1. Создаем форму подписки с помощью шорткода
Добавим в functions.php темы следующий код для регистрации шорткода формы подписки:
function wpmailru_subscribe_form() {
if ( isset($_POST['wpmailru_email']) && is_email($_POST['wpmailru_email']) ) {
$email = sanitize_email($_POST['wpmailru_email']);
wpmailru_save_subscriber($email);
echo '<p>Спасибо за подписку!</p>';
}
ob_start();
?>
<form method="post">
<input type="email" name="wpmailru_email" placeholder="Ваш email" required />
<button type="submit">Подписаться</button>
</form>
<?php
return ob_get_clean();
}
add_shortcode('wpmailru_subscribe', 'wpmailru_subscribe_form');Этот код создает простую форму для ввода email, которую можно вставить в любую страницу с помощью шорткода [wpmailru_subscribe].
2. Сохраняем email подписчиков в базу данных
Для хранения подписчиков создадим отдельную таблицу и функцию сохранения:
function wpmailru_create_subscribers_table() {
global $wpdb;
$table_name = $wpdb->prefix . 'wpmailru_subscribers';
$charset_collate = $wpdb->get_charset_collate();
$sql = "CREATE TABLE IF NOT EXISTS $table_name (
id mediumint(9) NOT NULL AUTO_INCREMENT,
email varchar(100) NOT NULL,
subscribed datetime DEFAULT CURRENT_TIMESTAMP NOT NULL,
PRIMARY KEY (id),
UNIQUE KEY email (email)
) $charset_collate;";
require_once(ABSPATH . 'wp-admin/includes/upgrade.php');
dbDelta($sql);
}
register_activation_hook(__FILE__, 'wpmailru_create_subscribers_table');
function wpmailru_save_subscriber($email) {
global $wpdb;
$table_name = $wpdb->prefix . 'wpmailru_subscribers';
$wpdb->replace($table_name, array('email' => $email));
}Этот код создаст таблицу при активации плагина (или можно выполнить вручную) и будет сохранять email подписчиков без дублирования.
3. Автоматическая отправка писем при публикации новых постов
Используем хук publish_post для отправки писем всем подписчикам:
function wpmailru_send_new_post_notification($post_id) {
if ( wp_is_post_revision($post_id) ) {
return;
}
$post = get_post($post_id);
if ($post->post_status !== 'publish') {
return;
}
global $wpdb;
$table_name = $wpdb->prefix . 'wpmailru_subscribers';
$subscribers = $wpdb->get_col("SELECT email FROM $table_name");
if (empty($subscribers)) {
return;
}
$subject = 'Новая статья на сайте: ' . $post->post_title;
$message = 'Здравствуйте!<br>На нашем сайте опубликована новая статья: <a href="' . get_permalink($post_id) . '">' . $post->post_title . '</a>.<br>Приятного чтения!';
$headers = array('Content-Type: text/html; charset=UTF-8');
foreach ($subscribers as $email) {
wp_mail($email, $subject, $message, $headers);
}
}
add_action('publish_post', 'wpmailru_send_new_post_notification');Так при публикации новой записи всем подписчикам будет отправлено письмо с анонсом и ссылкой на статью.
Рекомендации по улучшению системы подписки
Используйте сервисы SMTP для надежной отправки
Стандартная функция wp_mail() может не всегда корректно отправлять письма, особенно на больших объемах. Для надежности рекомендуется настроить SMTP-сервер, например, через WP SMTP, что значительно повысит доставляемость писем.
Добавьте возможность отписки
Согласно законодательству и этикету email маркетинга, обязательно предоставьте пользователям возможность отписаться. Для этого можно добавить уникальную ссылку в письмо, которая будет удалять email из базы.
Используйте кеширование и отложенную отправку
Если подписчиков много, отправка писем в цикле может нагрузить сервер. Для оптимизации можно использовать очередь, задачи wp_cron или интеграцию с внешними сервисами рассылок.
Выводы и лучшие практики для автоматической подписки на новости WordPress
Автоматическая подписка — мощный инструмент для удержания аудитории. Для большинства проектов подойдет настройка через проверенные плагины, такие как MailPoet или Newsletter, они обеспечивают удобный интерфейс и надежность.
Если необходима гибкость, кастомное решение на основе кода позволит интегрировать подписку под конкретные задачи и доработать под любые требования.
Обязательно тестируйте отправку писем и следите за статистикой, чтобы улучшать контент и взаимодействие с подписчиками.