Оценивание статей по звездочной шкале в WordPress

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

Об одной из таких систем для WordPress сайта, которую вы, наверняка, уже не раз видели, я и хочу написать. А именно – про плагин оценки записей с помощью звездочек.

Оценка статей звезды

Давайте рассмотрим, какие выгоды несут подобные рейтинги сайту и его владельцу:

  1. Прежде всего, рейтинги помогают автору лучше узнать свою аудиторию, что им нравиться, а что нет. На что стоит делать упор, а от чего следует отказаться.
  2. Использование стадного инстинкта (не в обиду читателям). Можно проследить аналогию в соц. сетях – чем больше плюсов стоит к записи, тем выше шанс, что и вы поставите плюс. Если же их нет, то и вы ставить не будете.
    Собрав хороший рейтинг, можно рассчитывать на лояльность посетителей и их конвертацию в постоянных читателей и подписчиков. Что всем и нужно.
  3. Последний, но не менее важный пункт – улучшенный сниппет Google, в котором будут отображаться рейтинги статей.
    звездочки в сниппете Ранее, когда я экспериментировал с выдачей Гугла, то заметил интересную особенность – при добавлении звездочек в сниппет пропадала фотография автора из Google+.
    После того, как Google убрал изображение автора из результатов поиска, отказываться от такого полезного инструмента, способного повысить кликабельность ссылки в выдаче, не стоит. Для тех, кто не в курсе, повышение кликов в поиске приведет к улучшению поведенческих факторов, которые на данный момент очень активно влияют на продвижение сайта.

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

Данная проблема решается двумя способами:

  1. Естественным. При наличии костяка, который активно участвует в жизни блога (комментарии, участие в опросах и прочее).
  2. Искусственной накруткой. Самое простое решение - правка таблицы плагина WP-PostRatings в базе данных. Так же можно использовать другие методы (например, ручная простановка с использованием динамического ip-адреса).

Первый, увы, мне не доступен, а после второго я себя уважать перестану.

Если обратите внимание на комментарии, то увидите, что обращать внимание не на что. Так уж случилось, что заниматься этим проектом я начал уже на закате эпохи блогов. Соответственно всех радостей гостевого блоггинга, кооперирования, взаимного комментирования, я не застал. А комментировать самому свой блог для поднятия важности в глазах читателей, как я уже сказал, мешает совесть. Хотя, надеюсь, в конечном итоге алчность победит.

Ну да ладно, перейдем к обзору WordPress плагина рейтинга постов.

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

С помощью плагина WP-PostRatings можно легко сделать систему оценивания статей.

Что примечательно, он реализован на системе Ajax.

Имеет более миллиона скачиваний.

Совместим с версиями WordPressот 2.8 и выше.

Установка плагина оценки записей WP-PostRatings

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

Настройка WP-PostRatings

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

настройка WP-PostRatings

Самое главное, установите галочку в положении Yes напротив Enable Google Rich Snippets. Данная опция внесет специальную разметку, которая позволит отображать в результатах поиска Google звездочный рейтинг.

Так же тут можно настроить визуальные эффекты загрузки и ограничить возможность голосования только для зарегистрированных пользователей.

Установка плагина WP-PostRatings в записи и на страницы

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

Прежде всего, вам нужно перейти в папку вашей темы

wp-content\themes\ваша тема\

Там вы найдете файлы single.php и page.php, которые отвечают за вывод записей и страниц соответственно.

Открываете нужный файл с помощью текстового редактора notepad++ или обычного текстового редактора и вставляете код:

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

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

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

[rat ings id="1"] (ratings без пробела)

Где 1 – ид рейтинга.

Так же можно настроить вывод самых популярных (на основе рейтинга) постов в виджете, либо в любом другом месте шаблона вашего сайта с помощью кода:

<?php if (function_exists('get_highest_rated')): ?>
 <ul>
 <?php get_highest_rated('both', 0, 10); ?>
 </ul>
 <?phpendif; ?>

Можно вывести статьи с наименьшим рейтингом. Для этого следует поменять функцию get_highest_rated на get_lowest_rated.

Либо же самых оцениваемых постов: get_most_rated.

Значение both означает, что будут выводиться и страницы и записи. Его можно поменять только на post или только page. 0 – минимальное число оценок. 10 – количество выводимых записей.

Кстати, после завершения всех настроек, проверьте в инструментах проверки структурированных данных свой сайт. Если все указанно верно, то вы увидите звездочки в сниппете (предварительно очистите кэш, если стоит один из плагинов кэширования).

