Янв
31
298

Плагин 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), архив (archive.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% случаев достаточно этой статьи и описания на официальном сайте.

Рейтинг с помощью кнопки Лайк

Рейтинг с кнопкой Лайк

В качестве альтернативы, если вам требуется организовать рейтинг с помощью кнопки Лайк, можете воспользоваться плагином Like Button Rating. Плагин предоставляет мгновенную статистику, 28 готовых тем, 140 иконок и позволяет сортировать материалы по лайкам. Работает с постами, страницами, товарами WooCommerce, BuddyPress, bbPress и комментариями.

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

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

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

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

  • Олег   24.11.2011

    То есть нужно что бы после этого:
    %POST_TITLE%
    %RATINGS_IMAGES% (%RATINGS_AVERAGE% out of %RATINGS_MAX%)

    Было это:
    <a href="ID, «url», $single = true); ?>»><img src="ID, «img», $single = true); ?>» alt=»ID, ‘alt’, $single = true); ?>» />

    И выглядеть это будет так же как у вас связаные посты с миниатюрками. Только в моем случае — популярные посты.
    Очень нужна ваша помощь!

  • kulinaris   27.11.2011

    *интересуицца* а без плагинов можно каким-либо способом популярные заметки выводить? Ужо с месяц пытаюсь найти информацию, но увы 8-(

  • Tod   27.11.2011

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

  • Tod   27.11.2011

    kulinaris, к сожалению, я таких примеров не встречал.

  • Антон   28.11.2011

    Здравствуй Тод! Хотелось бы сделать вывод в сайдбаре популярных статей, перепробовол все варианты, но нужного не нашел. Сейчас использую код

    Как сделать чтобы оценка была но новой строчке (под названием статьи)? И как добавить количество голосов, то есть как это сделано у Вас.
    Если Вы так же используете только код, то поделитесь пожалуйста, буду признателен

  • Tod   29.11.2011

    Антон, все визуальное оформление для wp-postratings задается в шаблонах templates, если посмотрите html код страницы данного блога, то увидите, что я оценки (картинки) выделили в отдельный блок DIV и для него определил стиль — поэтому переносится на след. строку. В общем нужно знать что внешний вид правится через templates + иметь знания дабы с помощью стилей CSS сделать нужно оформление. Можно поставить перевод на след. строку <br> но со стилями больше возможностей визуального оформления.

  • Арабика   10.12.2011

    очень полезный пост и самое главное отличный плагин, попробую настроить

  • Марина   12.12.2011

    а можно сделать так, чтобы на странице статистики выводилось не только название поста, но и картинка?

  • Patrokl   13.12.2011

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

  • Tod   15.12.2011

    Марина, это можно сделать либо найдя специальный подходящий плагин, либо внося изменения в код самого модуля. Когда-то делал похожее что-то для другого плагина — изображения (миниатюры) для связных постов в Simple Tags — если разбираться в wordpress и php, то можно сделать.
    Patrokl, спасибо, исправил все.

  • Делитант   04.02.2012

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

  • Олег   11.02.2012

    Вывел рейтинг через виджет при наведении на звезды выводит текст английский, как сделать чтобы был русский или вобще убрать????
    и у Вас также?
    у файле переводил и удалял в файлах: postratings-templates и также postratings-options ничего не помогло. Буду очень Вам благодарен за ответ.

  • Tod   12.02.2012

    Олег, при наведении выводится текст, который задает в настройках плагина Rating Options.

  • евгений   17.02.2012

    Нужный блог.

  • Полина   12.03.2012

    привет, а как поставить эти звездочки в конец статьи, у меня они почему то в начале. в остальном все хорошо работает

  • Вэл   13.03.2012

    Здравствуйте!
    у меня к вам вопрос. Вот есть сайт torlol.ru
    Каким образом организовано голосование по принципу рейтинг/смешно/не смешно прямо над постом?
    Это какой то плагин или много ковыряния в коде?
    Много где искал, но ничего похожего не нашел.
    Заранее спасибо!

  • Tod   14.03.2012

    Полина, звездочки в шаблоне выводятся через функцию the_ratings, нужно расположить ее под вызовом функции отображения текст the_content или the_excerpt, а не перед ними.
    Вэл, судя по коду мне вообще слабо верится в то, что там wordpress используется. В данном плагине есть возможность выбрать голосовалку в качестве + / — или «большой палец вверх вниз», типа плохо или хорошо..,

  • Денис   09.04.2012

    Можна какием то образом оставить визуальную форму вывода, а код и алгоритмы оценки полностью свои поставить?

  • Tod   09.04.2012

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

  • Иван   08.05.2012

    А есть ли возможность вывести самые рейтинговые посты в определенном виде?
    Вот в такой шаблон к примеру
    <img src="» />
    <a href="» class=»link_back»>Подробнее

    <?the_title('’,»);?>

  • Tod   10.05.2012

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

  • Вячеслав   23.06.2012

    Проблема такая,все сделал работает,только звезды расположились у самого края записи,как их подвинуть немного в право от края?)))

  • Tod   23.06.2012

    Вячеслав, тут нужно подправить в CSS стилях отступы, добавить в классу, который отвечает за голосование отступ margin-left: 20px;

  • Alexandr   11.07.2012

    Добрый день.
    Целый день бьюсь и не могу вывести в виджете, самый рейтинговый пост из конкретной рубрики.
    Подскажите как это можно реализовать?

  • Tod   12.07.2012

    Alexandr, по идее нужно использовать такой от код:

    <?php if (function_exists('get_highest_rated_category')): ?>
        <ul>
            <?php get_highest_rated_category(CATEGORY_ID); ?>
        </ul>
    <?php endif; ?>
  • Alexandr   13.07.2012

    Tod, пробовал. И в виджете выбирал get_highest_rated_category.
    на выходе получаю NA

    может я не правильно записываю ID категории ? Пишу в этом поле псевдоним (ярлык) хотя в этом поле стоит по умолчанию ноль. Может у категорий есть ID которые я не знаю как посмотреть ? :)

  • Alexandr   13.07.2012

    ура, пока формулировал вопрос, сам на него же и ответил ))))
    погуглил на эту тему и нашел где смотреть id категории. При редактировании рубрики в верхней строке браузера есть этот код.
    Так что все теперь пашет :)

  • July   31.07.2012

    Здравствуйте!
    Пожалуйста, подскажите, как сделать, чтобы рядом со списком самых «звездных» постов выводилось не только количество голосов, но и общий балл рейтинга? А возможно, также миниатюра записи?
    Спасибо.
    С уважением, Юлия.

  • Tod   01.08.2012

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

  • Александр   27.08.2012

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

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


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

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

Поиск:
Последние посты
Лучшее в категории

Облако тегов
Скажи свое мнение!

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

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

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