Как добавить поддержку отзывов в тему WordPress: практическое руководство

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

Почему важно добавить поддержку отзывов в тему WordPress

Отзыв — это не просто текст с оценкой, а мощный инструмент влияния на решение посетителя. Встроенный функционал отзывов позволяет:

  • Собрать и структурировать мнения клиентов;
  • Выдавать отзывы в удобном формате без необходимости сторонних сервисов;
  • Улучшить SEO за счёт уникального контента и микроразметки;
  • Управлять отзывами из панели администратора;
  • Поддерживать кастомные поля, например, рейтинг, имя автора, дату и прочее.

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

Создание кастомного типа записей для отзывов

Первый шаг — зарегистрировать кастомный тип записей wp_themes_register_reviews_post_type, чтобы отделить отзывы от обычных записей и страниц. Это обеспечит удобное управление в админке и гибкость.

function wp_themes_register_reviews_post_type() {
    $labels = array(
        'name'               => 'Отзывы',
        'singular_name'      => 'Отзыв',
        'menu_name'          => 'Отзывы',
        'name_admin_bar'     => 'Отзыв',
        'add_new'            => 'Добавить отзыв',
        'add_new_item'       => 'Добавить новый отзыв',
        'new_item'           => 'Новый отзыв',
        'edit_item'          => 'Редактировать отзыв',
        'view_item'          => 'Просмотреть отзыв',
        'all_items'          => 'Все отзывы',
        'search_items'       => 'Поиск отзывов',
        'not_found'          => 'Отзывы не найдены.',
        'not_found_in_trash' => 'В корзине отзывов не найдено.',
    );

    $args = array(
        'labels'             => $labels,
        'public'             => true,
        'has_archive'        => true,
        'rewrite'            => array('slug' => 'reviews'),
        'show_in_rest'       => true, // поддержка Gutenberg
        'supports'           => array('title', 'editor', 'author', 'thumbnail'),
        'menu_position'      => 20,
        'menu_icon'          => 'dashicons-testimonial',
    );

    register_post_type('review', $args);
}
add_action('init', 'wp_themes_register_reviews_post_type');

После добавления этого кода в файл functions.php темы, в админке появится раздел «Отзывы» с возможностью добавлять и редактировать записи.

Добавление метаполей для отзывов

Чтобы отзывы были информативными, добавим метаполе для рейтинга и имени автора отзыва. Для этого используем стандартный механизм метаполей WordPress.

Добавим поля в админку с помощью хуков:

function wp_themes_add_review_metabox() {
    add_meta_box(
        'wp_themes_review_rating',
        'Рейтинг отзыва',
        'wp_themes_review_rating_callback',
        'review',
        'side',
        'default'
    );
}
add_action('add_meta_boxes', 'wp_themes_add_review_metabox');

function wp_themes_review_rating_callback($post) {
    wp_nonce_field('wp_themes_save_review_rating', 'wp_themes_review_rating_nonce');
    $value = get_post_meta($post->ID, '_wp_themes_review_rating', true);
    echo '<label for="wp_themes_review_rating_field">Рейтинг (1-5):</label>';
    echo '<input type="number" id="wp_themes_review_rating_field" name="wp_themes_review_rating_field" min="1" max="5" value="' . esc_attr($value) . '" style="width:100%;" />';
}

function wp_themes_save_review_rating($post_id) {
    if (!isset($_POST['wp_themes_review_rating_nonce']) || !wp_verify_nonce($_POST['wp_themes_review_rating_nonce'], 'wp_themes_save_review_rating')) {
        return;
    }
    if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE) {
        return;
    }
    if (isset($_POST['wp_themes_review_rating_field'])) {
        $rating = intval($_POST['wp_themes_review_rating_field']);
        $rating = max(1, min(5, $rating));
        update_post_meta($post_id, '_wp_themes_review_rating', $rating);
    }
}
add_action('save_post', 'wp_themes_save_review_rating');

Аналогично можно добавить метаполе для имени автора и любых других данных.

Вывод отзывов в шаблоне темы

Чтобы выводить отзывы на сайте, создадим кастомный шаблон для архива отзывов archive-review.php или включим блок в нужное место темы.

Пример простого цикла вывода отзывов с рейтингом:

<?php
$args = array(
    'post_type' => 'review',
    'posts_per_page' => 10,
);
$reviews_query = new WP_Query($args);

if ($reviews_query->have_posts()) {
    echo '<div class="wp-themes-reviews">';
    while ($reviews_query->have_posts()) {
        $reviews_query->the_post();
        $rating = intval(get_post_meta(get_the_ID(), '_wp_themes_review_rating', true));
        echo '<article id="post-' . get_the_ID() . '" class="review-item">';
        echo '<h3>' . get_the_title() . '</h3>';
        echo '<div class="review-content">' . get_the_content() . '</div>';
        echo '<div class="review-rating">Рейтинг: ' . str_repeat('⭐', $rating) . '</div>';
        echo '</article>';
    }
    echo '</div>';
    wp_reset_postdata();
} else {
    echo '<p>Отзывов пока нет.</p>';
}
?>

В этом примере мы выводим заголовок, содержимое и визуальное отображение рейтинга с помощью звёздочек.

Использование плагинов для расширенного функционала отзывов

Если вы хотите сэкономить время и добавить более продвинутые функции, можно использовать плагины, совместимые с кастомными типами записей или отдельные модули для отзывов:

  • WP Review — популярный плагин для создания отзывов с рейтингами, поддерживает интеграцию с Gutenberg.
  • Clearfy Pro — плагин для оптимизации и расширения функционала сайта, включая улучшенную работу с отзывами.
  • WPRemark — плагин для отзывов с возможностью модерации и кастомизации.

Плагины облегчают работу, особенно если нужна интеграция с WooCommerce или поддержка микроразметки Schema.org для отзывов.

Добавление микроразметки Schema.org для отзывов

Чтобы улучшить SEO и отобразить отзывы в виде расширенных сниппетов в поисковой выдаче, добавьте микроразметку согласно стандарту Schema.org.

Пример обёртки для отзыва с рейтингом:

<article itemscope itemtype="https://schema.org/Review">
    <h3 itemprop="author" itemscope itemtype="https://schema.org/Person"><span itemprop="name"><?php the_title(); ?></span></h3>
    <div itemprop="reviewBody"><?php the_content(); ?></div>
    <div itemprop="reviewRating" itemscope itemtype="https://schema.org/Rating">
        Рейтинг: <span itemprop="ratingValue"><?php echo $rating; ?></span> из 5
    </div>
</article>

Такая разметка поможет поисковикам правильно распознавать отзывы и показывать их в результатах.

Заключение

Добавление поддержки отзывов в тему WordPress — задача, которая требует понимания кастомных типов записей, метаполей и вывода шаблонов. Использование приведённых в статье приёмов и примеров кода позволит создать удобный и функциональный раздел с отзывами, который повысит доверие пользователей и улучшит SEO.

Если нужны дополнительные возможности, рассмотрите плагины из раздела выше, которые интегрируются с вашим сайтом и помогут автоматизировать управление отзывами.

Как создать динамическую навигацию в теме WordPress с фильтрацией и подсветкой активного пункта
05.02.2026
Как избежать конфликтов стилей и скриптов WooCommerce в теме WordPress
23.05.2026
Как добавить поддержку вывода шорткода в теме WordPress
04.03.2026
Как убрать типичные PHP warnings и ошибки WooCommerce в теме WordPress без изменения кода плагина
09.05.2026
Как добавить поддержку WebP в теме WordPress
12.01.2026