Автоматическое отображение отзывов на вашем сайте WordPress — отличный способ повысить доверие посетителей и улучшить конверсию, особенно если вы работаете с affiliate-сайтами или продаете товары и услуги. В этой статье мы подробно рассмотрим, как добавить на сайт автоматическое отображение отзывов, используя как готовые плагины, так и собственные решения с кодом.
Почему важно автоматизировать отображение отзывов в WordPress
Отзывы пользователей — это социальное доказательство, которое помогает посетителям сделать выбор и повысить доверие к вашему ресурсу. Ручной ввод отзывов неудобен и часто приводит к устареванию контента. Автоматизация позволяет:
- Обновлять отзывы без вашего постоянного участия;
- Подключать отзывы из внешних источников (например, соцсетей, маркетплейсов);
- Выводить отзывы в удобном и красивом формате;
- Управлять и модерировать отзывы централизованно.
Рассмотрим как реализовать это на практике.
Популярные плагины для автоматического отображения отзывов в WordPress
Среди множества плагинов для отзывов выделим несколько, которые позволяют автоматизировать процесс и интегрируются с внешними сервисами:
1. WP Customer Reviews
Плагин позволяет собирать отзывы прямо на вашем сайте с возможностью модерации. Можно настроить автоматическое отображение новых отзывов без вмешательства.
2. Google Reviews Widget
Этот плагин автоматически подтягивает отзывы из Google My Business и выводит их на сайте, обновляя данные по расписанию. Отлично подходит для локального бизнеса.
3. Elementor Pro + Dynamic Content
Если используете Elementor, можно настроить динамическое отображение отзывов, подключая источники через API или кастомные поля.
Как реализовать автоматическое отображение отзывов своими силами — пример кода
Если вы хотите полностью контролировать процесс и не зависеть от плагинов, можно написать свой функционал. Опишем пример, как создать shortcode для вывода отзывов из кастомного типа записей с автоматическим обновлением.
Создаем кастомный тип записей для отзывов
function wpaffiliate_register_reviews_cpt() {
$labels = array(
'name' => 'Отзывы',
'singular_name' => 'Отзыв',
);
$args = array(
'labels' => $labels,
'public' => true,
'has_archive' => true,
'supports' => array('title', 'editor', 'custom-fields'),
);
register_post_type('wpaffiliate_review', $args);
}
add_action('init', 'wpaffiliate_register_reviews_cpt');Этот код регистрирует новый тип записей «Отзывы», в котором удобно хранить отзывы с полями, например, имя автора, рейтинг и текст.
Создаем shortcode для вывода отзывов
function wpaffiliate_display_reviews_shortcode($atts) {
$atts = shortcode_atts(array(
'count' => 5,
), $atts, 'wpaffiliate_reviews');
$args = array(
'post_type' => 'wpaffiliate_review',
'posts_per_page' => intval($atts['count']),
'post_status' => 'publish',
);
$reviews = new WP_Query($args);
if (!$reviews->have_posts()) {
return '<p>Отзывы пока отсутствуют.</p>';
}
$output = '<div class="wpaffiliate-reviews">';
while ($reviews->have_posts()) {
$reviews->the_post();
$author = get_post_meta(get_the_ID(), 'author_name', true);
$rating = get_post_meta(get_the_ID(), 'rating', true);
$content = get_the_content();
$output .= '<div class="review-item">';
$output .= '<h3>' . esc_html($author) . '</h3>';
$output .= '<p>Рейтинг: ' . esc_html($rating) . '/5</p>';
$output .= '<blockquote>' . esc_html($content) . '</blockquote>';
$output .= '</div>';
}
wp_reset_postdata();
$output .= '</div>';
return $output;
}
add_shortcode('wpaffiliate_reviews', 'wpaffiliate_display_reviews_shortcode');Шорткод [wpaffiliate_reviews count=3] выведет 3 последних отзыва с заданным оформлением.
Добавляем автоматическое обновление отзывов из внешнего источника
Предположим, у вас есть API с отзывами, которые нужно обновлять ежедневно. Создаем функцию, которая вызывается по крону и обновляет отзывы в базе WordPress.
function wpaffiliate_update_reviews_from_api() {
$response = wp_remote_get('https://example.com/api/reviews');
if (is_wp_error($response)) {
return;
}
$data = json_decode(wp_remote_retrieve_body($response), true);
if (empty($data) || !is_array($data)) {
return;
}
foreach ($data as $review) {
// Проверяем, есть ли уже отзыв с таким ID
$existing = get_posts(array(
'post_type' => 'wpaffiliate_review',
'meta_key' => 'external_id',
'meta_value' => $review['id'],
'posts_per_page' => 1,
));
$post_data = array(
'post_title' => sanitize_text_field($review['author']),
'post_content' => sanitize_textarea_field($review['text']),
'post_status' => 'publish',
'post_type' => 'wpaffiliate_review',
);
if ($existing) {
$post_data['ID'] = $existing[0]->ID;
wp_update_post($post_data);
update_post_meta($existing[0]->ID, 'rating', intval($review['rating']));
update_post_meta($existing[0]->ID, 'author_name', sanitize_text_field($review['author']));
update_post_meta($existing[0]->ID, 'external_id', sanitize_text_field($review['id']));
} else {
$post_id = wp_insert_post($post_data);
if ($post_id) {
update_post_meta($post_id, 'rating', intval($review['rating']));
update_post_meta($post_id, 'author_name', sanitize_text_field($review['author']));
update_post_meta($post_id, 'external_id', sanitize_text_field($review['id']));
}
}
}
}
// Добавляем крон задачу для ежедневного обновления
if (!wp_next_scheduled('wpaffiliate_daily_update_reviews')) {
wp_schedule_event(time(), 'daily', 'wpaffiliate_daily_update_reviews');
}
add_action('wpaffiliate_daily_update_reviews', 'wpaffiliate_update_reviews_from_api');Таким образом отзывы из внешнего источника будут автоматически попадать в ваш сайт, а выводиться через созданный shortcode.
Рекомендации по оформлению и модерации отзывов
Независимо от способа добавления отзывов важно правильно их оформлять и модерировать:
- Используйте структурированные данные (schema.org) для отзывов, чтобы поисковики показывали их в сниппетах.
- Настройте фильтры спама и модерацию, чтобы не допускать нежелательный контент.
- Используйте звездные рейтинги и визуальные элементы для улучшения восприятия.
- Регулярно обновляйте отзывы, удаляйте устаревшие.
Выводы и лучшие практики
Автоматическое отображение отзывов в WordPress — это не только способ сэкономить время, но и мощный инструмент для повышения доверия и улучшения UX на сайте. Используйте готовые плагины для быстрого старта и кастомные решения для гибкости и полного контроля. Внедряйте регулярное обновление данных из внешних источников и не забывайте о правильном оформлении, чтобы отзывы действительно работали на ваш успех.