Янв
31
237

Плагин WP-PostRatings рейтинга постов в WordPress

рейтинг в wordpressПо планам на 2011 я решил полностью модернизировать и настроить некоторые свои блоги в соответствии с личными пожелания. Вместе с этим недавно на хостинге, который использую для парочки своих проектов HostPro начались небольшие подтормаживания. У них там были вроде как технические работы или что-то около, после чего ситуация стабилизировалась, но я все же решил заняться оптимизацией самих блогов. Посудите сами 8 сайтов на одном аккаунте, парочка из которых с посещениями под 1-2к уников это ли не нагрузка. Начал я, конечно, же с кэширование в wordpress так как это достаточно простой и доступный способ провести оптимизацию загрузки страницы. Учитывая, что никакие ссылки на белых проектах я не продаю, проблем с использованием WP Super Cache (выбранного мной для работы) быть не должно.

Еще одним важным моментом в оптимизации работы блога есть подборка плагинов. Ни для кого не секрет, что некоторые модули могут здорово загрузить ваш проект и быть причиной тормозов на сайте.      Одним из таких тяжелых плагинов, к сожалению, оказался WP-PostViews для определения  наиболее популярных (просматриваемых) материалов блога. Сначала не мог понять откуда может быть нагрузка у простого, казалось бы, модуля, но в комментариях мне все же советовали отказаться от него. Насколько я понимаю, каждое посещение пользователя пишется в базу данных дабы потом подбивать статистику — отсюда во-первых, дополнительная нагрузка на БД (если онлайн, допустим человек 5-10), во-вторых, «захламление» таблиц БД не столь важной информацией.

Короче говоря, было принято волевое решение для посещаемых блогов отказаться от использования WP-PostViews в пользу другого не менее интересного модуля — WP-PostRatings. Это рейтинговая система на AJAX для оценки статей и страниц wordpress сайта. После установки плагина пользователи смогут выставлять оценки (положительные, отрицательные либо количественные) к записям проекта. Основное преимущество WP-PostRatings это, конечно, возможность, выразить свое непосредственно отношение к публикациям сайта, то есть отметить нравится она или нет. Это действие подразумевает наличие определенной «не пассивно» аудитории проекта, которая бы оценивала ваши труды. Меня всегда пугали сайты, где красовались 2-3 оценки для статьи и все, возникает ощущение «неживого» блога. В то же время модуль WP-PostViews позволял просто выводить ссылки на популярные статьи, не нужно было никаких оценок и реакции посетителей. Тем не менее, из-за большой нагрузки все же склоняюсь к WP-PostRatings, при посещаемости в 1000-2000 уников за пару месяцев «набьете» оценки для постов, как новых, так и некоторых старых.

Установка и настройка WP-PostRatings

Скачать плагин WP-PostRatings  можно здесь.  Процесс установки его максимально прост — как обычно, разархивируем и заливаем на ФТП в папку wp-content/plugins, после чего Активируем WP-PostRatings в админке wordpress.

После установки в админке появится блок Ratings, где можно:

  • Manage Ratings — просматривать результаты оценок для статьей, делать выборки и удалять результаты.
  • Ratings Options — указывать некоторые настройки модуля.
  • Rating Templates — задавать шаблон отображения результатов и голосования.
  • Uninstall WP-PostRatings — удалить плагин.

В настройках вы можете выбрать различные варианты того, как будет отображаться оценивание — будь то обычный «+» и «-» либо количественная оценка в виде «звездочек». Их число, кстати, можно указывать такое как вам нужно.

Плагин WP-PostRatings

Если хотите чтобы для изображений использовался не GIF формат, а PNG, то в файле wp-content/plugins/wp-postratings/wp-postratings.php нужно найти строки:

define('RATINGS_IMG_EXT', 'gif');
//define('RATINGS_IMG_EXT', 'png');

