WordPress plugin · free · GPL

Set your rating once. Every page updates.

If your rating and review count are typed into a dozen pages, they are wrong the moment the count changes. This gives you one place to set them, and every page using a shortcode or the block updates together — on any review platform.

Version
1.0.2
Requires
WordPress 6.3
Tested up to
WordPress 7.1
Requires PHP
7.4
Licence
GPL, free
What the badge renders

Google

4.8

231 reviews

4.8
231

[rvnum_badge source="google"]

Part-filled stars are drawn as shapes, so 4.3 does not round up to five and the display does not depend on the visitor’s emoji font.

What you get

One screen for every review source on the site.

Any platform, no API required

Typing the figures in is a first-class way to use this. Most review platforms publish no free way to read a business score, so a plugin that insists on an API simply cannot support them.

Shortcodes, a block and Elementor

Rating, count, count rounded down, stars, a full badge, a link to your review page — as shortcodes, as a block for the block editor, and as an Elementor widget.

Combined across platforms

Total reviews and a count-weighted average rating across every platform at once, correct even when platforms score out of different maximums.

Part-filled stars drawn as shapes

A 4.3 does not round up to five, and the display does not depend on which emoji font the visitor happens to have.

Optional Google sync

Once a day, in the background, from your server. Off by default — every source starts manual.

WP-CLI

wp rvnum list, sync, sync --source=google, and set google --rating=4.9 --count=231.

Built so the numbers stay right

The four ways a figure on a page goes stale, closed off.

Page caches are cleared when the figures change

Without that, a site behind a caching plugin keeps serving yesterday’s numbers and looks broken.

A bad fetch cannot wipe your numbers

If a sync comes back with a lower review count or a rating that jumped, the figure is held for you to approve rather than published.

Nothing goes stale in silence

If a source stops syncing, its fetched figures are dropped after a window you choose and the figures you typed take over. Site Health reports how long each source has gone without a sync.

Your API key is not autoloaded

Credentials live in an option read only in the admin and on cron, never on a front-end request.

Reference

The shortcodes.

Add source="key" to any of them to name a source. Without it, the default source is used.

ShortcodeShows
[rvnum_rating]The rating on its own
[rvnum_count]The exact review count
[rvnum_count_rounded step="25"]The count rounded down, never up
[rvnum_stars]Stars, including part-filled ones
[rvnum_badge]Name, rating, stars and count together
[rvnum_link text="Read our reviews"]A link to your review page
[rvnum_label]The platform name
[rvnum_total]Every source added together
[rvnum_average]Every source averaged, weighted by review count

External services

It contacts nothing until you tell it to.

With every source left on manual — which is the default — the plugin never makes an external connection at all.

If you switch a Google source to automatic, it sends one request a day to the Google Places API, from your server, on a scheduled task. Each request contains the Place ID and the API key you entered. No visitor data, no personal data and no information about your site’s traffic is sent, and no request is ever made during a visitor’s page load.

The rating and review count returned are stored in your own database so pages render without contacting Google, and are deleted once they pass the staleness window you set.

Using that feature means agreeing to Google’s terms, which govern how their content may be stored and require attribution alongside it. Google also requires a billing card on the Cloud project before it will issue a key, even when usage stays inside the free allowance.

Questions

Before you install it.

Do I need a Google API key?
No. Typing the figures in is the default and works for every platform. The API key is only needed if you want a Google source to update itself once a day.
Which platforms can sync automatically?
Google, through the Places API. Every other platform in the list is there for figures you enter yourself, because they either publish no public API for a business’s own aggregate score or put one behind a paid plan. The plugin says so on screen rather than offering a setting that cannot work.
I changed the number but the page still shows the old one.
That is a page cache. The plugin clears the caches of the common caching plugins automatically, and you can turn that off under Display and sync. If your cache is somewhere else, such as at your CDN, hook the rvnum_values_changed action to clear it.
Can I show figures from more than one platform at once?
Yes. Add as many sources as you like and each keeps its own figures. [rvnum_total] adds every source together, and [rvnum_average] averages them weighted by review count — correct even when platforms score out of different maximums.
Does it slow the front end down?
No. The front end never makes an HTTP request. Figures are read from a single small autoloaded option, and syncing happens on a schedule rather than during a page load.

Install it from your own dashboard.

Plugins → Add New → search for “Review Count & Star Rating”. Free, GPL, and it works without an API key.