Как создать обновляемые отзывы в WordPress с помощью WPRemark

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

Почему стоит выбрать WPRemark для отзывов в WordPress

WPRemark — это мощный плагин для управления отзывами, который позволяет не только размещать отзывы пользователей, но и модерировать их, создавать рейтинги, фильтровать отзывы по разным параметрам. Он отлично подходит для магазинов, сервисов и блогов, где отзывы играют роль социального доказательства.

Ключевые преимущества WPRemark:

  • Удобная панель модерации отзывов;
  • Возможность добавлять ответы администратора;
  • Поддержка рейтингов и голосований;
  • Кастомизация шаблонов отображения;
  • Интеграция с WooCommerce и другими плагинами.

Для нашего примера мы будем использовать именно WPRemark, так как он хорошо документирован и расширяем.

Настройка WPRemark: базовая установка и конфигурация

Для начала установим и активируем плагин WPRemark. После этого перейдите в меню плагина в админке WordPress и выполните базовые настройки:

  • Выберите типы записей, к которым будут привязаны отзывы (например, записи или товары WooCommerce);
  • Настройте параметры модерации — автоматическое или ручное одобрение;
  • Определите поля для ввода пользователями (текст отзыва, имя, рейтинг и т.д.);
  • Настройте отображение отзывов на сайте через шорткод или блок в редакторе.

WPRemark уже предоставляет удобные виджеты и шорткоды, но для реализации обновляемых отзывов добавим кастомный функционал.

Добавление возможности обновления отзывов пользователями

Стандартно WPRemark не позволяет пользователям редактировать свои отзывы после публикации. Но часто это необходимо — например, клиент хочет дополнить отзыв после использования товара или услуги.

Реализуем такой функционал с помощью кастомного кода, который добавит ссылку «Редактировать отзыв» рядом с отзывом пользователя, если он авторизирован и является автором этого отзыва.

Создание функции wpwp_update_remark_review_edit_link()

Добавим следующий код в файл functions.php вашей темы или в плагин-сниппет:

function wpwp_update_remark_review_edit_link($content) {
    if (!is_user_logged_in()) return $content;

    global $post;
    $current_user = wp_get_current_user();

    // Проверяем, что это отзыв WPRemark и автор совпадает
    $review_author_id = get_post_field('post_author', $post->ID);
    if ($review_author_id === $current_user->ID) {
        $edit_link = get_edit_post_link($post->ID);
        if ($edit_link) {
            $content .= ' — <a href="' . esc_url($edit_link) . '">Редактировать отзыв</a>';
        }
    }

    return $content;
}
add_filter('the_content', 'wpwp_update_remark_review_edit_link');

Этот фильтр добавит ссылку на стандартную страницу редактирования отзыва в админке, если текущий пользователь — автор отзыва.

Создание фронтенд-формы редактирования отзыва

Чтобы дать пользователю возможность редактировать отзыв без захода в админку, создадим кастомную фронтенд-форму. Воспользуемся хуками WPRemark, чтобы вывести форму редактирования и обработать её.

Пример кода с использованием AJAX для обновления отзыва без перезагрузки страницы:

function wpwp_render_edit_review_form() {
    if (!is_user_logged_in()) return;

    global $post;
    $current_user = wp_get_current_user();
    $review_author_id = get_post_field('post_author', $post->ID);

    if ($review_author_id !== $current_user->ID) return;

    // Вывод формы с полями
    echo '<form id="wpwp-edit-review-form">';
    echo '<textarea name="review_content">' . esc_textarea($post->post_content) . '</textarea>';
    echo '<input type="hidden" name="review_id" value="' . esc_attr($post->ID) . '" />';
    echo '<button type="submit">Сохранить</button>';
    echo '</form>';
}
add_action('wpremark_after_review_content', 'wpwp_render_edit_review_form');

function wpwp_handle_ajax_edit_review() {
    check_ajax_referer('wpwp_edit_review_nonce', 'nonce');

    if (!is_user_logged_in()) wp_send_json_error('Неавторизованный пользователь');

    $review_id = intval($_POST['review_id']);
    $content = sanitize_textarea_field($_POST['review_content']);

    $review_post = get_post($review_id);
    if (!$review_post) wp_send_json_error('Отзыв не найден');

    if ($review_post->post_author != get_current_user_id()) wp_send_json_error('Нет доступа');

    $updated = wp_update_post([
        'ID' => $review_id,
        'post_content' => $content
    ]);

    if ($updated) {
        wp_send_json_success('Отзыв обновлен');
    } else {
        wp_send_json_error('Ошибка обновления');
    }
}
add_action('wp_ajax_wpwp_edit_review', 'wpwp_handle_ajax_edit_review');

Для полной работы формы добавьте JavaScript для AJAX-запроса и nonce-проверку.

Оптимизация работы с отзывами: кеширование и фильтрация

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

Использование встроенного кеша WPRemark

В настройках плагина активируйте кеширование отзывов. Это снизит нагрузку на базу данных при повторных запросах.

Фильтрация отзывов по рейтингу

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

[wpremark_reviews rating="5"]

Это выведет только отзывы с рейтингом 5 звезд.

Интеграция с другими плагинами WPShop для расширения функционала

Если вы хотите автоматизировать сбор и управление отзывами, обратите внимание на совместимость WPRemark с другими продуктами WPShop:

  • WPRemark — для отзывов и рейтингов;
  • Expert Review — расширяет возможности оценки товаров и услуг;
  • WPRemark Pro — платная версия с дополнительными функциями.

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

WooCommerce: как автоматически удалять товар из корзины после оплаты
29.04.2026
Как удалить слэш в контекстных связях WordPress
03.04.2026
Создание собственных REST API эндпоинтов в WordPress
03.12.2025
WooCommerce: как настроить отправку уведомлений в Telegram о новых заказах
28.05.2026
WooCommerce: как настроить отправку уведомлений в Telegram о новых заказах
15.05.2026