Как изменить метаданные для оценки статьи в WordPress

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

Что такое метаданные в WordPress и зачем их менять

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

Например, если вы хотите добавить рейтинг статьи от пользователей, то для каждой записи нужно хранить данные о среднем рейтинге и количестве голосов. Для этого можно использовать пользовательские поля (custom fields) или собственные таблицы в базе данных.

Изменение метаданных полезно, когда стандартных возможностей WordPress недостаточно, и вы хотите реализовать уникальный функционал оценки.

Использование плагинов для рейтинга и метаданных

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

WP-PostRatings

Один из популярных и простых плагинов для добавления рейтинга. Позволяет пользователям ставить оценки от 1 до 5 звезд, хранит данные в метаданных поста.

Преимущества:

  • Легко настраивается;
  • Выводит рейтинг в шаблонах через функции;
  • Поддерживает Ajax для обновления рейтинга без перезагрузки страницы.

Для интеграции рейтинга в шаблон можно использовать функцию the_ratings().

WPReview

Мощный плагин для отзывов и рейтингов с поддержкой нескольких систем оценки (звезды, проценты, баллы). Позволяет добавлять отзывы пользователей, отображать рейтинг в красивом виде.

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

Как изменить метаданные статьи вручную: практические примеры кода

Если вы хотите самостоятельно работать с метаданными, можно использовать функции WordPress API для работы с post meta.

Добавление и обновление метаданных

Чтобы добавить или изменить метаданные, используйте функцию update_post_meta. Если ключа ещё нет, она создаст его, если есть — обновит значение.

function wptem_update_article_rating($post_id, $rating) {
    // Проверяем, что рейтинг от 1 до 5
    $rating = intval($rating);
    if ($rating < 1 || $rating > 5) {
        return false;
    }
    
    // Обновляем метаданные рейтинга
    update_post_meta($post_id, '_wptem_article_rating', $rating);
    return true;
}

Вызывайте эту функцию, передавая ID статьи и числовой рейтинг.

Получение метаданных

Для получения значения метаданных используйте get_post_meta:

function wptem_get_article_rating($post_id) {
    $rating = get_post_meta($post_id, '_wptem_article_rating', true);
    if (!$rating) {
        return 'Рейтинг пока не установлен';
    }
    return intval($rating);
}

Отображение рейтинга в шаблоне

В файлах темы (например, single.php) можно вывести рейтинг так:

$rating = wptem_get_article_rating(get_the_ID());
echo '<div class="article-rating">Рейтинг статьи: ' . esc_html($rating) . ' из 5</div>';

Как создать простой функционал голосования с сохранением метаданных

Рассмотрим пример, как реализовать систему голосования пользователей с помощью AJAX без плагинов.

Шаг 1. Добавим кнопку голосования в шаблон

<button id="wptem-vote-button" data-postid="<?php echo get_the_ID(); ?>">Поставить рейтинг 5</button>
<div id="wptem-vote-result"></div>

Шаг 2. Добавим JavaScript для отправки AJAX-запроса

Добавьте в footer или через enqueue скрипт:

jQuery(document).ready(function($) {
    $('#wptem-vote-button').on('click', function() {
        var postId = $(this).data('postid');
        $.post(wptem_ajax_object.ajax_url, {
            action: 'wptem_save_vote',
            post_id: postId,
            rating: 5
        }, function(response) {
            $('#wptem-vote-result').text(response.data.message);
        });
    });
});

Шаг 3. Добавим PHP обработчик AJAX-запроса

add_action('wp_ajax_wptem_save_vote', 'wptem_save_vote_callback');
add_action('wp_ajax_nopriv_wptem_save_vote', 'wptem_save_vote_callback');

function wptem_save_vote_callback() {
    $post_id = intval($_POST['post_id']);
    $rating = intval($_POST['rating']);

    if ($post_id && $rating >= 1 && $rating <= 5) {
        update_post_meta($post_id, '_wptem_article_rating', $rating);
        wp_send_json_success(array('message' => 'Рейтинг успешно сохранён!'));
    } else {
        wp_send_json_error(array('message' => 'Неверные данные для рейтинга.'));
    }
    wp_die();
}

Шаг 4. Подключение AJAX-переменной в JavaScript

В functions.php добавьте:

function wptem_enqueue_scripts() {
    wp_enqueue_script('jquery');
    wp_enqueue_script('wptem_ajax_script', get_template_directory_uri() . '/js/wptem-ajax.js', array('jquery'), null, true);
    wp_localize_script('wptem_ajax_script', 'wptem_ajax_object', array(
        'ajax_url' => admin_url('admin-ajax.php')
    ));
}
add_action('wp_enqueue_scripts', 'wptem_enqueue_scripts');

Как использовать плагин Clearfy Pro для управления метаданными и оптимизацией

Если вы хотите не только оценивать статьи, но и оптимизировать метаданные для SEO и производительности, обратите внимание на плагин Clearfy Pro. Он позволяет убирать лишние метаданные, оптимизировать заголовки и коды страниц, а также управлять пользовательскими метаданными для улучшения SEO.

Итоги

Изменение и добавление метаданных для оценки статьи в WordPress — мощный инструмент для улучшения взаимодействия с пользователями и повышения качества контента. Вы можете использовать готовые плагины, такие как WP-PostRatings и WPReview, или реализовать собственное решение с помощью функций WordPress и AJAX. Для расширенной оптимизации метаданных полезен плагин Clearfy Pro.

Автоматическое создание бэкапов в WordPress: лучшие способы и примеры кода
17.11.2025
Автоматизация записи в лог WordPress на разных событиях: практические примеры и плагины
03.12.2025
Как избежать конфликтов при использовании скриншотов в WordPress
20.03.2026
WooCommerce: автоматическое удаление неактивных корзин и заказов
11.05.2026
Как избежать конфликтов между плагинами WordPress: практические решения
27.01.2026