И закомментировать (добавить //) первую из них, а у второй слэши убрать. После возвращаетесь в админку в меню Ratings Options и отмечаете один единственный «вариант со звездочками» для PNG.

Следующий шаг — добавить отображение опроса в блог. Для этого открываем файл шаблона, где ходим его добавить — отдельный пост (single.php), архив (archiv.php) и т.п. Далее в коде пишем:

<?php if(function_exists('the_ratings')) { the_ratings(); } ?>

Для файлов шаблона с выводом перечня постов (главная, архив) нужно располагать код внутри цикла Loop, то есть где-то после:

<?php if (have_posts()) : while (have_posts()) : the_post(); ?>

Проще всего сориентироваться для начинающих — это добавить вызов функции рядом с отображением названия категории и тегов, тогда все точно будет работать. Также плагин WP-PostRatings  поддерживает виджеты.

Чтобы вывести результаты опроса читательского мнения нужно использовать специальные функции, которые можно разделить на 4 направления:

  • Lowest Rated Post — статьи с наименьшим рейтингом.
  • Highest Rated Post — статьи с наибольшим рейтингом.
  • Most Rated Post — публикации за которые больше всего раз голосовали.
  • Highest Score Post — пост с максимальным средним показателем рейтинга, то есть, например, заметка с двумя голосами в сумме дающим 6.5 будет выше чем пост с одной оценкой в 7 баллов.

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

Примеры использования плагина WP-PostRatings

Статьи с наименьшим рейтингом

<?php if (function_exists('get_lowest_rated')): ?>
   <ul>
      <?php get_lowest_rated(); ?>
   </ul>
<?php endif; ?>

где по умолчанию для функции используются параметры get_lowest_rated(‘both’, 0, 10). Здесь вместо both можно использовать отдельно post и page, то есть выводить оценки постов, страниц отдельно или вместе. Значение 0 — минимальная оценка для отображения в списке, 10 — количество выводимых постов.

Пост с самым большим рейтингом по тегу

<?php if (function_exists('get_highest_rated_tag')): ?>
   <ul>
      <?php get_highest_rated_tag(TAG_ID); ?>
   </ul>
<?php endif; ?>

По умолчанию параметры функции следующие get_highest_rated_tag(TAG_ID, ‘both’, 0, 10). Здесь последние значения идентичны предыдущему примеру, а вот в качестве TAG_ID нужно указать ID тега, для которого выводится список рейтинговых постов. Если хотите использовать несколько тегов, то вместо одного значения добавляете массив array(1, 2, 3).

Самый оцениваемая запись в категории

<?php if (function_exists('get_most_rated_category')): ?>
   <ul>
      <?php get_most_rated_category(CATEGORY_ID); ?>
   </ul>
<?php endif; ?>

По умолчанию синтаксис функции get_most_rated_category(CATEGORY_ID, ‘both’, 0, 10). Здесь для CATEGORY_ID указывает номер категории, можно использовать массив array(4, 5, 6). Для постов вместо ‘both’ ставим ‘post’, 0 — минимальное количество голосов для отображения, 10 — число выводимых записей.

Список лучших публикаций по средней оценке за период

<?php if (function_exists('get_highest_score_range')): ?>
   <ul>
      <?php get_highest_score_range('1 day'); ?>
   </ul>
<?php endif; ?>

По умолчанию функция имеет вид — get_highest_score_range(‘1 day’, ‘both’, 10). Как видимо, количество дней для периода нужно указывать обязательно. При этом можно использовать значения по типу 2 days, 1 month. 10 — число записей, ‘both’ — их формат (посты + страницы).

Отображение рейтинга без голосования

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

<?php if(function_exists('the_ratings')) { 
echo expand_ratings_template('<span class="rating">%RATINGS_IMAGES%</span> <strong>%RATINGS_USERS% votes</strong>', get_the_ID()); 
} ?>

Здесь переменная RATINGS_IMAGES отвечает за вывод графики («звездочек»), а вместо RATINGS_USERS подставляется значению рейтинга. Размещаете функцию в файле шаблона, где хотите показывать результаты, точно также как рассказывалось про отображение кода выше (т.е. внутри цикла if have_posts). Кстати, в админке в разделе настроек модуля на странице Post Ratings Templates найдете список всех возможных переменных.

В целом ничего сложно нет, но кое какие хаки и мысли по модификации плагина я уже успел воплотить в жизнь как здесь, так и на Дизайн Мании. Подробный разбор исходников и некоторых функций плагина WP-PostRatings смотрите в следующей заметке — но там информация больше для продвинутых пользователей, начинающим и вообще в 90% случаев достаточно этой статьи и описания на официальном сайте.

P.S. Постовой. Новый полезные сайт для работников Forex рынка, где найдете рейтинг форекс брокеров а также много другой ценной информации по теме.
Недавно в сети появился хороший заработок на файлах — новый файловый обменник с недорогими вип аккаунтами.
Лучшие игры играть онлайн, каталог игр для развлечения и отдыха.

рейтинг Оцените статью:
Ужасная статьяНичего интересногоТак себеНормальноХорошоКлассный постВ закладки!
(голосов - 732, средний балл: 5,82 из 7)
Loading ... Loading ...

категория Категории: Оптимизация; Плагины;
теги Теги: , , , , , , , .
Заработай на сайте

Комментариев - 237 к статье “Плагин WP-PostRatings рейтинга постов в WordPress”

  • Tod   10.07.2015

    Роман, так а плагин кэширования есть? отключали? попробуйте отключить все плагины кроме голосовалки проверить может несовместимость какая-то. Еще может быть глюк если в футере в шаблоне нет функции wp_footer() или в хэдере wp_header().

  • Сергей   22.10.2015

    Плагин прикольный, вот только, если бы еще, можно было бы комментарий к оценке ставить. Типа почему хорошо или почему плохо. Чтобы блогер понимал, что нравиться аудитории, а что нет

  • Otshelnik-fm   22.10.2015

    Сергей — а вы в основном файле wp-postratings.php раскоментируйте //add_filter(‘comment_text’, ‘comment_author_ratings_filter’); и сохраните

    Поставьте оценку, прокомментируйте в обычной форме комментариев — и вы будете приятно удивлены ))

    Иногда полезно внутрь кода заглядывать.

  • Tod   24.10.2015

    Сергей, это уже несколько иная задача, потому что отметить рейтинг намного проще и быстрее чем оставлять комментарий — что-то вроде лайков, которые используют чаще чем перепосты (шеры). Хотя вроде подобную функциональность видел — нужно искать в модулях.
    Otshelnik-fm, спасибо за подсказку.

  • Юрий   11.11.2015

    Вечер добрый! Подскажите как вывести рейтинг в анонсе поста (статьи-заметки) , при выводе постов в категории.

  • Tod   12.11.2015

    Юрий, нужно добавить код вывода плагина в соответствующий файл шаблона — archiv.php либо category.php. В разделе статьи про установку и настройку WP-PostRatings об этом рассказывается.

  • Андрей   30.11.2015

    Скажите, а можно ли в виджете также показывать картинку, которая прикрепляется к посту как featured image ? Такое есть в плагине «Rating-Widget: Star Review System», но он хранит статистику на своем сервере, не очень удобно.

  • Tod   30.11.2015

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

  • Андрей   01.12.2015

    Я задал этот вопрос автору, он собирается добавить эту возможность. https://wordpress.org/support/topic/show-thumnails-for-featured-images

  • Tod   02.12.2015

    Андрей, отличная новость! Надеюсь с реализацией он тянуть не будет)

  • Adward   12.04.2016

    Собираюсь сделать конкурс детских рисунков. соответственно два вопроса:

    1) Можно ли оставить возможность проголосовать только «в плюс» — без минуса
    2) В админке видно статистику — за какой пост сколько голосов?
    3) Можно ли сделать так, чтобы голосовали только зареганные юзеры, а так же в админке посмотреть кто голосовал?

  • Tod   12.04.2016

    Adward, по первому не знаю, там на скриншоте есть вариант голосовалки в виде «сердечка», возможно, если указать параметр Max Rating = 1, то будет что-то нужное вам.
    Статистика есть, можно сделать чтобы голосовали только зареганные пользователи.

  • Андрей   29.04.2016

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

  • Tod   30.04.2016

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

  • Dataworld   02.06.2016

    Есть проблема. После установки плагина Гугл стал ругаться на тип разметки Article, что, мол, не заполнены поля типа изображение, тип контента, автор и тому подобное.
    Редактировал сам плагин, вырезал эти строки, так Гуглу и этого стало мало. Ругается, что не связаны объекты.
    В отчаянии. Оставил пока с пустыми полями, как по умолчанию в плагине. И не знаю, что делать.

  • Tod   02.06.2016

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

  • Юрий   04.06.2016

    Доброй ночи ! Подскажите если я вывожу рейтинг в анонсе постов ? Как сделать чтобы выводился только средний рейтинг, average rating &

  • Tod   04.06.2016

    Юрий, если честно, уже не помню все нюансы плагина. Что за средний рейтинг? Есть функция the_ratings которая выводит результаты рейтинга/оценок, ее и добавляю обычно после анонсов постов.

  • Юрий   05.06.2016

    День добрый! Имел в виду, что в анонсе выводится итог голосования , без права голосования в анонсе. Но нашел. Буду у компа сброшу код.

  • Юрий   05.06.2016

    Ха , нашел с трудом на другом ресурсе, а оказывается данный код есть у Вас в коментах
    Функция для рейтинга которая позволяет отображать результат рейтинга в рубрики,но не дает возможность голосовать:

  • Tod   06.06.2016

    Юрий, к сожалению, код не вставился в форму комментариев. Но я тоже нашел данное решение в сети и добавил в конце статьи.

  • Юрий   12.06.2016

    Вечер добрый! Спасибо. А вот еще бы найти решение привязать отображение рейтинга к комментариям…. И еще не по теме. Понравилась тема Вашего сайта, попытался скачать, не получилось, пишет нет CSS/. Может «че» подскажите

  • Tod   13.06.2016

    Юрий, тема очень старая, возможно, сейчас она уже не распространяется. Ну, или как вариант можно поискать ее по названию Colorbold и скачать из другого какого-то архива.

  • Егор   14.06.2016

    Подскажите, как переехать на другой домен и сохранить показатели рейтингов страниц плагина wp postratings?
    На другом домене у у всех страниц рейтинг 0.

  • Tod   24.06.2016

    Егор, я бы делал 2 вещи — 1) гуглить на английском данный вопрос, думаю кто-то с ним уже сталкивался. 2) посмотрел бы структуру таблиц базы данных через phpmyadmin для данного модуля, возможно, там есть какая-то привязка к домену/URL и можно их заменить на новое значение.

  • Serg   27.06.2016

    Подскажите, а как делать оценку элементов в статье (несколько раз вывести рейтинг на одной странице). Получилось сделать через «одно место», создать пару пустых статей в черновике что бы использовать их айди и тогда на странице выводить [ rаtings id=»первой статьи из черновика»] , [ rаtings id=»второй статьи»] . А можно сделать это по человечески? Если не этим плагином, то может быть другим?

  • Tod   27.06.2016

    Serg, данным плагином вряд ли, т.к. оценка привязывается к статье. Это нужно создавать какой-то произвольный тип записи (объект/элемент) и смотреть поддерживает ли модуль работу с ними или же другой найти.

Оставить комментарий


Блог Wordpress Inside поможет вам научиться работать в вордпресс, закрепить и расширить имеющиеся знания. Плагины и шаблоны, разные хаки и функции wp, оптимизация и безопасность системы – все это и намного больше вы сможете найти на страницах нашего проекта!

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

Последние посты
Заработай в GoGetLinks
Облако тегов
Лучшее в категории
Скажи свое мнение!

В чем основные плюсы Wordpress?

Посмотреть результаты

Loading ... Loading ...
Друзья проекта
Последние новости