Как создать автоматические подписки на новости в WordPress

Автоматические подписки на новости — один из эффективных способов поддерживать связь с аудиторией и повышать вовлечённость пользователей сайта на WordPress. В этой статье мы подробно разберём, как реализовать подписку на обновления с помощью популярных плагинов, а также создадим собственный функционал для автоматической рассылки новостей.

Почему автоматические подписки важны для сайта на WordPress

Подписка позволяет вашим посетителям получать уведомления о новых публикациях или изменениях без необходимости регулярно проверять сайт. Это помогает удержать аудиторию, увеличить трафик и повысить лояльность. При этом автоматизация процесса существенно экономит время и силы владельца сайта.

Реализовать подписку можно несколькими способами, включая email-рассылки, push-уведомления и RSS-ленты. Мы сосредоточимся на наиболее популярных и удобных — email-подписках и пушах.

Использование плагинов для создания подписок на новости в WordPress

Плагин Newsletter для email-подписок

Newsletter — бесплатный и мощный плагин, который позволяет создавать формы подписки, сегментировать аудиторию и отправлять автоматические рассылки. Он отлично подходит для новичков и продвинутых пользователей.

Чтобы установить и настроить Newsletter:

  • Перейдите в админку WordPress → Плагины → Добавить новый.
  • В поиске введите "Newsletter" и установите плагин от Stefano Lissa.
  • Активируйте плагин и перейдите в его настройки.
  • Создайте форму подписки, выбрав поля и дизайн.
  • Настройте автоматическую рассылку новых постов с помощью модуля "Авторассылки".

Newsletter поддерживает интеграцию с WooCommerce и другими плагинами, что расширяет возможности подписок.

Плагин OneSignal для push-уведомлений

Если хотите отправлять пуши, OneSignal — отличный выбор. Он позволяет пользователям подписываться на уведомления прямо в браузере.

Для настройки:

  1. Установите и активируйте плагин OneSignal.
  2. Зарегистрируйтесь на сайте OneSignal и создайте новый проект.
  3. Получите API-ключи и вставьте их в настройки плагина.
  4. Настройте видимость кнопки подписки и автоматическую отправку пушей при публикации новых постов.

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.

Как создать свой виджет в WordPress с примерами кода
04.12.2025
Как отменить отправку писем с WordPress: практическое руководство
12.01.2026
Как использовать WPRemark для автоматического модерирования комментариев в WordPress
31.12.2025
Как добавить внешний API в WordPress с помощью WPGPT
13.02.2026
Как убрать верхний и нижний padding в WordPress: практические решения и примеры кода
18.02.2026