В современном вебе отзывы пользователей из социальных сетей играют ключевую роль для повышения доверия к вашему сайту. Особенно актуально интегрировать отзывы из Instagram — популярной платформы с визуальным контентом. В этой статье подробно разберём, как организовать автоматический импорт отзывов из Instagram в WordPress, используя как готовые плагины, так и собственные решения на PHP.
Почему стоит импортировать отзывы из Instagram в WordPress
Instagram — одна из самых популярных социальных платформ, где пользователи часто оставляют отзывы и комментарии под публикациями. Перенос этих отзывов на сайт помогает:
- Увеличить доверие посетителей за счёт реальных отзывов с соцсетей.
- Повысить SEO за счёт уникального контента.
- Автоматизировать обновление отзывов без ручного копирования.
Однако Instagram не предоставляет открытого API для прямого доступа к комментариям без прохождения сложной процедуры авторизации. Поэтому для импорта стоит использовать проверенные плагины или API Instagram Graph с токенами.
Выбор плагина для автоматического импорта отзывов из Instagram
Существует несколько популярных плагинов, которые позволяют импортировать отзывы и комментарии из Instagram на сайт:
1. WPRemark
Плагин WPRemark позволяет собирать отзывы из различных источников, включая социальные сети. С его помощью можно настроить автоматический импорт отзывов из Instagram по хэштегам или аккаунтам. Плагин поддерживает фильтрацию и модерацию полученного контента.
2. Instagram Feed by Smash Balloon
Этот плагин позволяет вывести ленты из Instagram прямо на сайт, включая комментарии. Можно настроить кэширование и автоматическое обновление данных. Для импорта именно отзывов рекомендуется использовать фильтры по ключевым словам и вручную выводить комментарии.
3. Feed Them Social
Плагин поддерживает разные соцсети, в том числе Instagram. Позволяет выводить отзывы и комментарии из ваших постов. Имеет опцию автообновления и кэширования.
Как реализовать автоматический импорт отзывов из Instagram вручную через API
Если вы хотите обойтись без плагинов или сделать кастомное решение, можно использовать Instagram Graph API. Для этого необходим бизнес-аккаунт Instagram и Facebook Developer App.
Получение доступа к Instagram Graph API
Для доступа к отзывам и комментариям:
- Создайте Facebook App в Facebook Developer.
- Свяжите бизнес-аккаунт Instagram с Facebook Page.
- Получите Access Token с нужными правами (instagram_manage_comments, pages_read_engagement).
- Используйте API для запроса комментариев к публикациям.
Пример запроса комментариев с помощью PHP
function wpfinder_get_instagram_comments($access_token, $instagram_business_account_id) {
// Получаем публикации
$posts_url = "https://graph.facebook.com/v15.0/" . $instagram_business_account_id . "/media?fields=id,caption&access_token=" . $access_token;
$response = wp_remote_get($posts_url);
if (is_wp_error($response)) {
return [];
}
$body = json_decode(wp_remote_retrieve_body($response), true);
$comments = [];
if (!empty($body['data'])) {
foreach ($body['data'] as $post) {
$media_id = $post['id'];
// Запрашиваем комментарии к публикации
$comments_url = "https://graph.facebook.com/v15.0/" . $media_id . "/comments?access_token=" . $access_token;
$comments_response = wp_remote_get($comments_url);
if (is_wp_error($comments_response)) {
continue;
}
$comments_body = json_decode(wp_remote_retrieve_body($comments_response), true);
if (!empty($comments_body['data'])) {
foreach ($comments_body['data'] as $comment) {
$comments[] = [
'id' => $comment['id'],
'text' => $comment['text'],
'username' => $comment['username'] ?? '',
'timestamp' => $comment['timestamp'] ?? '',
];
}
}
}
}
return $comments;
}Этот код получает все комментарии из публикаций бизнес-аккаунта Instagram. Далее их можно сохранять в базу WordPress, выводить в виде отзывов.
Как сохранить и отобразить отзывы на сайте
После получения комментариев стоит сохранить их в собственной таблице или custom post type для отзывов. Это позволит гибко управлять контентом и добавлять модерацию.
Создание Custom Post Type для отзывов
function wpfinder_register_reviews_cpt() {
$labels = [
'name' => 'Отзывы Instagram',
'singular_name' => 'Отзыв Instagram',
'add_new' => 'Добавить отзыв',
'edit_item' => 'Редактировать отзыв',
'all_items' => 'Все отзывы',
];
$args = [
'labels' => $labels,
'public' => false,
'show_ui' => true,
'supports' => ['title', 'editor'],
'has_archive' => false,
];
register_post_type('instagram_review', $args);
}
add_action('init', 'wpfinder_register_reviews_cpt');После регистрации CPT вы можете программно добавлять отзывы из Instagram в виде записей типа instagram_review.
Пример добавления отзыва из комментария
function wpfinder_save_instagram_comment_as_review($comment) {
$post_data = [
'post_title' => 'Отзыв от ' . ($comment['username'] ?? 'пользователя'),
'post_content' => $comment['text'],
'post_status' => 'publish',
'post_type' => 'instagram_review',
];
$post_id = wp_insert_post($post_data);
if (!is_wp_error($post_id)) {
update_post_meta($post_id, '_instagram_comment_id', $comment['id']);
update_post_meta($post_id, '_instagram_comment_timestamp', $comment['timestamp']);
}
return $post_id;
}Таким образом можно циклом по всем новым комментариям создавать посты-отзывы.
Вывод отзывов на сайте с помощью шорткода
Для удобного отображения отзывов можно создать шорткод:
function wpfinder_instagram_reviews_shortcode() {
$args = [
'post_type' => 'instagram_review',
'posts_per_page' => 10,
'post_status' => 'publish',
];
$reviews = get_posts($args);
if (empty($reviews)) {
return '<p>Отзывов пока нет.</p>';
}
$output = '<div class="instagram-reviews">';
foreach ($reviews as $review) {
$output .= '<div class="review-item">';
$output .= '<h3>' . esc_html($review->post_title) . '</h3>';
$output .= '<p>' . esc_html($review->post_content) . '</p>';
$output .= '</div>';
}
$output .= '</div>';
return $output;
}
add_shortcode('instagram_reviews', 'wpfinder_instagram_reviews_shortcode');Теперь в любом месте сайта можно вывести отзывы, добавив шорткод [instagram_reviews].
Как автоматизировать процесс импорта
Чтобы импорт был автоматическим, достаточно настроить WP-Cron задачу, которая раз в несколько часов будет выполнять запрос к API, сохранять новые комментарии и добавлять их в WordPress.
function wpfinder_schedule_instagram_reviews_import() {
if (!wp_next_scheduled('wpfinder_import_instagram_reviews')) {
wp_schedule_event(time(), 'hourly', 'wpfinder_import_instagram_reviews');
}
}
add_action('wp', 'wpfinder_schedule_instagram_reviews_import');
function wpfinder_import_instagram_reviews_callback() {
$access_token = 'ВАШ_ACCESS_TOKEN';
$instagram_account_id = 'ВАШ_ID_АККАУНТА';
$comments = wpfinder_get_instagram_comments($access_token, $instagram_account_id);
foreach ($comments as $comment) {
// Проверяем, есть ли уже такой отзыв
$existing = new WP_Query([
'post_type' => 'instagram_review',
'meta_key' => '_instagram_comment_id',
'meta_value' => $comment['id'],
]);
if ($existing->have_posts()) {
continue;
}
wpfinder_save_instagram_comment_as_review($comment);
}
}
add_action('wpfinder_import_instagram_reviews', 'wpfinder_import_instagram_reviews_callback');Этот код гарантирует, что отзывы будут обновляться без вашего участия.
Дополнительные рекомендации и плагины для улучшения отзывов
Для более удобного управления и показа отзывов можно использовать:
- Expert Review — плагин для расширенного управления отзывами и рейтингами.
- Плагины кеширования, например, Clearfy Pro, для ускорения вывода отзывов.
- Добавление визуальных элементов — фотогалереи Instagram, видео, с помощью OmniVideo и WPStories.
Используя эти инструменты, вы сможете сделать раздел с отзывами живым, привлекательным и полезным для посетителей.