Star Rating for Reviews
Star Rating for Reviews is a simple WordPress plugin that inserts pretty rating stars based on the score you assign using intuitive, inline [rating:] tags. It can also calculate and output overall ratings for you based on all previous scores you have assigned, useful for reviews that have multiple categories or an album review where each track is assigned a score.
This plugin supports storing rating data into your WordPress database. These data can then be retrieved by functions provided to output a list of reviews, sortable by date, post title or rating scores. Random reviews function and single post function (to be used in WordPress loop) are also provided, see Usage section for detailed description of these functions.
Features
- uses simple, intuitive tags to generate kawaii inline rating stars for your posts
- supports versatile rating systems
- supports text only output for RSS
- automatically calculates and displays overall ratings, if desired
- supports storing rating scores automatically into database *
- supports outputting list of reviews sortable by date, post title or rating scores *
- supports widget-like, sortable table of reviews *
- supports custom star images
- supports custom prefixes and suffixes for your own CSS class
- supports globally forced star count for consistency
- uses as many stars as you want! **
- standards compliant: valid XHTML
* database writing has to be enabled via Options
** limited to 20 for practicality
Usage
Presentation
Data (for advanced users)
Presentation
Once installed, you can add rating stars to your posts by using [rating:] tags.





By default, this will be interpreted as 3.5/5, as shown in the rating stars generated. Default denominator can be changed via options detailed in the next section. Even though this tagging style is simple, it might not be future proof when someday you decided to change the default denominator to say 10 (for whatever reason). In this case 3.5 will be interpreted as 3.5/10, which is very different compared to 3.5/5. Once you start using this tagging style, make sure you are not going to change the default denominator in the future. :)




“3/4″ will generate a “3 out of 4 stars” rating and “2/8″ will generate “2 out of 8 stars” and so on. This will continue to work as long as the denominator is not larger than 20. Beyond that, the score will be normalized and display in the default 5 stars system, as shown in the next example.





The “Rating:” prefix you can see in all examples above is the default prefix, which you can remove easily to show just the stars or add in your own custom CSS class by changing some options. More information about this in the Options section.
Overall rating:
Automatically calculated overall rating based on previous scores can be inserted using the following tag style:





Similar to the first example, this overall rating will be represented in the default 5 star rating system. It is possible to force the overall rating to be outputted in different number of stars by using the following tag style:




