Многие владельцы сайтов на 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.