Как автоматически отмечать лайки в WordPress по условиям

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

Почему стоит автоматизировать проставление лайков в WordPress

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

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

Рассмотрим, как реализовать такое решение с нуля и с помощью плагинов.

Использование плагинов для лайков с поддержкой автоматизации

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

  • WPRemark — мощный плагин для социального взаимодействия, поддерживает лайки, комментарии и многое другое. Позволяет через API и хуки программно управлять лайками.
  • Clearfy Pro — включает оптимизации и возможность управления частями функционала, включая социальные элементы.

Использование таких плагинов ускорит процесс и обеспечит стабильность. Рассмотрим пример с WPRemark.

Пример автоматического лайка с WPRemark

WPRemark предоставляет функцию wpremark_add_like($post_id, $user_id) для добавления лайка. Мы можем написать функцию, которая проверяет посты и ставит лайк по условию:

function wpsocial_auto_like_posts_by_views() {
    $args = [
        'post_type' => 'post',
        'meta_key' => 'post_views_count',
        'orderby' => 'meta_value_num',
        'order' => 'DESC',
        'posts_per_page' => 10
    ];
    $query = new WP_Query($args);
    if ($query->have_posts()) {
        while ($query->have_posts()) {
            $query->the_post();
            $post_id = get_the_ID();
            // Проверяем, есть ли уже лайк от пользователя с ID 0 (системный)
            if (!wpremark_user_liked_post(0, $post_id)) {
                wpremark_add_like($post_id, 0); // 0 - системный пользователь
            }
        }
        wp_reset_postdata();
    }
}
add_action('wp_loaded', 'wpsocial_auto_like_posts_by_views');

В этом примере мы автоматически ставим лайки 10 самым просматриваемым постам с помощью системного пользователя (ID 0). Функция wpremark_user_liked_post() проверяет, есть ли лайк, чтобы не ставить дубликаты.

Создание собственной системы лайков с автоматическим проставлением

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

Шаг 1. Добавляем метаполе для лайков

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

Шаг 2. Функция добавления лайка в метаполе

function wpsocial_add_like($post_id, $user_id = 0) {
    $liked_users = get_post_meta($post_id, 'wpsocial_liked_users', true);
    if (empty($liked_users)) {
        $liked_users = [];
    }
    if (in_array($user_id, $liked_users)) {
        // Пользователь уже лайкал
        return false;
    }
    $liked_users[] = $user_id;
    update_post_meta($post_id, 'wpsocial_liked_users', $liked_users);

    $likes_count = get_post_meta($post_id, 'wpsocial_likes_count', true);
    $likes_count = $likes_count ? (int)$likes_count + 1 : 1;
    update_post_meta($post_id, 'wpsocial_likes_count', $likes_count);

    return true;
}

Шаг 3. Автоматическое проставление лайков по условию

Допустим, мы хотим ставить лайк всем постам категории "Новости" при публикации:

function wpsocial_auto_like_news_posts($post_id) {
    if (get_post_type($post_id) !== 'post') {
        return;
    }
    if (has_category('novosti', $post_id)) {
        wpsocial_add_like($post_id, 0); // системный пользователь
    }
}
add_action('publish_post', 'wpsocial_auto_like_news_posts');

Шаг 4. Вывод лайков в шаблоне

Для отображения количества лайков в шаблоне темы используйте:

echo 'Лайков: ' . (int) get_post_meta(get_the_ID(), 'wpsocial_likes_count', true);

Дополнительные идеи по автоматизации лайков

Чтобы расширить функциональность, можно:

  • Добавить автоматические лайки при достижении пользователем определённого уровня активности.
  • Ставить лайки постам с заданными метками (тегами).
  • Интегрировать лайки с системой баллов или достижений.
  • Сделать периодическую проверку через WP-Cron и автоматически лайкать посты с высоким рейтингом или количеством просмотров.

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

Заключение: почему автоматизация лайков важна для WordPress

Автоматическое проставление лайков — это удобный инструмент для управления социальным взаимодействием на сайте. Он позволяет создавать динамические рейтинги, выделять лучшие материалы и экономить время на ручных операциях. Используйте примеры из статьи, комбинируйте с плагинами типа WPRemark и адаптируйте решение под свои задачи.

Если хотите глубже изучить возможности WPRemark, переходите на официальную страницу плагина.

WooCommerce: как настроить автоматическую отправку сообщений покупателям после заказа
01.06.2026
Как создать собственный шорткод в WordPress с примером кода
22.11.2025
WooCommerce: как автоматически удалять неактивные заказы по срокам
07.07.2026
WooCommerce: как настроить автоматическую отправку сообщений покупателям после заказа
28.04.2026
Автопостинг из Twitter в WordPress с фильтрацией и обработкой контента
13.04.2026