Управление отзывами на сайте WordPress зачастую требует много времени и внимания, особенно если отзывов много и нужно сохранять их качество и достоверность. В этой статье мы подробно разберём, как автоматизировать процесс управления отзывами с помощью плагина Expert Review, а также создадим собственные функции для дополнительной гибкости.
Что такое Expert Review и зачем он нужен для отзывов в WordPress
Expert Review — это мощный плагин для WordPress, который позволяет создавать, модерировать и выводить отзывы с экспертной оценкой. Он особенно полезен для сайтов, где важна качественная обратная связь, например, отзывы о товарах, услугах или контенте.
Основные преимущества Expert Review:
- Поддержка рейтингов с несколькими критериями;
- Возможность модерировать отзывы перед публикацией;
- Интеграция с визуальными конструкторами;
- Автоматический вывод отзывов в удобном формате;
- Гибкие настройки уведомлений и фильтрации.
Но даже такой удобный плагин можно расширить и автоматизировать с помощью собственного кода.
Автоматизация модерации отзывов с помощью хуков WordPress и Expert Review
Если у вас много отзывов, вручную их модерировать становится сложно. Можно автоматизировать процесс с помощью фильтров и экшенов WordPress.
Например, допустим, что вы хотите автоматически одобрять отзывы, если в них нет запрещённых слов и они содержат рейтинг выше 3 звёзд. Для этого используем следующий код:
function yelly_auto_approve_review($commentdata) {
$prohibited_words = ['плохой', 'отвратительный', 'мусор'];
$content = strtolower($commentdata['comment_content']);
foreach ($prohibited_words as $word) {
if (strpos($content, $word) !== false) {
// Оставляем отзыв на модерации
return $commentdata;
}
}
// Проверяем рейтинг из метаполя (плагин Expert Review сохраняет рейтинг в comment meta)
$rating = isset($_POST['expert_review_rating']) ? intval($_POST['expert_review_rating']) : 0;
if ($rating >= 3) {
$commentdata['comment_approved'] = 1; // Одобряем отзыв автоматически
}
return $commentdata;
}
add_filter('preprocess_comment', 'yelly_auto_approve_review');Этот код подключается к фильтру preprocess_comment и проверяет содержание отзыва и рейтинг. Если всё в порядке, отзыв публикуется автоматически, иначе остаётся на модерации.
Подключение уведомлений о новых отзывах
Для оперативного контроля можно настроить уведомления на email администратора при появлении новых отзывов с низким рейтингом. Это поможет быстро реагировать на негативные отзывы.
function yelly_notify_admin_low_rating($comment_ID, $comment_approved) {
if (1 === $comment_approved) {
$rating = get_comment_meta($comment_ID, 'expert_review_rating', true);
if ($rating && intval($rating) < 3) {
$admin_email = get_option('admin_email');
$comment = get_comment($comment_ID);
$subject = 'Новый негативный отзыв на сайте';
$message = 'Появился новый отзыв с рейтингом ' . $rating . ".\n\n";
$message .= 'Текст отзыва: ' . $comment->comment_content;
wp_mail($admin_email, $subject, $message);
}
}
}
add_action('comment_post', 'yelly_notify_admin_low_rating', 10, 2);Вывод отзывов с фильтрацией и сортировкой на фронтенде
Плагин Expert Review умеет выводить отзывы через шорткоды, но часто нужно добавить фильтры по рейтингу или сортировку по дате. Ниже пример функции, которая выводит отзывы с рейтингом 4 и выше, отсортированные по дате.
function yelly_get_filtered_reviews() {
$args = [
'status' => 'approve',
'meta_key' => 'expert_review_rating',
'meta_value' => 4,
'meta_compare' => '>=',
'orderby' => 'comment_date',
'order' => 'DESC',
'number' => 10
];
$comments = get_comments($args);
if (empty($comments)) {
return '<p>Отзывы не найдены.</p>';
}
$output = '<ul class="yelly-reviews-list">';
foreach ($comments as $comment) {
$rating = get_comment_meta($comment->comment_ID, 'expert_review_rating', true);
$output .= '<li><strong>' . esc_html($comment->comment_author) . '</strong> — Рейтинг: ' . intval($rating) . '<br/>' . esc_html($comment->comment_content) . '</li>';
}
$output .= '</ul>';
return $output;
}
add_shortcode('yelly_filtered_reviews', 'yelly_get_filtered_reviews');Теперь в любом месте сайта можно вывести отзывы с помощью шорткода [yelly_filtered_reviews]. Это удобно для создания отдельных блоков с отбором лучших отзывов.
Дополнительные советы по улучшению отзывов и их безопасности
Использование плагина Clearfy Pro для защиты отзывов
Плагин Clearfy Pro поможет защитить отзывы от спама и вредоносных вставок. Он автоматически блокирует подозрительные комментарии и повышает безопасность сайта.
Оптимизация базы данных от отзывов
Если на сайте много отзывов, важно очищать базу от неактивных или спамных комментариев. Можно использовать WP-CLI или плагины для оптимизации, либо написать функцию для автоматического удаления отзывов старше определённого срока.
function yelly_cleanup_old_reviews() {
global $wpdb;
$days = 365; // Удалять отзывы старше года
$wpdb->query($wpdb->prepare(
"DELETE FROM $wpdb->comments WHERE comment_date < DATE_SUB(NOW(), INTERVAL %d DAY) AND comment_approved = 'spam'",
$days
));
}
add_action('wp_scheduled_cleanup', 'yelly_cleanup_old_reviews');Для запуска такой функции по расписанию используйте WP-Cron или серверный cron.
Выводы и рекомендации
Автоматизация управления отзывами с помощью плагина Expert Review и кастомного кода значительно упрощает работу с обратной связью. Вы сможете быстрее публиковать качественные отзывы, фильтровать спам и оперативно реагировать на негатив.
Используйте уведомления и фильтры для контроля качества, а также не забывайте о безопасности с помощью Clearfy Pro. Такой комплексный подход повысит доверие к вашему сайту и улучшит взаимодействие с посетителями.