Автоматические подписки на новости — один из эффективных способов поддерживать связь с аудиторией и повышать вовлечённость пользователей сайта на WordPress. В этой статье мы подробно разберём, как реализовать подписку на обновления с помощью популярных плагинов, а также создадим собственный функционал для автоматической рассылки новостей.
Почему автоматические подписки важны для сайта на WordPress
Подписка позволяет вашим посетителям получать уведомления о новых публикациях или изменениях без необходимости регулярно проверять сайт. Это помогает удержать аудиторию, увеличить трафик и повысить лояльность. При этом автоматизация процесса существенно экономит время и силы владельца сайта.
Реализовать подписку можно несколькими способами, включая email-рассылки, push-уведомления и RSS-ленты. Мы сосредоточимся на наиболее популярных и удобных — email-подписках и пушах.
Использование плагинов для создания подписок на новости в WordPress
Плагин Newsletter для email-подписок
Newsletter — бесплатный и мощный плагин, который позволяет создавать формы подписки, сегментировать аудиторию и отправлять автоматические рассылки. Он отлично подходит для новичков и продвинутых пользователей.
Чтобы установить и настроить Newsletter:
- Перейдите в админку WordPress → Плагины → Добавить новый.
- В поиске введите "Newsletter" и установите плагин от Stefano Lissa.
- Активируйте плагин и перейдите в его настройки.
- Создайте форму подписки, выбрав поля и дизайн.
- Настройте автоматическую рассылку новых постов с помощью модуля "Авторассылки".
Newsletter поддерживает интеграцию с WooCommerce и другими плагинами, что расширяет возможности подписок.
Плагин OneSignal для push-уведомлений
Если хотите отправлять пуши, OneSignal — отличный выбор. Он позволяет пользователям подписываться на уведомления прямо в браузере.
Для настройки:
- Установите и активируйте плагин OneSignal.
- Зарегистрируйтесь на сайте OneSignal и создайте новый проект.
- Получите API-ключи и вставьте их в настройки плагина.
- Настройте видимость кнопки подписки и автоматическую отправку пушей при публикации новых постов.
OneSignal поддерживает все современные браузеры и мобильные устройства.
Как создать собственный функционал автоматической подписки и рассылки новостей
Если вы хотите реализовать более гибкое решение без сторонних плагинов, можно написать свой код. Рассмотрим пример, как автоматически отправлять письмо с новостями подписчикам при публикации нового поста.
Создание таблицы подписчиков
Для хранения подписчиков создадим отдельную таблицу в базе данных WordPress:
function wp3_create_subscribers_table() {
global $wpdb;
$table_name = $wpdb->prefix . 'wp3_subscribers';
$charset_collate = $wpdb->get_charset_collate();
$sql = "CREATE TABLE $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__, 'wp3_create_subscribers_table');Этот код создаст таблицу для хранения email-адресов подписчиков с уникальной проверкой.
Добавление формы подписки в тему
Чтобы пользователи могли подписаться, добавим простую форму:
function wp3_subscription_form() {
return '<form method="post" action="">
<input type="email" name="wp3_sub_email" placeholder="Ваш email" required>
<input type="submit" name="wp3_subscribe" value="Подписаться">
</form>';
}
add_shortcode('wp3_subscribe_form', 'wp3_subscription_form');Используйте шорткод [wp3_subscribe_form] в нужном месте сайта.
Обработка подписки и сохранение email
Теперь обработаем форму и сохраним email в базу:
function wp3_handle_subscription() {
if (isset($_POST['wp3_subscribe']) && !empty($_POST['wp3_sub_email'])) {
global $wpdb;
$email = sanitize_email($_POST['wp3_sub_email']);
if (!is_email($email)) {
echo '<p style="color:red;">Неверный email</p>';
return;
}
$table = $wpdb->prefix . 'wp3_subscribers';
$exists = $wpdb->get_var($wpdb->prepare("SELECT COUNT(*) FROM $table WHERE email = %s", $email));
if ($exists) {
echo '<p>Вы уже подписаны.</p>';
return;
}
$wpdb->insert($table, ['email' => $email, 'subscribed' => current_time('mysql')]);
echo '<p style="color:green;">Спасибо за подписку!</p>';
}
}
add_action('wp_head', 'wp3_handle_subscription');Этот код добавляет email в таблицу, проверяя корректность и уникальность.
Автоматическая рассылка новых постов подписчикам
Добавим функцию, которая будет отправлять письмо после публикации нового поста:
function wp3_send_post_to_subscribers($post_ID, $post) {
if ($post->post_status != 'publish') return;
global $wpdb;
$table = $wpdb->prefix . 'wp3_subscribers';
$subscribers = $wpdb->get_col("SELECT email FROM $table");
if (empty($subscribers)) return;
$subject = 'Новая статья на сайте: ' . $post->post_title;
$message = 'Привет!\n\nПоявилась новая статья на нашем сайте: "' . $post->post_title . '".\nЧитать: ' . get_permalink($post_ID) . '\n\nСпасибо, что вы с нами!';
$headers = ['Content-Type: text/plain; charset=UTF-8'];
foreach ($subscribers as $email) {
wp_mail($email, $subject, $message, $headers);
}
}
add_action('publish_post', 'wp3_send_post_to_subscribers', 10, 2);Функция wp3_send_post_to_subscribers отправляет письмо всем подписчикам при публикации поста. Рекомендуется внедрить очередь или использовать сторонние сервисы для больших списков.
Дополнительные советы и полезные плагины для подписок
Clearfy Pro для оптимизации и безопасности подписок
Плагин Clearfy Pro поможет оптимизировать работу сайта, повысить безопасность и ускорить загрузку, что важно при работе с рассылками и подписками.
WPGPT для генерации контента рассылок
Если хотите автоматизировать создание текста рассылок, используйте плагин WPGPT — он интегрируется с GPT и поможет создавать уникальные анонсы статей.
Настройка double opt-in
Для соблюдения законодательства и повышения качества подписчиков рекомендуем реализовать подтверждение подписки через отправку письма с подтверждением (double opt-in). Это можно сделать через плагины Newsletter или Sendinblue, либо самостоятельно расширить приведённый код.
Заключение
Автоматические подписки — мощный инструмент взаимодействия с аудиторией. Выбор между плагинами и собственным кодом зависит от задач и объёма подписчиков. Плагины позволяют быстро настроить подписку без программирования, а кастомный код даёт полный контроль и гибкость.
Если хотите попробовать готовое решение с расширенными возможностями, посмотрите Newsletter на WPSHOP. Для пуш-уведомлений рекомендуем OneSignal.