WordPress plugin intelligence profile

WP-PostRatings

Adds an AJAX rating system for your WordPress site's content.

WP PlugIndex snapshot

Current directory snapshot

Tested up to WordPress 7.1
Current version2.0.2
WordPress coverageTested up to WordPress 7.1
Minimum stackWP 6.8 · PHP 8.2
Directory statusactive
Last directory update1 Sept 20262mo ago
Active installations20K+Adoption metric — not a quality score
WordPress.org rating4.4 / 5 from 178 ratings
Official packageDirect from WordPress.org

Repository metrics are context, not quality scores. Active installations measure adoption and can strongly reflect a plugin’s age and historical popularity. Ratings, recent updates and “Tested up to” metadata also do not guarantee modern code, error-free operation, security, feature completeness or suitability for a particular site. Why active installs don’t tell the whole story →

WP PlugIndex currently records WP-PostRatings version 2.0.2 as active, updated 2mo ago and tested up to WordPress 7.1.

Overview

About this plugin

WP-PostRatings adds a rating control to any post, page or custom post type. Visitors pick a value, the vote is posted in the background, and the result appears in its place without a page load.

Features

  • Ten rating shapes, drawn with CSS rather than shipped as images, so they stay sharp at any size and cost no HTTP requests — numbers among them, for a scale whose points are read rather than counted.
  • A scale, or a two-way up/down control, with the rated and unrated colours as settings.
  • Template tags and a shortcode for the highest rated, most rated, lowest rated and highest scoring posts, optionally within a category, a tag or a time range.
  • A rating log with sortable columns, filters, bulk delete and Screen Options.
  • Google rich snippet markup for the post and its aggregate rating.
  • A sidebar widget, and a section on the WP-Stats page when that plugin is installed.

Donations

I spent most of my free time creating, updating, maintaining and supporting these plugins, if you really love my plugins and could spare me a couple of bucks, I will really appreciate it. If not feel free to use it without any obligations.

Usage

The simplest way, and the only one that works in a block theme without editing template files, is the shortcode. Put it in the post or page you want rated:

  • [ratings] rates the post it appears in.
  • [ratings id="1"] shows the rating for post 1, wherever you put it.
  • [ratings id="1" results="true"] shows post 1’s result without letting anyone vote from there.

php, anywhere inside the loop:

>

The settings live at WP-Admin -> Ratings -> Settings, which has a Settings tab and a Templates tab.

Showing A Rating In A Block

A Ratings block is available in the editor, under Widgets. Two settings in the sidebar:

  • Post ID — leave it at zero to rate the post the block sits in, which is what an empty [ratings] does, or give an id to show another post’s rating wherever you put the block.
  • Show the result only — displays the rating without offering to change it, for putting a post’s score somewhere it should not be voted from. This is what results="true" does.

It renders on the server, so the preview in the editor is the real rating rather than an approximation, and changing your shape, colours or templates updates every post showing it without re-saving anything. The preview is deliberately not clickable: rating from the editor would record a real vote.

The shortcode still works and is not going anywhere. [ratings], [ratings id="1"] and [ratings id="1" results="true"] behave exactly as they always have, and a post already containing one needs no change. The block calls the same code the shortcode calls, so the two render identically — use whichever suits the post.

WP-CLI

wp postratings list wp postratings list --limit=50 --format=json wp postratings get 42 wp postratings delete 42 --yes wp postratings delete --all --what=logs

A rating lives in two places — the running totals each post displays, and a row per vote in the log. --what chooses which to clear: logs, data or both, and both is the default.

REST API

GET /wp-json/postratings/v1/post/<id> POST /wp-json/postratings/v1/post/<id>/rate

Reading is public, because a rating is public. Rating takes the same wp_postratings_<id>-nonce the rendered control already carries, passed as a nonce parameter, and is subject to the same eligibility and repeat-rating settings as rating through the page.

Each response carries the rendered markup as well as the numbers, because your templates and your chosen shape decide what a rating looks like.

A refusal answers 403, not 400 — a rating already cast, a rating off the end of the scale, a bad nonce. 400 is kept for a parameter this plugin never had a chance to look at. A post that does not exist answers 404, and so does one you are not allowed to rate — a draft belonging to somebody else answers exactly as a deleted post does, rather than confirming it is there.

These routes are an addition. php wp_postratings action is unchanged and still supported.

WordPress.org metadata

Plugin tags

Topics listed for this plugin in the WordPress.org directory.

  • ajax
  • post
  • rating
  • ratings
  • vote
Compatibility & maintenance

Compatibility & maintenance

Tested with WP 7.1

Marked as tested with the current WordPress 7.1 release.

Current WordPress releaseWordPress 7.1
WordPress.org Tested up to7.1
Minimum requirementsWordPress 6.8 · PHP 8.2
Update activity1 Sept 20262mo ago

“Tested up to” is directory metadata supplied by the plugin author. WP PlugIndex does not turn an older declaration into a claim that the plugin is incompatible.

Changes recorded by WP PlugIndex

Recent tracked changes

No tracked version or compatibility changes have been recorded by WP PlugIndex yet.

Tracking & source

WP PlugIndex tracks public WordPress.org directory metadata and records selected version, compatibility and availability changes as they are detected.

Plugin watchlist

Watch this plugin

Sign in to your WP PlugIndex account or create a free account. Free accounts can watch up to 5 plugins and see what changed.

Watch limit

Watchlist limit reached

You have reached your current active watch limit.