WP-PostRatings
WP-PostRatings это один из самых популярных плагинов, позволяющих посетителю оценить ваш пост. Плагин на самом деле используется больше для красоты, чем для реальной оценки записей в блоге, потому что для более-менее нормального рейтинга нужна достаточно приличная посещаемость (при моих 300 с небольшим человек в день голосуют считанные единицы). Вставлять оценку просто каких-либо записей в вашем блоге глупо, нужен конкретный предмет оценки - например, у меня это оценка плагина. На сайте с кино-рецензиями это будет оценка или фильма или самой рецензии, а на софт-блоге это будет оценка рассматриваемой программы. Так что прежде чем устанавливать этот плагин сначала решите для себя, а нужно ли это вашему блогу или все-таки нет.
Скачиваем плагин с его домашней страницы и устанавливаем его:
1. Распаковываем архив.
2. Копируем папку wp-postratings в /wp-content/plugins/.
3. Заходим в админку блога на вкладку "Плагины" и активируем плагин.
Русского перевода плагина версии 1.50 я так сходу не нашел, поэтому буду говорить про английскую версию. Да и особой нужды именно в русской версии нет, в настройках плагина все должно быть понятно и без перевода.
Сами настройки плагина вы найдете в "Ratings\Ratings Options", а настроить шаблоны вывода вы можете в "Ratings\Ratings Templates". Но не спешите переводить или настраивать там вывод фраз – вряд ли вы будете использовать все возможности плагина.
Чтобы встроить рейтинг вам необходимо добавить в файлы шаблона код (index.php, single.php и др.):
<?php if(function_exists('the_ratings')) { the_ratings(); } ?>
Этот код обязательно должен быть внутри цикла:
<?php while (have_posts()) : the_post(); ?> ... <?php endwhile; ?>
Таким образом рейтинг будет показываться у каждой записи в вашем блоге. Если вам это не нужно, то не надо использовать вышеприведенный код. А для вставки рейтинга отдельных записей или страниц можно использовать тег [ratings] или [ratings id="1"], где 1 это ID рейтингуемой записи. Использовать и код в шаблоне и одновременную вставку тега [ratings] нельзя, так как в этом случае у вас обязательно возникнут проблемы (проверено лично).
Если вы хотите, чтобы при комментировании писался рейтинг, который поставил записи комментирующий, то уберите символы комментирования (//) в строчке:
377 | //add_filter('comment_text', 'comment_author_ratings_filter'); |
а перевод необходимых строчек надо сделать на:
403 404 405 406 | if($post_ratings_images != '') { $output .= get_comment_author().' ratings for this post: '.$post_ratings_images; } else { $output .= get_comment_author().' did not rate this post.'; |
И тогда у вас получится что-то типа:

Вывести различную статистику плагина можно легко через виджет "Ratings". Для вывода статистики напрямую нужно использовать различный код.
1. Вывод самых популярных записей в блоге.
<?php if (function_exists('get_highest_rated')): ?> <ul> <?php get_highest_rated(); ?> </ul> <?php endif; ?>
По умолчанию используется get_highest_rated('both', 0, 10), где both означает показывать и страницы и записи (post – только записи, page – только страницы), 0 означает необходимое число голосов прежде чем пост будет показан и 10 это число выводимых записей.
2. Вывод самых популярных записей по тегу.
<?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 тега, both означает показывать и страницы и записи (post – только записи, page – только страницы), 0 означает необходимое число голосов прежде чем пост будет показан и 10 это число выводимых записей.
3. Вывод самых популярных записей в рубрике.
<?php if (function_exists('get_highest_rated_category')): ?> <ul> <?php get_highest_rated_category(CATEGORY_ID); ?> </ul> <?php endif; ?>
По умолчанию используется get_highest_rated_category(CATEGORY_ID, 'both', 0, 10), CATEGORY_ID это ID рубрики, both означает показывать и страницы и записи (post – только записи, page – только страницы), 0 означает необходимое число голосов прежде чем пост будет показан и 10 это число выводимых записей.
4. Вывод наименее популярных записей в блоге.
<?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 это число выводимых записей.
5. Вывод наименее популярных записей по тегу.
<?php if (function_exists('get_lowest_rated_tag')): ?> <ul> <?php get_lowest_rated_tag(TAG_ID); ?> </ul> <?php endif; ?>
По умолчанию используется get_lowest_rated_tag(TAG_ID, 'both', 0, 10), TAG_ID это ID тега, both означает показывать и страницы и записи (post – только записи, page – только страницы), 0 означает необходимое число голосов прежде чем пост будет показан и 10 это число выводимых записей.
6. Вывод наименее популярных записей в рубрике.
<?php if (function_exists('get_lowest_rated_category')): ?> <ul> <?php get_lowest_rated_category(CATEGORY_ID); ?> </ul> <?php endif; ?>
По умолчанию используется get_lowest_rated_category(CATEGORY_ID, 'both', 0, 10), CATEGORY_ID это ID рубрики, both означает показывать и страницы и записи (post – только записи, page – только страницы), 0 означает необходимое число голосов прежде чем пост будет показан и 10 это число выводимых записей.
Более подробную информацию смотрите в документации к плагину.
Стили css плагина содержатся в файле postratings-css.css. Настраивайте вывод как вам угодно, но, пожалуйста, не забудьте поправить вывод иконок. А именно заменить строку:
37 | margin: 0px; |
на
37 | margin: 0px 0px -2px 0px; |
Просто раздражает, когда в каждом блоге видишь одно и тоже - иконки звездочек расположены выше, чем текст на той же строке. И почему-то никто не пытается поправить эту ситуацию (css по умолчанию и поправленный):

При использовании английской версии плагина почти все английские фразы, которые будут показываться на стороне клиента переводятся в настройках плагина в разделе шаблонов. Но есть еще парочка строк до которых надо добраться именно в файле wp-postratings.php, вам надо сделать перевод фраз "Loading" (показывается, когда вы голосуете) и "Please rate only 1 post at a time" (показывается, если вы быстро пытаетесь проголосовать за несколько записей сразу). Для этого замените строчки:
84 | $loading = "\n<$start_tag id=\"post-ratings-$id-loading\" class=\"post-ratings-loading\"><img class="\" title="\"".__('Loading'," alt="\" src="\"".plugins_url('wp-postratings/images/loading.gif')."\"" width="\" height="\" ...\? ?wp-postratings?).? ?.__(?Loading?,? 16\?? post-ratings-image\?? /> ".__('Loading', 'wp-postratings')." ...</".$START_TAG.">\n"; |
и
156 | 'text_wait' => __('Please rate only 1 post at a time.', 'wp-postratings'), |
на
84 | $loading = "\n<$start_tag id=\"post-ratings-$id-loading\" class=\"post-ratings-loading\"><img class="\" title="\"".__('Загрузка'," alt="\" src="\"".plugins_url('wp-postratings/images/loading.gif')."\"" width="\" height="\" ...\? ?wp-postratings?).? 16\?? ?.__(?Загрузка?,? post-ratings-image\?? /> ".__('Загрузка', 'wp-postratings')." ...</".$START_TAG.">\n"; |
и
156 | 'text_wait' => __('Пожалуйста, подождите пока учтется ваш голос.', 'wp-postratings'), |
На этом вроде все, удачи с плагином.
PS. Русскую версию плагина я все-таки нашел, вы можете ее скачать (файл wp-postratings-1.50-ru_RU.zip).
Автор плагина:
Страница плагина:
Рассматриваемая версия: 1.50 от 13.06.2009
Совместимость с версией WordPress: 2.8 и выше.
Рекомендую также:

#91, 17 мая, 2010 в 01:35
добавьте wp-postratings.php и wp-postratings-widget.php в список исключений супер кеша
Кто нибудь знает альтернативы WP-PostRatings? Что-то слишком грузит сервер
#92, 6 июля, 2010 в 04:01
Спасибо, благодаря статье и комментариям все-таки разобралась, хоть и просидела чуть ли не весь вечер. Тоже были проблемы с тем, что звездочки отображаются, но нажатие на них не дает никакого эффекта. Оказались проблемы в footer.php. Но главное, что теперь все работает :)
#93, 7 июля, 2010 в 00:30
Доброе время суток. Кто поможет?
У меня проблема такова, голосование активно, но при попытке проголосовать навсегда уходит в "Loading..." - и в конце-концёв так и не удаётся проголосовать.
Варианты с wp_head() и wp_footer() отпадают -проверял.