В реальной же выдаче Google, работу плагина вы увидите лишь после переиндексации статей.

Перевод плагина и прочие настройки

В административной панели WP вы найдете шаблоны вывода.

WP-PostRatings админка

Для того чтобы перевести плагин на русский язык нет необходимости устанавливать плагины локализации, например Codestyling Localization и работать с mo и po файлами. Достаточно просто правильно настроить шаблоны.

Для примера покажу 1 из настроенных шаблонов вывода:

шаблон WP-PostRatings

Который выдаст следующий результат:

рейтинг записей

С остальными нужно поступить по аналогии.

Комментарии к “Оценивание статей по звездочной шкале в WordPress

  1. Спасибо за описание этого плагина.
    Установила себе на сайт, теперь есть обратная связь с читателями, т.к. не все оставляют комментарии, а вот оценить статью в один клик — это просто.

    1. Вам спасибо за комментарий. У данного плагина есть еще 1 минус — конкуренты в вашей тематике будут регулярно ставить самый низкий рейтинг. Так что правка результатов в базе данных будет обыденным делом.

  2. Спасибо. А то установил — не работает. Нафига делать плагины, которые не работают из коробки?

    1. Ну почему же сразу не работает? Возможно вышел конфликт плагинов. Уже такое встречал. Устанавливал плагин Lightbox’a — все было отлично, установил еще несколько расширений и он перестал работать.

  3. У меня плагин некорректно работает — только серые звездочки. Как это исправить? тема colorbold

    1. В коде ничего не правили? С другими темами нормально работает? Пробовали поочередно отключать другие плагины?
      P.S. Ссылку не оставлю, так как ваш сайт под АГС.

      1. Ничего не правил. Самое интересное, что предыдущая версия этого плагина нормально работает в этой теме, но в ней нету кнопки «Enable Google Rich Snippets» из-за чего, наверно, в выдаче гугл не показывает звездочки

        1. У меня сейчас на 2-х сайтах этот плагин стоит (последняя версия) и кнопка «Enable Google Rich Snippets» есть. Может сам WordPress нужно обновить?
          А для формирования сниппета требуется время на переиндексацию статьи.

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

            1. Если в структурированных данных показываются звездочки, то переживать не стоит. Просто нужно подождать пока бот переиндексирует страницу.

  4. Статья классная, спасибо. Поставлю себе тоже такой плагин пожалуй.
    Вы написали в статье: «По этой самой причине вы и не видите установленного на моем блоге рейтинга». Я так понимаю фраза была написана до установки рейтинга? 🙂
    И вопрос не по теме статьи: как вы сделали в sidebar’e форму из Google+?
    Спасибо.

  5. Здравствуйте, как настроить плагин под разметку http://schema.org/Recipe? По умолчанию настроен под http://schema.org/Article. И еще, как избавиться от сообщения «Please rate only 1 post at a time.» Какую настройку применить?
    С новым годом вас и за раннее спасибо!

    1. С Новым годом! Недавно начал заниматься кулинарным сайтом и в планах сделать систему рейтинга для рецептов. Но пока не представляю, как это организовать на техническом уровне, поэтому не подскажу по этому вопросу.
      Если вдруг найдете решение, буду очень признателен за информацию =)
      А по поводу сообщения: я не нашел на вашем сайте, где оно выскакивает.

  6. Здравствуйте,
    Хочется сделать вывод рейтинга с миниатюрами записей, есть способ это сделать?

    1. Вы имеете ввиду вывод миниатюр, которые вы задаете при добавлении записи?

  7. Здравствуйте, есть информация о простановке рейтинга в превью записей на странице рубрики?

    1. Да, правда не могу ручаться, что в вашей теме такая же структура файлов.
      В общем: в папке темы ищите content.php (не content-single.php). Код в этом файле отвечает за вывод превью постов в категориях, а так же на страницах поиска.
      Вставляете туда:
      <?php if(function_exists('the_ratings')) { the_ratings(); } ?>
      Результат можете посмотреть в одной из категорий.

      1. Правда рейтинг будет отображаться и на главной странице. Поэтому, можно добавить условие:
        <?php
        if( is_category( $category ) ){
        if(function_exists('the_ratings')) { the_ratings(); }
        }
        ?>

  8. Спасибо за статью. Такой вопрос, как вы реализовали после статьи Ссылки на соцсети? Это плагин или руками? Как называется?

  9. И еще вопрос. Попробовал редактировать в БД данные. Так вот возникал проблемка — на сайте ничего не меняется, а вот в админке есть изменения. И даже после ручной очистки данных (есть в настройках плагина) на сайте остались голоса. Кеш на сайте не стоит, пробовал в разных браузерах, ничего не помогает. Подскажите, куда копать.

    1. Сам столкнулся с этой проблемой. Пошарил в интернете, но так нигде и не нашел решения. Админку правит, а на сайте — нет.

    2. Нашел решение:
      При добавлении / редактировании статей в «настройках экрана» (сверху) включите «произвольные поля». Там можно корректировать.

  10. Юрий, скажите, если звёздочки появились над статьей, а в сниппете — нет. это нормально или нет? заранее спасибо

  11. Спасибо, поставил себе попробовать.
    Когда-то давно использовал, потом тоже убрал, сейчас посмотрим еще 🙂

  12. Спасибо за хорошую статью, все понятно как и что настраивать.
    Решила оценить рейтинг кликнув по звездочкам, а мне система вот что выдает: Failed To Verify Referrer

    что-то пошло не так.

  13. Добрый день!
    У меня рейтинг этот работает только пару минут, т.е. пару оценок можно поставить, а потом не реагирует =(((
    Начинает работать после деактивации/активации, очистки кеша и пр.
    Пробовал другой плагин рейтинга WP-Widget вроде, но он очень странный + работает 7 дней, потом требует денег или работает со своей рекламой.
    Нет ли информации с чем он может конфликтовать? Может из-за темы на IonCube? Блин, не могу аналогов рейтингу на WP нормальных найти!

  14. Здравствуйте. А я хочу включить оценивание фото. Подскажите, пожалуйста, как это можно сделать?

  15. Здравствуйте. WP-PostRatings не подойдет для организации рейтинга фотографий.
    Можно использовать плагин NextGen Gallery для создания галереи и установить дополнение Nextgen Gallery Voting.

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

  17. что означает-Вставлять нужно до тех пор, пока звездочки не окажутся на нужном месте.-В какое место кода файла вставлять ваш код?? И что делать если они вообще не появляются?!

    1. Это означает, что либо вам нужно учить html и php, либо использовать метод «тыка». Далеко не все шаблоны имеют одинаковую структуру. Так что, сказать куда вставлять — невозможно в принципе.
      Многие шаблоны имеют доп. файлы, вроде content-single.php, content-summary.php и т.д. Можно вставлять строчку кода вывода рейтинга в них.

  18. Здравствуйте!
    Спасибо за подробные объяснения, но у меня так и горит надпись «Invalid Post ID. Post ID #1.» Почистила кэш, но ситуация не изменилась…

    1. А если полностью отключить кэширование? Хотя вряд ли в этом дело.
      Пошарил в поисковиках. На одном англоязычном форуме нашел вашу проблему. Вот только решение так и не было найдено.

      1. Ну что, не судьба 🙂
        Зато хочу поблагодарить за то, что чуть выше написали аналоги — поставила kk Star Ratings и все прекрасно работает!

  19. Спасибо Юрий, только что установил этот плагин на свой блог. До этого пробовал «Rating-Widget: Star Review System» из за которого сайт очень сильно нагружался

  20. Здравствуйте! Установила в блог этот плагин. Работает, но когда наводишь на звездочки, то внизу под ними появляются надписи (1 Звезда, 2 Звезды…) и одновременно всплывающие подсказки с таким же текстом. Подскажите, пожалуйста, как сделать так, чтобы при наведении появлялись только всплывающие подсказки?

  21. Спасибо за полезную статью!
    Скажите, пожалуйста, за что отвечает singe и за что page?
    И еще, у меня рейтинг размещается где-то на сантиметр левее чем идет левый отступ текста, можно ли дописать заклинание и выровнять его?

    Спасибо!

    1. Single — запись, page — страница. Левый отступ задается с помощью свойства

      margin-left:10px;

      Вам просто нужно в стили (style.css) добавить следующий код:

      .post-ratings {margin-left:10px;}

      Значение можете подставить любое, вместо 10. Главное синтаксис не нарушить.

  22. А подскажите, пожалуйста,
    как сделать сортировку постов на странице архива (страница списка постов).
    Я вижу Вы привели код для вывода самых популярных:

    ……но это не то.

    Как вывести посты на этой странице в порядке уменьшения рейтинга?

      1. Спасибо Вам! =)
        Вставил этот код в самое начало файла отвечающего за за вывод заголовков постов на страницах рубрик. Вроде заработало. Верно?

        В добавок ещё один вопрос: у меня на сайте есть страницы, рубрики (со списком постов), и посты — так вот сайдбар выводится везде, кроме страницы рубрики — это особенности моей темы или в вордпрессе так продумано, что именно в рубрике со списком постов нельзя выводить сайдбар?

        1. Я после if ( have_posts() вставлял.
          По умолчанию сайдбар выводится на всех страницах, так что дело в шаблоне.

          1. Вставил так:
            if ( $query->have_posts() ){
            query_posts($query_string.’&r_sortby=highest_rated&r_orderby=desc’);

            но так вообще никаких изменений не происходит.

            1. Всё заработало — вставил в начало файла index.php, для тех, кто столкнётся с этой проблемой 😉

      2. Всё же смотрю — не получилось, в зависимости от места, куда вставляю, выводится отсортированный на всех страницах рубрик, либо только на нужных, но без сортировки… Уточню — речь идёт именно от страницах рубрик (файл content-post.php), а не архивов (извиняюсь, если сначала не то сказал).
        Вот код:
        1)
        $output .= »;
        $output .= query_posts($query_string .’&r_sortby=highest_rated&r_orderby=desc’) .»; //я
        }…..и тд

        2) ещё так пробовал:
        if( ! $query ) $query = $wp_query;
        if ( $query->have_posts() ){
        query_posts($query_string .’&r_sortby=highest_rated&r_orderby=desc’) ;
        … и т.д.

        3) if( ! function_exists(‘mfn_content_post’) ){
        function mfn_content_post( $query = false, $layout = false, $load_more = false ){
        query_posts($query_string .’&r_sortby=highest_rated&r_orderby=desc’) ;
        … и т.д.

        1. Но после того, как всё заработало — я заметил, что теперь в рубриках выводятся только оцененные посты, а неоцененные посты не отображаются. Т.о. если я сейчас начну добавлять много новых постов, то они не отобразятся в списке в рубрике. Как только кто-то присвоит им по звёздочке — они появятся.
          Как сделать их отображение перманентным?

          1. Честно говоря, не подскажу, я в php не силен. Из готовых вариантов этот единственный, что я нашел.

  23. Добрый день!
    Хотелось бы узнать, как сделать рейтинговую систему мини-материалов на странице категории так, чтобы выводился рейтинг рядом с каждым материалом, и чтобы на него не выло никаких ссылок. Т.е. чтобы материал выглядел как простое предложение, а рядом стояли Плюс/минус — его рейтинг. И по количеству рейтинга материал выбивался бы в топ страниц.
    Например, как это сделано здесь: vip-nickname.ru/niki_dlya_igr/steam

  24. Все хорошо, спасибо, поставил.
    Но выбрал не звездочки, а + и —
    Как оно будет отображаться в гугле то?

  25. Здравствуйте. А вот у меня интересная ситуация. Сначала звезды были в выдаче и дела шли хорошо. А через пару недель после установки плагина звезды пропали. Причем через site:мойсайт они есть, а в обычной выдаче их нету.

  26. Здравствуйте у меня к вам просьба помогите мне подключить этот вывод рейтинга
    к выводу id или картинку
    чтобы у каждого выводился id или картинку своя рейтинг. И можно ли этот функцию положить
    в переменную каким-то образом чтобы вызвать эту переменную в нужных местах или приклеить
    его к id или картинку?

  27. Доброй ночи ! Подскажите , а как интегрировать , совместить рейтинг постов с комментариями постов

    1. Конкретно этот плагин вряд ли получится так настроить. Введите в админке в поиске по плагинам «Comment Rating». Может что и подойдет.

  28. C новой микроразметкой этот плагин работает некорректно. В проверке гугла появляется второй элемент article с ошибками.

    1. Да, действительно. В инструментах проверки структурированных данных ошибки. Думаю, со временем поправят.

  29. День добрый ! За советом. Подскажите , как в анонсе постов вверху вывести рейтинг. Понятно что надо вставить код, но как вывести в анонсе только средний рейтинг?

  30. Приветствую.
    Сделал рейтинг, сниппет отображается, но не видно звездочек в сниппете, в чем проблема может быть?

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

    1. Я с тех пор не устанавливал плагин, но думаю должны были исправить.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *