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

|

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

Почему важно автоматическое отключение подписок

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

Другие примеры условий для отключения:

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

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

Самыми популярными решениями для подписок в WordPress являются плагин MailPoet, Newsletter и Expert Review от WPSHOP.

Например, в MailPoet есть встроенные возможности сегментации аудитории и автоматического удаления неактивных подписчиков. Newsletter позволяет включать условия для отписок через автоматические кампании. Expert Review предлагает расширенные функции для анализа активности и управления подписками с помощью автоматических правил.

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

Пример настройки автоматического отключения в Expert Review

В Expert Review можно создать правило, которое отключит подписку, если пользователь не открывал письма в течение 3 месяцев. Для этого:

  1. В админке перейдите в раздел «Автоматизация».
  2. Создайте новое правило с условием «Неактивный пользователь» по времени.
  3. Выберите действие «Отключить подписку».
  4. Сохраните и активируйте правило.

Это позволяет автоматически управлять базой подписчиков без дополнительного вмешательства.

Пример кода для автоматического отключения подписок по времени в WordPress

Если вы хотите реализовать автоматическое отключение самостоятельно, можно использовать следующий пример. Предположим, у вас есть кастомное поле user_meta с датой последней активности пользователя. По условию отключаем подписку, если прошло более 90 дней.

function wpzoom_disable_subscriptions_automatically() {
    $args = array(
        'meta_key'     => 'wpzoom_last_activity',
        'meta_value'   => date('Y-m-d', strtotime('-90 days')),
        'meta_compare' => '<=',
        'fields'       => 'ID',
        'number'       => -1
    );

    $users = get_users($args);

    foreach ($users as $user_id) {
        // Ваш код отключения подписки, например, обновление user_meta
        update_user_meta($user_id, 'wpzoom_subscription_status', 'disabled');
    }
}

// Запускаем функцию раз в сутки через Cron
if (!wp_next_scheduled('wpzoom_daily_disable_subscriptions')) {
    wp_schedule_event(time(), 'daily', 'wpzoom_daily_disable_subscriptions');
}
add_action('wpzoom_daily_disable_subscriptions', 'wpzoom_disable_subscriptions_automatically');

В этом примере мы находим всех пользователей, у которых дата последней активности более 90 дней назад, и меняем их статус подписки. Далее вы можете адаптировать логику отправки писем, исключая таких пользователей.

Как проверять статус подписки при отправке письма

Если вы используете собственный механизм рассылки через wp_mail(), добавьте проверку перед отправкой:

function wpzoom_send_newsletter_to_user($user_id, $message) {
    $status = get_user_meta($user_id, 'wpzoom_subscription_status', true);
    if ($status === 'disabled') {
        return false; // Пропускаем отправку
    }

    $user = get_userdata($user_id);
    if (!$user) {
        return false;
    }

    return wp_mail($user->user_email, 'Рассылка', $message);
}

Другие полезные советы и плагины для управления подписками

Для комплексного управления подписками рекомендуем обратить внимание на следующие решения:

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

Итог

Мы рассмотрели, как с помощью готовых плагинов и собственного кода организовать автоматическое отключение подписок в WordPress. Используйте возможности плагинов Expert Review и MailPoet для быстрой настройки, а для уникальных условий пишите собственные скрипты на основе cron и user_meta. Такой подход поможет вам грамотно управлять подписчиками и улучшить показатели рассылок.

Как сделать многоязычный сайт на WordPress без плагинов
30.11.2025
Как удалить кэш в WordPress: практические способы и примеры
05.03.2026
Как использовать выпадающие списки в WordPress своими руками: примеры и код
14.04.2026
Оптимизация загрузки шрифтов в WordPress: практические решения для ускорения сайта
08.12.2025
Автоматическое удаление старых файлов из медиа библиотеки WordPress
10.02.2026
×
WPShop
партнерка без «но»!

До 3225₽ за каждую продажу

Подключиться к игре