Отзывы — важная часть любого сайта, особенно если вы хотите повысить доверие посетителей и улучшить конверсию. Стандартные инструменты WordPress позволяют добавлять отзывы, но часто они статичны и не дают возможности гибко управлять выводом. В этой статье разберём, как создать динамические отзывы на сайте WordPress с помощью плагина Expert Review и дополнить функционал собственным кодом для кастомного вывода.
Почему стоит использовать плагин Expert Review для отзывов в WordPress
Плагин Expert Review — мощный инструмент для сбора и вывода отзывов. Его преимущества:
- Удобная панель управления отзывами в админке WordPress.
- Поддержка рейтингов и комментариев.
- Возможность вывода отзывов с помощью шорткодов и виджетов.
- Гибкие настройки отображения.
- Оптимизирован для SEO.
Это делает Expert Review отличным решением для сайтов с большим количеством отзывов, где нужна автоматизация и кастомизация.
Как установить и настроить плагин Expert Review
Для начала установим плагин. Перейдите в админку WordPress, затем в раздел Плагины > Добавить новый. В поиске введите "Expert Review" и установите его. После активации в меню появится раздел Expert Review.
Настройка плагина проста:
- Задайте параметры рейтинга (звёзды, баллы и т.д.).
- Выберите, где и как выводить отзывы — с помощью шорткодов, виджетов или встраивания в шаблон.
- Настройте внешний вид — цвета, шрифты, отступы.
- Определите правила модерации и уведомления.
После базовой настройки можно добавлять отзывы вручную или разрешить пользователям оставлять их через форму.
Создание кастомного вывода динамических отзывов через код
Иногда встроенных функций плагина недостаточно, и нужно вывести отзывы в уникальном формате. Для этого можно использовать WP-запросы и функции плагина.
Пример простого запроса для вывода последних 5 отзывов с рейтингом:
function wphow_get_latest_reviews() {
$args = array(
'post_type' => 'expert_review',
'posts_per_page' => 5,
'orderby' => 'date',
'order' => 'DESC',
'meta_query' => array(
array(
'key' => 'review_rating',
'value' => 0,
'compare' => '>',
'type' => 'NUMERIC'
)
)
);
$query = new WP_Query($args);
if($query->have_posts()) {
echo '<div class="wphow-reviews">';
while($query->have_posts()) {
$query->the_post();
$rating = get_post_meta(get_the_ID(), 'review_rating', true);
echo '<div class="wphow-review-item">';
echo '<h3>' . get_the_title() . '</h3>';
echo '<div class="wphow-review-rating">' . str_repeat('⭐', intval($rating)) . '</div>';
echo '<div class="wphow-review-content">' . get_the_content() . '</div>';
echo '</div>';
}
echo '</div>';
wp_reset_postdata();
} else {
echo '<p>Отзывов пока нет.</p>';
}
}Этот код можно добавить в functions.php вашей темы или в плагин для кастомных функций. Чтобы вывести отзывы на странице, вызовите функцию wphow_get_latest_reviews() в нужном месте шаблона.
Добавление AJAX-загрузки отзывов
Чтобы динамически подгружать отзывы без перезагрузки страницы, можно использовать AJAX. Вот базовый пример реализации.
JavaScript для подгрузки:
jQuery(document).ready(function($){
$('#load-more-reviews').on('click', function(){
var data = {
action: 'wphow_load_more_reviews',
offset: $('.wphow-review-item').length
};
$.post(wphow_ajax_object.ajax_url, data, function(response){
if(response) {
$('.wphow-reviews').append(response);
} else {
$('#load-more-reviews').hide();
}
});
});
});PHP-код для обработки AJAX-запроса:
add_action('wp_ajax_wphow_load_more_reviews', 'wphow_ajax_load_more_reviews');
add_action('wp_ajax_nopriv_wphow_load_more_reviews', 'wphow_ajax_load_more_reviews');
function wphow_ajax_load_more_reviews() {
$offset = intval($_POST['offset']);
$args = array(
'post_type' => 'expert_review',
'posts_per_page' => 5,
'offset' => $offset
);
$query = new WP_Query($args);
if($query->have_posts()) {
while($query->have_posts()) {
$query->the_post();
$rating = get_post_meta(get_the_ID(), 'review_rating', true);
echo '<div class="wphow-review-item">';
echo '<h3>' . get_the_title() . '</h3>';
echo '<div class="wphow-review-rating">' . str_repeat('⭐', intval($rating)) . '</div>';
echo '<div class="wphow-review-content">' . get_the_content() . '</div>';
echo '</div>';
}
}
wp_reset_postdata();
wp_die();
}Не забудьте зарегистрировать скрипт и локализовать ajax_url в functions.php:
function wphow_enqueue_scripts() {
wp_enqueue_script('wphow-ajax-script', get_template_directory_uri() . '/js/wphow-ajax.js', array('jquery'), null, true);
wp_localize_script('wphow-ajax-script', 'wphow_ajax_object', array(
'ajax_url' => admin_url('admin-ajax.php')
));
}
add_action('wp_enqueue_scripts', 'wphow_enqueue_scripts');Советы по оптимизации и безопасности отзывов
Отзывы — это пользовательский контент, который может стать источником спама или вредоносного кода. Для защиты сайта и повышения производительности:
- Включайте модерацию отзывов в настройках Expert Review.
- Используйте защиту от спама, например, reCAPTCHA в формах.
- Ограничивайте количество отзывов на страницу и используйте пагинацию или подгрузку AJAX.
- Кешируйте вывод отзывов с помощью плагинов кеширования или transient API.
Это позволит поддерживать качество контента и не перегружать сайт.
Альтернативные плагины и расширения для отзывов в WordPress
Если по каким-то причинам Expert Review не подходит, рассмотрите другие варианты:
- WP Customer Reviews — простой и лёгкий плагин для сбора отзывов с возможностью кастомизации.
- Site Reviews — функциональный плагин с поддержкой рейтингов, шорткодов и интеграцией с Gutenberg.
- Rich Snippets — плагин для добавления микроразметки к отзывам для улучшения SEO.
Выбор зависит от задач и особенностей вашего сайта. Expert Review хорошо интегрируется с темами и плагинами от WPSHOP.RU, что упрощает поддержку и обновление.