wpmoney.ru wordpress WP Money

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

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

Зачем нужен автоматический импорт отзывов

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

  • Регулярно обновлять отзывы с внешних сервисов (например, Google Reviews, Яндекс.Маркет, соцсети);
  • Поддерживать актуальность и свежесть контента на сайте;
  • Увеличивать доверие посетителей за счёт большого количества отзывов;
  • Снижать нагрузку на администраторов сайта.

Для реализации можно использовать плагины, либо создавать кастомные скрипты на PHP с использованием REST API источников отзывов.

Примеры плагинов для импорта отзывов

1. WP Customer Reviews

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

Ссылка на плагин: WP Customer Reviews

2. Reviews Importer

Плагин для импорта отзывов из CSV или XML файлов. Удобен, если отзывы поступают из CRM или внешних баз данных.

Подробнее: Reviews Importer на WPSHOP

3. Google My Business Reviews

Плагин для автоматического вывода отзывов из Google My Business. Позволяет настраивать отображение и фильтрацию.

Подробнее на официальном сайте WordPress.

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

Пример ниже показывает, как можно автоматически импортировать отзывы из внешнего JSON API и добавлять их в базу WordPress как комментарии к постам.

Подготовка и настройка

Для примера возьмём гипотетический API, который отдаёт список отзывов в формате JSON по адресу https://example.com/api/reviews. Каждый отзыв содержит поля: author, content, date, post_id.

Пример кода импорта

function wpmoney_import_reviews() {
    $response = wp_remote_get('https://example.com/api/reviews');
    if (is_wp_error($response)) {
        error_log('Ошибка при получении отзывов');
        return;
    }
    $body = wp_remote_retrieve_body($response);
    $reviews = json_decode($body, true);
    if (empty($reviews)) {
        error_log('Отзывов не найдено или неверный формат');
        return;
    }
    foreach ($reviews as $review) {
        // Проверяем, есть ли уже такой отзыв по содержимому и автору
        $existing = get_comments(array(
            'author_email' => sanitize_email($review['author_email'] ?? ''),
            'content' => sanitize_text_field($review['content']),
            'post_id' => intval($review['post_id']),
            'count' => true
        ));
        if ($existing > 0) {
            continue; // Такой отзыв уже есть
        }
        // Создаём массив данных для комментария
        $commentdata = array(
            'comment_post_ID' => intval($review['post_id']),
            'comment_author' => sanitize_text_field($review['author']),
            'comment_author_email' => sanitize_email($review['author_email'] ?? ''),
            'comment_content' => sanitize_textarea_field($review['content']),
            'comment_date' => sanitize_text_field($review['date']),
            'comment_approved' => 1,
        );
        wp_insert_comment($commentdata);
    }
}
// Запускаем функцию по крону или вручную
add_action('wpmoney_import_reviews_cron', 'wpmoney_import_reviews');

Этот код следует запускать регулярно, например, через WP-Cron, чтобы импортировать новые отзывы автоматически.

Настройка WP-Cron для регулярного запуска импорта

Чтобы автоматизировать импорт, нужно настроить событие WP-Cron, которое будет вызывать функцию каждую ночь:

function wpmoney_setup_import_cron() {
    if (!wp_next_scheduled('wpmoney_import_reviews_cron')) {
        wp_schedule_event(time(), 'daily', 'wpmoney_import_reviews_cron');
    }
}
add_action('wp', 'wpmoney_setup_import_cron');

Это гарантирует, что функция wpmoney_import_reviews будет запускаться ежедневно и обновлять отзывы.

Обработка ошибок и логирование

При работе с внешними API важно учитывать возможные ошибки (превышение лимитов, недоступность сервиса). В приведённом примере ошибки записываются в файл логов через error_log. Для более продвинутого решения можно использовать плагин Clearfy Pro, который помогает управлять логами и оптимизировать работу сайта.

Вывод отзывов на сайте с кастомным оформлением

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

function wpmoney_show_reviews($atts) {
    $atts = shortcode_atts(array(
        'post_id' => get_the_ID(),
        'number' => 10,
    ), $atts, 'wpmoney_reviews');

    $comments = get_comments(array(
        'post_id' => intval($atts['post_id']),
        'number' => intval($atts['number']),
        'status' => 'approve',
    ));

    if (empty($comments)) {
        return '<p>Отзывов пока нет.</p>';
    }

    $output = '<div class="wpmoney-reviews">';
    foreach ($comments as $comment) {
        $output .= '<div class="review-item">';
        $output .= '<strong>' . esc_html($comment->comment_author) . '</strong>';
        $output .= '<p>' . esc_html($comment->comment_content) . '</p>';
        $output .= '<small>' . esc_html(date('d.m.Y', strtotime($comment->comment_date))) . '</small>';
        $output .= '</div>';
    }
    $output .= '</div>';
    return $output;
}
add_shortcode('wpmoney_reviews', 'wpmoney_show_reviews');

Этот шорткод [wpmoney_reviews] можно вставлять в нужные страницы или записи, чтобы выводить отзывы.

Заключение

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

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

×

AI-плагин

WPGPT
Сам создает статьи для вашего сайта WordPress

SEO и мета-теги

Парсинг конкурентов

Изображения

Комментарии

Подробнее