The “Overall Rating:” is again, the default prefix, which can be changed via options. For more information, see Options.
Custom images:
First of all, the default star image used is taken from the excellent Silk icon set. These png icons support different background colours via png transparency. However, you can still use your own star images by replacing the 3 images included in the “star-rating” plugin folder, namely “star.png”, “halfstar.png” and “blankstar.png”. File extensions can be changed via options if desired.
For your information, “tiny-star.png”, “tiny-halfstar.png” and “tiny-blankstar.png” are only used by special functions that output list of reviews based on stored data in the database. Feel free to replace them with your own images as well if desired.
Text only output:
By default, this plugin will output text only ratings for your RSS feeds and use graphical output when someone is reading the post on your site. This is, in my opinion, the optimal choice since some RSS readers do not support images. However, if you like you can output images for your RSS feeds too, or oppositely, output text only ratings for both RSS and posts displayed on your site. Please refer to the Options section if you want to make these changes.
Data (for advanced users)
Database writing is turned off by default. In order to use these advanced features, you will need to manually turn it on by changing the option values, see Options for more details. If you are not interested in this feature, you should skip this section.
Custom fields
If database writing is turned on, this plugin will parse your document searching for rating tags and store the overall rating score into a custom field called “rating” when you edit or save your blog post. The name of the custom field can be changed via options to prevent conflict with other plugins. The reason why custom field is used instead of a new database table is the ease of implementation and the fact that most people write reviews occasionally. The downside of this is when uninstalling this plugin, you will need to manually remove those “rating” entries within the custom field table.
To check if this plugin is doing its job, once you turned on the database writing, go to edit one of your older posts which already used the rating tags (or simply insert the rating tags into any post if you’re new to this plugin) and choose “Save and Continue Editing”. Now, check the custom field near the bottom of the editing panel to see if a new “rating” field has been added. If it’s there, congrats, this plugin is working properly; if it’s not, you might have forgotten to turn on the database writing option, or the rating tag is invalid. Feel free to post your questions here (with detailed explanation) if you can’t get this to work.
Once you turned on this auto insert feature, you can still disable it for specific post by putting [rating:none] anywhere in your blog post, preferably at the bottom for tidyness.
Functions
4 different functions are provided in this plugin that allow you to output a list of reviews based on date, rating score, or randomly selected. These functions uses “rating” custom field data to retrieve and sort the reviews. You need to either turn on autometa (see Options) or manually put these rating in yourself.
1. sr_getreviews()
sr_getreviews($limit, $orderby, $order, $usestar, $prefix, $suffix)
$limit
- number of reviews to be returned
Acceptable value: any integer
Default value: 5
$orderby
- criterion used to sort the review
Acceptable value: “date”, “title”, “rating”
Default value: date
$order
- sort ascendingly or descendingly
Acceptable value: “ASC”, “DESC”
Default value: “DESC”
$usestar
- number of star to be used for rating
Acceptable value: any integer
Default value: 5
Note 1: put in “0″ to output rating in percentage i.e. numerically
Note 2: rating stars used are with tiny prefix (tiny-star.png, tiny-blankstar.png etc.), they are smaller than regular stars in blog post
$prefix
- prefix to be put before the code for each reviews
Acceptable value: any valid XHTML tags or plain text
Default value: “<li>”
$suffix
- suffix to be put after the code for each reviews
Acceptable value: any valid XHTML tags or plain text
Default value: “</li>”
<?php sr_getreviews(5,date,DESC,5); ?>
You can also output ratings in percentage format as illustrated below:
<?php sr_getreviews(5,date,DESC,0); ?>
2. sr_getrandom()
sr_getrandom($limit, $usestar, $prefix, $suffix)
See the explanation above for each parameter.
<?php sr_getrandom(5,5); ?>
3. sr_listreviews()
sr_listreviews($orderby, $order, $usestar, $date, $limit)
This outputs list of reviews in a widget-like, sortable table format. (implemented using the awesome tablesorter plugin for jQuery)
$date
- format of date to be used
Acceptable value: PHP date format
Default value: “M j, Y”
$limit
- number of reviews to be returned
Acceptable value: any integer
Default value: “0″
Note: “0″ limit implies no limit i.e. retrieve all available reviews
<?php sr_listreviews(date,DESC,5,"M j, Y",10); ?>
Date | Title | Rating |
---|---|---|
Tips: Shift+Click to sort multiple columnsPowered by Star Rating for Reviews | ||
2011-06-07 Jun 7, 2011 | AKB48 – Koko ni Ita Koto | 70.8 ![]() ![]() ![]() ![]() ![]() |
2010-08-31 Aug 31, 2010 | Garuneku’s Debut Single | 70 ![]() ![]() ![]() ![]() ![]() |
2009-09-13 Sep 13, 2009 | Utada – This Is The One | 30 ![]() ![]() ![]() ![]() ![]() |
2009-04-30 Apr 30, 2009 | Kuroki Meisa debuts Hellcat | 71.3 ![]() ![]() ![]() ![]() ![]() |
2009-03-25 Mar 25, 2009 | Perfume – One Room Disco | 70 ![]() ![]() ![]() ![]() ![]() |
2009-02-02 Feb 2, 2009 | Hinouchi Emi – ME… | 75.3 ![]() ![]() ![]() ![]() ![]() |
2009-01-31 Jan 31, 2009 | Nishino Kana – MAKE UP | 85 ![]() ![]() ![]() ![]() ![]() |
2009-01-12 Jan 12, 2009 | Perfume – Dream Fighter | 95 ![]() ![]() ![]() ![]() ![]() |
2009-01-07 Jan 7, 2009 | Proposal Daisakusen | 90 ![]() ![]() ![]() ![]() ![]() |
2009-01-05 Jan 5, 2009 | Arashi – truth/Kaze no Mukou e | 93.3 ![]() ![]() ![]() ![]() ![]() |
4. sr_getsingle()
sr_getsingle($post_id, $usestar, $prefix, $suffix, $size)
This function is intended to be used within the WordPress Loop. You can put this within the loop to display rating score or stars in categories, tags, or main page for each posting. See examples: categories, tags, main page.
$post_id
- the ID of current post within the loop
Acceptable value: $post->ID
$prefix, $suffix
- prefix, suffix to be added before and after the ratings code returned
Acceptable value: any valid XHTML tags or plain text
Default value: ” (empty)
$size
- the size of stars, can be normal or tiny
Acceptable value: 0, 1 (0 for tiny stars, 1 for normal stars)
Default value: 0
For $usestar, see the sr_getreviews()
.
Customization
Starting from version 0.4, a default CSS is imported into the WordPress header, which I hope will work nicely with your blog theme. If not, feel free to open the CSS and edit it or disable the CSS import by setting $sr_mycss
to 1, which will remove all the default styling for CSS classes associated with this plugin.
By default, ratings and reviews returned by listing functions are hardcoded with special CSS classes, namely “sr-review” for the review permalink and “sr-rating” for the ratings returned, which can be either numerical percentage or star images.
You might want to take a look at another plugin I’ve written called “MyCSS”, which allows you to attach and edit custom stylesheet that’s independent of the blog theme you’re using. This makes it convenient and easy to organize theme independent CSS classes such as those used in plugins, saving you the trouble of appending these classes into your theme’s core CSS everytime you change a theme.
Options
Hopefully this plugin will work as desired in an “out of the box” way so that you don’t need to change anything. However, several extra options are still provided for those of you who would like to have it your way. :)
Since this plugin is still in its early stage, setting options in the WordPress admin panel is not supported yet. For now, you will need to open up the php file using either your favourite text editor or WordPress built-in plugin editor to change some of the variables you can find near the top of the code.
$sr_limitstar
: globally set star count, e.g. putting 5 will ALWAYS generate your score using the 5 star rating system, put 0 to disable this feature$sr_defaultstar
: default denominator when not explicitly specified in your tags$sr_prefix
: custom prefix for normal ratings$sr_allprefix
: custom prefix for overall ratings$sr_suffix
: custom suffix, leave blank unless you want to close html tags$sr_ext
: file extensions for custom star images, e.g. gif, jpg, png$sr_usetext
: text only output settings, accepted values are 0, 1 and 20: images for posts and feeds
1: images for posts, text for feeds
2: text for all$sr_mycss
: using your own CSS? if yes, put in 1 to disable default CSS import$sr_cuttitle
: shorten post title to specific amount of character, put 0 to disable title cut off
The following are advanced options, mainly to turn on the functionality of storing ratings into database as custom field values:
$sr_autometa
: 0 to turn off database writing, 1 to turn it on, this feature is disabled by default (it’s stable, I’m just leaving the choice up to advanced users)$sr_metakey
: meta key for custom field, change this if there’s conflict with other plugins
Installation
- Download and extract the “star-rating-for-reviews” folder
- Upload the “star-rating-for-reviews” folder to your WordPress plugin directory, usually “wp-content/plugins”
- Activate the plugin in your WordPress admin panel
Upgrade
- Deactivate the plugin in your WordPress admin panel
- Remove the “star-rating-for-reviews” folder in your WordPress plugin directory
- Follow the installation guide above
Download
Star Rating for Reviews plugin 0.4 for WordPress (30kb .zip)
Please donate to support active development of this plugin, thank you! |
If you like this plugin, express your love by donating and sharing this plugin with your readers!
Support
If you have any questions, suggestions, or found any bugs in this plugin, feel free to post them in your comments. I’ll try my best to answer them but there’s no guarantee, so don’t be disappointed if you do not hear back from me promptly. :/ If you find this plugin useful and feel like donating some money for my effort, please use the PayPal button above, thanks! <3
History
0.4 [2007.11.02]
- Added: Sort reviews by title
- Added: sr_listreviews() function to output all reviews in a sortable table (good for dedicated review page)
- Added: Default CSS stylesheet (can be turned off via options)
- Added: Cut off long title when getting list of reviews for sidebar
- Changed: XHTML markup for list of reviews generated
- Changed: Tiny star images
- Fixed: Division by zero if overall tag is placed at the top of a post
- Misc: Cleaned up the code and fixed minor bugs
0.3.1 [2006.09.12]
- Fixed: Sorting bugs
0.3 [2006.08.08]
- Added: Support to store rating data into database
- Added: Functions to output list of reviews, sortable by date or by rating scores
- Added: Filter to parse excerpt
- Added: Skip tag parsing by using ` character (suggested by Denis)
0.2 [2006.07.28]
- Fixed: Path error
- Fixed: [strong] instead of [b] for W3C standards
- Fixed: RSS text output bug
0.1 [2006.07.08]
- Initial release
{ 119 trackbacks }
{ 312 comments… read them below or add one }
← Previous Comments
Thanks a lot. It works great!!!
stars are not clickable why so .
i want any user may be able to click on the stars without registration
but when i put the tag inside the posts it only displays the image of stars which are not clickable . any suggesstion.
Hi, great plugin!!!
I have a food blog that writes reviews about restaurants, and I am adding stars for Food, Service and Ambiance for each place. Is there a way to then group the restaurants depending the stars they have for each category?
For example, could I get all the restaurants that have 4/5 stars on Food? From what I could tell from your features, all the ratings are scored so perhaps the above is possible.
thanks!!!
Cool plugin but it’s kind of outdated. Do you plan to release any update?
Can’t you please continue to develop this plugin?
There is couple of features I would like to see in this plugin!
Thanks, the star ratings are very helpful!
Is there a way to get just the stars from the post?
I’ve set up the database and can see the custom field. But when I use the function “sr_getreviews()”, I get a hyperlinked title that I don’t want. I’d really like to get just the stars.
Is this possible?
Can this be made interactive? ie so that visiters (even better if possible restricted to logged in users) can click their rating and it records ratings and shows the average?
pretty cool. i was looking for something like this :)
I’m not sure why my stars are going vertical instead of left to right? Any suggestions??? -Joe
http://www.whichcondomisbest.com/kimono-®-microthin-®-americas-thinnest-condom-review/
Nevermind – it was a CSS conflict on my end… Fixed.
Thanks for the plug in. Definitely trying it out and if I need help I will not hesitate to ask!
Thank so much! 5 stars for tutorial :)
Simple and useful. Great job! Thx.
How do I change the color of the stars? Yellow doesn’t seem to stand out enough. I’d love to switch it to blue.
Hi Eyn, cute pics. Model by day, made coder by night. You’re like Batman. Lol.
I notice that this plugin has been around for a while, but hasn’t had any recent updates. And although it works fine on the current release of Wordpress there isn’t any confirmation message (WP plugin page) saying its compatible with Wordpress 3.0+.
My assumption is that the plugin is already awesome and the donations coming in isn’t really worthy of your time invested. So I thought… maybe you could charge for support like how GD star ratings plugin does. I wouldn’t mind paying as it keeps you motivated, better off financially (because developing plugins take up quality time and you should be getting paid for it), and gives me the help I need to get things working properly.
You should really think about it cause its a shame that such a great plugin could easily disappear if contributions to the developer are so low that you’re forced to stop supporting it.
That’s my 2 cents. Hope it helps.
very good , i hope ican edit this plugin so it can run in my shop
very simple and very good, but displaying only on posts. Can i display it on blog listing (please look into my homepage & classic view) ?
Thanks
Hi
I have been trying to use your plugin with some trouble. I am trying to place the [rating] tag in a custom field so I can control the placement of the rating within my template. However when I do this the stars do not appear I simply get the shortcode displayed.
If you could provide me with any help it would be very much appreciated.
Kind Regards
John
Hi, Bundle of thanks… This is really great… i was looking for that… But can any one suggest me that how i can make my RATING website.
Regards
LahoriMela
Hi, just want to say how i like this plugin!! Very best!!!
Hi
I love the functionality of your plugin however it hasn’t been updated in quite a long time and is starting to show signs of it’s age I’m afraid.
I’ve been informed that the plugin isn’t aware of custom post types and is causing conflicts with another plugin as it drags other plugin data into the rating lists.
I would really appreciate you updating the plugin to take notice of the new wordpress features that have been released in the last few years :)
All the best
James
A regular query this – but I can’t find the resolve:
My star ratings are stacking vertically
*
*
*
Rather than horizontally ***
Not great with code – is there a simple solution?
many thanks ….
I’ve transferred my data to another database and something goes wrong with the top-rated list. I’ve got a multi install, in two sites I use the top-rated function. In one site everything is perfect, in another the list is completely wrong. It looks as the information of if the highest rated review is copied to the next in ID, so in the list all have the same date and a five-star rating (even reviews with no rating whatsoever). I figured I might clear the table that your plugin to reset it, but I can’t find where the ratings are stored.
Hello, and thank you for the great plugin which i am thinking of using on my site.
Unfortunately i am not able to getting anything showed in my “reviews” page using the: sr_listreviews() og sr_getreviews() functions.
I am integrating them on a “Review” wordpress page using the “Allow PHP in posts and pages” plugin.
The page is just blank, even though i did create one “Review” that hold the “rating” meta data field as it should.
My test review: http://www.ndroid.dk/?p=93
My review page (that should list the reviews): http://www.ndroid.dk/?page_id=104
I hope that you are able to help me, cause i really want to use your plugin on my site.
Hi,
I’m curious about one thing. Is it possible that after hovering the star images, they display title and alt attribute with the actual rating score?
is there a way to output ratings by a certain star only? I want to create lists of of each star rating…
very good~
I have embed the code in sigle post.php but not appears stars.
What did I do wrong?
Hi there!
I am having the same problem as Chris and deanna…
The stars are aligned in a row vertically instead of horizontally.
I am using the autofocus theme, any ideas?
Thankyou!
My site theme has a choice of different background colours, which I can change.
The stars have borders and the background colour of the border depends on what colour my site colour is… Is it possible to make it transparent?
http://sirhcle.com/?page_id=1107
Hi great Plugin works great for me but I was just wondering is there a was to Display in a sidebar rating from certain category only?
Hi!
I’m using your plugin for a moviereview site in swedish. I use the sr_listreviews on a page so it will list all of my reviews made.
But I’m thinking of starting to review other stuff to, like music and games.
Is there a function or similiar that you can sort out what’s music and games, so I can make 3 different lists with the sr_listreviews function? Now it seems it just lists all in the list, movies, music and games mixed together. I would like seperate lists.
This plugin is awesome, so I hope you’re continuing the development of this. You will get donation from me when my paycheck comes.
I have a problem with my star images – everything else is working perfectly.
The stars are aligned in a row vertically instead of horizontally. I tried looking at the CSS but couldn’t find the fix…any idea?
I had to add this:
$post = get_post($post_id, OBJECT);
$post_id = $post->post_parent;
before these lines to get the post meta data to work correctly
// read rating custom field from database
$rating_meta = $wpdb->get_var("SELECT meta_value
FROM $wpdb->postmeta
WHERE post_id = '$post_id'
AND meta_key = '$sr_metakey'");
Also, the counters need to be reset in the save callback as it might get called more than once
// added this to reset things
$sr_tscore = 0;
$sr_counter = 0;
// parse post content for rating tags, and store rating information in global variables
...
I’ve been using this plugin since earlier this year when I changed the layout of the website. It has worked perfectly, until now. When I use the getreviews/listreviews code, the function only finds seven (or so) articles and two of them seem to have no stars, while the reviews have stars and there are a few hundred of them. It’s not even that it stops at a certain point, it just randomly chose these seven ratings and put them there. There’s one from 2010, the rest dates around 2009. I have tried everything as far as my PHP skills go, but I’m stuck.
I put the ratings in the excerpt (this works for the layout). But when I delete or change a rating, it does not affect the rating in the list.
Help, please?!
Hi!
Love the plugin. It was working very well until recently, when the rating:overall started displaying 0/10 for every post. Any ideas on how to fix this?
Thanks!
Thanks for the plugin, its a great way to show reveiws.
But i am having version 0.5 installed and you say here that 0.4 is the latest?
Is there any way that i can show a list of my ratings whitout adding anything to the code, like
All the best
Targenor
I am getting all blank stars, can anyone help with this?
You can fix the borders around the stars by declaring a div class before the [rating: x/x]
Example:
In a post:
[Rating: 5/5]
Then edit the css file for the plugin.
Add in at the top of the css file
.starlogo img{ border: none;
margin: 0px;}
This will kill any borders and margins on inside this the starlogo div tag.
Example Upper Echelon Data: Review of AVG Antivirus 2011
Sorry it should be
“”
[Rating: 5/5]
“”
remove the quotes from around the and
Hello there,
I´ve got a problem with this. I´m not really good with CSS and all that stuff – and I don`t know what you mean with div class. What I did was putting “.starlogo img{ border: none;
margin: 0px;}”
in the plugin editor after the “<?php".
In my article I just put "[Rating: 5/5]" once… but the borders are still there. What did I do wrong?
so [rating:x] in which x stands for a number, brings the normal stars.
but what is the command to get the tiny black stars?
You need to edit the plugin config file.
To change it:
Open the plugin using the WordPress in-built editor.
Search for the following phrase:
This should take you to an area of the config where it is generating the HTML for display on your post; look for // finally, generate html for rating stars nearby. Wherever the word star, half-star (this is above), and blankstar, add “tiny-” before it, so you will end up with ‘tiny-star.’,'tiny-halfstar.’,'tiny-blankstar.’
Save and reload. Hope that helps!
Thanks for the plugin, but I’m having some difficulty with it. I installed it, and when I preview a rating, the stars are vertical instead of horizontal. Instead of looking like this:
Rating: *****
It looks like this:
Rating:
*
*
*
*
*
Any idea what might be wrong?
did you edit the php file?
Awesome plugin! I love the simplicity.
I was just wondering if it’s possible to change the ‘Rating’ part to specific things like ‘Food’, ‘Atmosphere’ etc.
Also, more importantly, I can’t get the overall rating to work. It just has five blank stars instead of using the other ratings to calculate an average. You can see what I mean here: http://www.livinginkigali.com/reviews/kigali-restaurants-cafes/saffron/
I’d love some help figuring this out! :-)
Thanks,
Kirsty
Hi there, not sure if you figured this out by now, but if you edit the plugin from the Plugins page, then search for:
You can replace the Rating with any text you like =)
I wanted to display five star ratings on a single page (eg taste, smell, looks, etc) and wanted each prefix to be different. Is it possible to do this using the shortcode as opposed to editing the plugin or modifying the theme loop?
Thank you for putting an effort into that plugin. This is great, exactly what I needed.
I will try to donate ASAP, good luck :)
Great, I was just looking for something like this. Hope I can get it to work.
Great, I was just looking for something like this. Hope I can get it to work.
← Previous Comments