WordPress.org

Plugin Directory

Australcode Product Reviews & Review Reminders for WooCommerce

Australcode Product Reviews & Review Reminders for WooCommerce

Description

Your reviews live in your own database, and the review reminder emails leave from your own server — nothing to cap, nothing to cut off.

Australcode Product Reviews enhances the native WooCommerce reviews and sends automatic review reminder emails from your own site, through Action Scheduler.

Two things follow from that. The consent opt-in can be geo-aware: ask for it where the GDPR asks for it (by default the EEA — EU plus Iceland, Liechtenstein and Norway — and the UK) and skip it where no consent was ever required, such as Chile and Latin America. And the reviews look right on your theme out of the box, on light and dark themes, with no setup.

Switching from a review service? Import your reviews from Judge.me, CusRev, Yotpo or any CSV — with their approval status, titles, photos and store replies — and export them again whenever you want.

Why it is different

  • Truly self-hosted — reminders are sent from your server with Action Scheduler. No monthly cap on invitations and no third-party account required.
  • You own your data — reviews are stored as native WooCommerce reviews in your database. Uninstalling the plugin never deletes them.
  • Geo-aware consent — require the opt-in only where the law asks for it, and respect it everywhere: a customer who leaves it unchecked never gets a reminder.
  • Privacy tools built in — every reminder carries a one-click unsubscribe link, and WordPress’s «Export / Erase personal data» tools cover reminders, review photos, review coupons and the reviews themselves.
  • Honest verified badge — checked live against paid orders, and only when the reviewer proved the email is theirs (a customer account, or the link in the reminder email). A refund removes it.
  • Looks right on your theme, out of the box — the reviews inherit your theme’s font and colours, and hold up on light and dark themes. Keyboard and screen-reader friendly.
  • Lightweight — assets load only where reviews are shown, and the storefront script needs no jQuery.
  • Fully translatable, Spanish included — Spanish (es_CL and es_ES) ships with the plugin for free and paid users alike.
  • Hook-based integration, no template override — it never overwrites WooCommerce templates.

Free features

  • Self-hosted review reminder after purchase (no monthly limit), re-checked right before sending: cancelled or refunded orders, unsubscribed customers and products that no longer accept reviews are skipped
  • Configurable geo-aware consent (per country), in the classic and the block checkout
  • One-click unsubscribe (RFC 8058) in every reminder
  • Photo reviews — off by default; photos stay private until the review is approved, and their location data (EXIF/GPS) is removed
  • Honest verified-buyer badge
  • Rating summary whose bars filter the list, a «with photos» filter, «Show more reviews» without reloading, and a photo lightbox that shows each photo next to its review
  • Helpful votes, one per person
  • Grid, list and compact layouts via shortcode, Gutenberg blocks and Bricks/Elementor/Divi widgets
  • Richer JSON-LD product schema — fills in your product’s brand when nothing else did, without overwriting your theme or SEO plugin
  • Style panel: card style, corner shape and accent/star/badge colours that adapt to your theme
  • Thank-you coupon for reviews — a WooCommerce coupon for verified buyers, one per product, never tied to the star rating, and every review that earned one is labeled as such
  • Google Shopping product reviews feed — publish your ratings so they can appear in Google Shopping
  • Import and export — from Judge.me, CusRev, Yotpo or any CSV (comma, semicolon or tab; UTF-8 or Windows-1252), in the background for large files; export in the same format, with an Excel option for comma-decimal locales

Pro (scale and automation)

The free plugin is fully usable on its own. Pro adds:

  • Follow-up reminders — up to 3 more emails (the 2nd, 3rd and 4th) to customers who have not reviewed yet
  • Visual email editor with test sending
  • Carousel and photo gallery layouts for the reviews widget

Pro is sold by number of sites: 1 site $49/year or $147 lifetime · 5 sites $129/year or $387 lifetime · unlimited sites $229/year or $599 lifetime.

Get Pro

External services

This plugin connects to Freemius for licensing, software updates and (optionally) anonymous usage diagnostics. Freemius is the Merchant of Record for the paid version of Australcode Product Reviews.

When it connects:

  • On activation you may opt in to share basic, non-sensitive environment data. This opt-in is skippable — the free version is 100% functional without opting in.
  • For the paid version, the plugin contacts Freemius to validate your license and deliver automatic updates.
  • The «Contact Us» menu entry opens the Freemius support form. In the free version it is an external link to freemius.com, and opening it already passes your site URL, your site’s login URL, the current admin page URL and this plugin’s public identifiers to Freemius, so the form arrives with your context. In the paid version the same form is embedded inside your dashboard instead. Whatever you then type into the form — your name, email address and message, plus its optional fields, which include WordPress and FTP credentials you may choose to share so we can reproduce a problem — is sent to Freemius when you submit it, so they can route it to us. Those credential fields are optional and blank by default. If you never open «Contact Us», none of this is sent.

What is sent: site URL, WordPress and PHP versions, active plugin/theme information and — only if you opt in or purchase — your license key and account email. Your store data and your customers’ reviews are never sent to Freemius or any other third party: reviews stay in your own database and reminders are sent from your own server.

  • Service provider: Freemius, Inc. — https://freemius.com
  • Terms of Service: https://freemius.com/terms/
  • Privacy Policy: https://freemius.com/privacy/

Screenshots

Blocks

This plugin provides 3 blocks.

  • Review summary Average rating and star distribution of a product.
  • Product reviews Approved reviews from your store as a grid, list or compact list.
  • Review button A button that takes shoppers to the review form of a product.

Installation

  1. Make sure WooCommerce is installed and active.
  2. Upload the plugin to /wp-content/plugins or install it from the Plugins screen in WordPress.
  3. Activate it from the Plugins screen.
  4. Open «Australcode Product Reviews» in the WordPress admin menu to configure it. Your reviews and reminders never leave your site.

There is no opt-in screen on activation and no feature depends on one. To share diagnostic data with us, use the «Opt In» link under the plugin name on the Plugins screen.

If you bought Pro: activating your license does not replace the files already on your site. Download the Pro version from your account, install it over the free one, and the Pro features appear. The License screen in the plugin links straight to that download.

Documentation: https://australcode.io/product-reviews/

FAQ

Can I import my existing reviews?

Yes. Export them as a CSV from Judge.me, CusRev, Yotpo or another review plugin and import them under Australcode Product Reviews Import. The columns are detected for you and previewed before anything is written; reviews are matched to your published products by SKU, product slug, ID or name, and keep their approval status, titles, photos and store replies. Photos are downloaded from the URLs in your file into your Media Library. Large files continue in the background.

Will I lose my reviews if I deactivate or uninstall the plugin?

No. Reviews are stored as native WooCommerce reviews in your own database. Uninstalling only removes the plugin’s own data, and only if you tick that option in Settings.

Is it really free? What does the paid version add?

The core is fully functional and free, with no limits: reminders, consent, unsubscribe and privacy tools, photos, the verified badge, structured data, import/export, review coupons and the Google Shopping reviews feed. Pro adds follow-up reminders, the visual email editor and the carousel and photo gallery layouts.

I bought Pro. Why do I still see the free version?

A license unlocks the Pro download; it does not replace the files already on your site. Install the Pro version — you get it right after activating your license, and you can download it any time from your account — and the Pro features appear. Until you do, the plugin keeps running as the free version. The License screen tells you so and links straight to the download.

Is there a monthly limit on reminders?

No. Reminders are sent from your own server, so there is no monthly cap on how many you send.

Can customers unsubscribe from the reminders?

Yes. Every reminder has an unsubscribe link in the email and a one-click unsubscribe header that mail apps show as a button. An unsubscribed email never receives another reminder from your store; the plugin keeps only a one-way hash of it for that purpose.

Will it slow down my store?

No. Assets load only on pages where reviews are shown, and the storefront script needs no jQuery.

Does it work with page caching (Kinsta, WP Engine, LiteSpeed, WP Rocket)?

Yes. Lists, votes and reports are safe to cache: the «you already voted» state is filled in by the browser. The per-order review form sends Cache-Control: no-store and DONOTCACHEPAGE, but hosts with their own server-side page cache can ignore both: exclude the form address (/review/ or the slug you set, with everything under it) and URLs with acprv-open= (the email open pixel) from the page cache. On Kinsta, ask support or add them in MyKinsta > Tools > Cache.

The form takes the private link out of the address bar on the first visit: it keeps it in a cookie limited to the form address and shows /review/ instead. If the browser blocks cookies, the form still works with the link in the address.

Do my reviews depend on an external service?

No. Reviews are native WooCommerce reviews stored in your database. The plugin does not send your data to any third party.

Does it help me stay GDPR compliant?

Review reminders are marketing emails, so under the GDPR (and the UK GDPR) you need consent before sending them to shoppers in the EEA and the UK. A single global opt-in also asks shoppers in countries where no consent was ever required, and every one of those prompts is a review you do not get.

The opt-in checkbox appears only for customers whose billing country is on your list (by default the EEA — EU plus Iceland, Liechtenstein and Norway — and the UK) and for orders without a billing country; edit the list under Australcode Product Reviews Settings. A customer who sees it and leaves it unchecked never receives reminders. In the Checkout block this needs WooCommerce 9.9 or later; on 8.9–9.8 the checkbox is shown to everyone and respected everywhere; below 8.9 the Checkout block cannot show it.

Every reminder carries an unsubscribe link, the plugin registers with WordPress’s «Export Personal Data» and «Erase Personal Data» tools, suggests a paragraph for your privacy policy, and anonymizes reminder records three years after they close. Your reviews and your customers’ data never leave your site.

This is a technical feature, not legal advice.

Who gets the verified-buyer badge?

A review gets it when the author bought the product in your store (a paid order, checked live) and proved the email is theirs: by being logged in to a customer account, or by writing the review from the link in the reminder email. A refund removes the badge. While the plugin’s badge is on, WooCommerce’s own «(verified owner)» label is hidden, so a review never shows two.

How does the review coupon work?

Turn it on under Australcode Product Reviews Settings Review discount. By default only verified buyers get it, one per product and customer, and never depending on the star rating. Every review that earned a coupon is labeled «Received a discount for reviewing» and left out of the Google Shopping feed, as consumer-protection rules require (FTC 16 CFR §465).

Is it compatible with HPOS (High-Performance Order Storage)?

Yes. HPOS compatibility is declared.

Will the reviews match my theme?

Yes, out of the box. The reviews inherit your theme’s font, and their borders and surfaces derive from your theme’s own text colour, so they hold up on light and dark themes with no setup.

You can fine-tune it under Australcode Product Reviews Settings Display style: accent, star and badge colours, card style and corner shape. Leave a colour empty to keep your theme’s own.

Which shortcodes are there?

  • [acprv_reviews] — the review list. Attributes: product, count, style (grid, list or compact; Pro adds carousel and gallery), columns, min, orderby, order, heading, filters="yes" (rating and photo filters for shoppers), pagination="load_more" with per_page, show_date, show_photos, show_votes, show_product, show_verified, and empty="hide" (print nothing, not even the heading, when there are no reviews to show).
  • [acprv_rating] — a compact rating (stars, average with one decimal and the number of reviews) for product cards and product pages built with a page builder. Attributes: product (current = the product in the loop or on the page, or an ID), count="no" to hide the number of reviews, link="#reviews" to link the number of reviews, and empty="stars" to show empty stars on products without reviews (by default nothing is printed). It works on shop and category pages too.
  • [acprv_summary] — the rating summary of a product.
  • [acprv_form] — a button that takes shoppers to the review form of a product (product, label).

The Widget builder under Australcode Product Reviews Widget builder builds the shortcode with a live preview.

Can I restyle the reviews with CSS?

Yes. Every surface exposes public CSS custom properties. Add this to your theme’s Additional CSS and adjust what you need:

.acfk.acprv-scope {
    --acprv-accent: #0e7a5f;  /* highlighted average, voted state */
    --acprv-star: #f5a623;    /* stars and distribution bars */
    --acprv-star-empty: #999; /* the unfilled part of a rating */
    --acprv-badge: #1a7f37;   /* verified-purchase badge */
    --acprv-card-bg: #ffffff; /* review card background */
    --acprv-cols: 3;          /* fixed grid columns; only when the shortcode
                                 sets columns="1..4" */
}

To follow your theme’s palette instead of a fixed colour, point the variable at one of the presets your theme declares — for example --acprv-accent: var(--wp--preset--color--contrast); on Twenty Twenty-Five.

Shape and spacing come from the shared Australcode design kit and are overridden the same way: --acfk-radius, --acfk-gap, --acfk-hairline.

Can I change the markup or the behaviour from my own code?

Yes. Every hook uses the australcode_product_reviews_ prefix. The short acprv_ names of 0.5 still work and are deprecated.

Storefront filters:

  • australcode_product_reviews_widget_atts — attributes of a widget (shortcode, block or builder) before it renders.
  • australcode_product_reviews_widget_data — the reviews about to be rendered, to reorder or drop some.
  • australcode_product_reviews_widget_html — the final HTML of the list (escape anything you add).
  • australcode_product_reviews_wrapper_classes — classes of the list container.
  • australcode_product_reviews_empty_message — the message of an empty list ('' prints nothing).
  • australcode_product_reviews_layout_renderers and australcode_product_reviews_layout_options — register your own layout and offer it in the block, the Widget builder and the page builders.
  • australcode_product_reviews_verified_badge_label, australcode_product_reviews_verified_badge_title and australcode_product_reviews_verified_badge_classes — text, tooltip and classes of the verified badge (deprecated aliases: acprv_verified_badge_label, acprv_verified_badge_title, acprv_verified_badge_classes).
  • australcode_product_reviews_review_form_classes and australcode_product_reviews_review_form_submit_classes — classes of the review form and its button (deprecated aliases: acprv_review_form_classes, acprv_review_form_submit_classes).
  • australcode_product_reviews_incentive_label — the «Received a discount for reviewing» label.
  • australcode_product_reviews_vote_rate_limit — new helpful votes allowed per visitor and hour.
  • australcode_product_reviews_card_actions( $actions, $comment, $atts ) — HTML of the buttons at the foot of each review card in a list (the helpful vote and «Report» buttons come through here; escape anything you add).
  • australcode_product_reviews_store_label( $label ) — the «Store» label shown instead of a product name on store reviews, in lists that mix products and the store.
  • australcode_product_reviews_store_reply_label( $label ) — the «Reply from » label above the store’s replies to a review.
  • australcode_product_reviews_is_store_reply( $is, $comment ) — whether a reply to a review counts as the store’s reply (by default, one written by a user who can moderate comments, or imported as the source’s reply).
  • australcode_product_reviews_gallery_more_url( $url ) — where the «+N» tile of the Pro gallery layout links to (default #reviews).

Moderation, store reviews and the per-order form:

  • australcode_product_reviews_hold_reason( $reason, $commentdata ) — why a new review is held for approval: rating:N, phrase:<the phrase> or '' to publish it. Runs for new reviews from shoppers (not from users who can moderate comments) that WordPress would otherwise approve; return '' to publish or any non-empty string to hold.
  • australcode_product_reviews_store_keep_comment_form( $keep, $post_id ) — return true to keep WordPress’s comment form on the page that holds the store reviews (it is closed by default, since a comment written there would be a review without a rating).
  • australcode_product_reviews_order_form_post_limit( $limit ) — submissions allowed per per-order form and hour (default 60; each review card sent from the form is one submission; 0 removes the cap).

Reminder and data filters: australcode_product_reviews_reminder_subject, australcode_product_reviews_reminder_body, australcode_product_reviews_reminder_locale, australcode_product_reviews_reminder_eligible_statuses, australcode_product_reviews_reminder_max_order_age_days, australcode_product_reviews_reminder_retention_days, australcode_product_reviews_consent_unknown_country_is_strict, australcode_product_reviews_feed_max_reviews and australcode_product_reviews_erase_review_photos.

Actions: australcode_product_reviews_after_reviews( $atts, $rendered ) (deprecated alias acprv_after_reviews) fires once the review list has finished building — a notification, not a place to print markup, since the shortcode returns its HTML. Also australcode_product_reviews_reminder_sent, australcode_product_reviews_reminder_unsubscribed, australcode_product_reviews_coupon_issued, australcode_product_reviews_reviews_imported and australcode_product_reviews_booted.

Reviews

There are no reviews for this plugin.

Contributors & Developers

“Australcode Product Reviews & Review Reminders for WooCommerce” is open source software. The following people have contributed to this plugin.

Contributors

Changelog

0.7.7

  • Fixed: on the dashboard, the star next to the average rating sat far from the number and looked smaller. It now sits right next to it.

0.7.6

  • Fixed: the review form for an order showed the customer’s name in French-style quotes («…») in English. It now uses English quotes, and the Spanish translations keep their own.

0.7.5

  • Fixed: the dashboard counted the store’s replies as reviews, so «Average rating · 12 reviews» could show with 11 approved reviews, and a reply could appear under «Recent reviews». The counts, the average and the list now include only customer reviews; the star bars of the reviews list skip replies too.
  • Fixed: in the Pro photo gallery layout each photo now fills its tile instead of sitting small inside a larger frame.
  • Fixed: the shortcode box in the widget builder no longer spills out of its card.
  • Changed: on the dashboard, the period selector of the review form funnel sits on one line with its «Apply» button; it stacks only on small screens.
  • Changed: the screenshot captions for reminders and consent now describe what those screens show.

0.7.4

  • Fixed: with «Enable the plugin» turned off, product pages no longer show the plugin’s rating number next to each review’s stars.
  • Fixed: the Product reviews block and the Bricks, Elementor and Divi elements no longer repeat the product name on every card of a single product’s list, the same as the shortcode since 0.7.0. «Show product name» still forces it on or off; in Elementor and Divi it now has an «Auto» choice, and widgets that already had it set keep their choice.
  • Fixed: the Pro and license screen (what Pro adds, license status, renewal) is translated again in Spanish (Chile and Spain).
  • Changed: the Site Reviews import and wp acprv recalc build their database queries in a way Plugin Check no longer flags. No change in behaviour.
  • Developers: the hooks added in 0.7.0 are now documented in the FAQ («Can I change the markup or the behaviour from my own code?»).

0.7.3

  • Changed: the plugin’s page now lives at https://australcode.io/product-reviews/ (the old address redirects there).
  • Fixed: the per-order review form could be stored by host page caches that ignore Cache-Control: no-store (measured on Kinsta), so a shopper could get another shopper’s form or a stale «not found» page. Every form URL now carries a query argument (acprv_nc), which page caches do not store, and an old link without it is redirected to the same page with it.

0.7.2

  • Changed: wp acprv import site-reviews (without --dry-run) asks you to deactivate Site Reviews first: while it is active it reports a rating of 0 for many products and the recalculated averages came out wrong. The import reads Site Reviews’ data from the database, so it does not need the plugin active.
  • Fixed: with an accent colour set in the settings, the text on buttons switches between white and dark for contrast (a light accent made white button text unreadable).
  • Fixed: «Reviews follow only these rules» no longer releases a review that another plugin (an antispam) held before this one; it only overrides WordPress’s own manual approval.

0.7.1

  • Added: «Reviews follow only these rules» (Settings › Reviews): when WordPress is set to approve every comment manually (often for blog comments), reviews are decided by the plugin’s rules instead, so 4–5 star reviews can publish on their own. Off by default.
  • Added: filters="chips" shows the rating filters as a compact row of chips (All, 5★…1★, With photos), for pages where the summary next to the list already shows the bars.
  • Added: the reminder email uses your WooCommerce email template (logo, colours and footer, like the other store emails). Turn it off in Settings › Reminders to keep the plain layout.
  • Fixed: the star picker of the review form is drawn by the plugin, so it shows stars (not «1 of 5 stars» text) in themes and builders that do not load WooCommerce’s icon font, such as Bricks and block themes.
  • Fixed: the accent colour from the settings now reaches the per-order form, buttons and progress bar (they used the kit’s default green), and form labels no longer take a theme’s label colour.
  • Fixed: the «Sort by» label no longer wraps when the theme makes selects full width, the carousel arrows keep their size, and the review search field has a placeholder.

0.7.0

  • Added: hold new reviews for approval by star rating (N stars or less) or by words and phrases you list (case- and accent-insensitive, whole words). Imported reviews keep their source status.
  • Added: email the store when a review arrives (only pending ones or all, one by one or grouped hourly/daily), with your WooCommerce email template and direct approve/moderate links.
  • Added: optional or required review title, a terms checkbox with a link to your terms page, and a configurable photo limit (1 to 10) in the product review form.
  • Added: shoppers can search the reviews list (shortcode search="true", block, Bricks, REST search), sort it (including «Most helpful»), vote «helpful» from any list, and optionally report a review.
  • Added: store replies are shown under each review in every layout with «Reply from «, and the customer can be emailed when you reply.
  • Changed: the rating of each review on the product page carries the plugin’s translated label and the number next to the stars.
  • Fixed: store replies no longer appear as separate reviews in the reviews list.
  • Added: import from Site Reviews with wp acprv import site-reviews (use --dry-run first). Reviews that came from an existing WooCommerce review are completed instead of duplicated; photos, helpful votes, verified status, owner replies and moderation status come along; a parity report compares every product with Site Reviews. Running it again changes nothing, and wp acprv import undo site-reviews reverts it.
  • Added: store reviews. Reviews about your store, not a product, live on a page you choose (by default the WooCommerce shop page). Show them with [acprv_reviews type="store"], or products and store together with type="all"; the summary, the blocks, the Bricks element and the REST endpoint accept the same option.
  • Added: wp acprv recalc checks and fixes the review count and average rating of every product and of the store.
  • Added: one review form per order. The reminder email now links to a single page (inside your theme, no login) where the customer rates every product of the order, and optionally your store, in a couple of minutes; each review can be sent on its own and edited later from the same link. «I have not tried it yet» skips a product. Address and validity (60 days by default) are configurable.
  • Added: an optional «Review my purchase» button in the WooCommerce «Completed order» email, following the same consent and unsubscribe rules as the reminders.
  • Added: an invitation to review your store on Google, on the thank-you page and optionally in the reminder email. It is shown to every customer whatever their rating and is never tied to the coupon.
  • Added: a review form funnel in the dashboard (invitations sent, emails opened, forms viewed, orders with reviews) and, on each order, a box to copy the form link or send it by WhatsApp.
  • Added: the review coupon can be issued once per order (when its first review from the form is approved) and can exclude products on sale.
  • Added: the {review_form_link} placeholder for the reminder email template.
  • Added: [acprv_rating], a compact rating (stars, average and number of reviews) for product cards and product pages built with a page builder, also on shop and category pages.
  • Added: empty="hide" for [acprv_reviews] (and «Hide when there are no reviews» in the block, «Without reviews» in Bricks) prints nothing when there are no reviews to show.
  • Changed: the per-order form keeps its private link in a cookie after the first visit and shows a clean address (/review/), so the theme’s analytics and the browser history no longer record it. It also sends no-store, no-referrer and noindex headers, opens only for paid orders, and stops opening when the order is refunded, cancelled or failed.
  • Changed: visits from the store team, email link scanners and browser prefetch no longer count as form views in the funnel; a form accepts up to 60 submissions per hour.
  • Changed: «Helpful» and «Report» buttons are always rendered neutral and the browser marks the ones you already used, so cached pages no longer show one visitor’s votes to everyone. Both buttons now name the review they belong to for screen readers.
  • Changed: a review reported again after you approve it starts counting toward the hold threshold from zero; the team gets one email for the first report and one when the threshold is reached, and one person reports a review once, whatever browser they use.
  • Changed: searches made without JavaScript (?acprv-q=) are marked noindex.
  • Fixed: star-rating and phrase moderation rules now apply to reviews sent from the per-order form, including the title and edits (a 5-star review edited to 1 star goes back to pending), and the hold reason is saved for reviews created through the REST API too.
  • Fixed: returning customers whose products were all reviewed already now reach the thank-you page; two cards sent at the same time no longer overwrite each other’s progress; editing a review keeps backslashes and does not re-moderate it when nothing changed; the photo limit message shows the form’s limit.
  • Fixed: activating, updating or changing the form address no longer breaks the theme’s custom post type addresses (rewrite rules are flushed after everything is registered).
  • Fixed: the email open count survives rotating the WordPress salts; the test email no longer creates an empty form.
  • Fixed: store reviews can be voted on and reported, their replies (also imported ones) are shown, and they are included in the grouped review email.
  • Fixed: the «+N» tile of the photo gallery appears when there are more reviews with photos than tiles.
  • Fixed: a new search, filter or sort made while the list is still loading is no longer lost.
  • Fixed: approving imported replies in bulk no longer emails the authors of old reviews.
  • Fixed (Site Reviews import): undoing an import no longer issues coupons for old reviews and never deletes a review it did not create; an interrupted run leaves no half-written reviews (one transaction per review) and the next run recalculates every product; owner replies with «&» are no longer duplicated; reviews without a GMT date get one; the Site Reviews user is used when present; counts are updated once per run instead of once per batch; the Google feed cache is cleared; --store-target is used for the store totals; the totals report what was written and the command ends with an error if anything failed.

0.6.1

  • Fixed: every database query now passes its table name as an escaped identifier instead of building it into the SQL text. No change in behaviour; it clears 19 Plugin Check warnings.
  • Changed: the plugin ships a composer.json again (without any personal data), as Plugin Check expects when the vendor folder is included.

0.6.0

  • Added: one-click unsubscribe in every reminder (link in the email and the List-Unsubscribe header). An unsubscribed email never receives another reminder.
  • Added: WordPress’s «Export / Erase personal data» tools now cover reminders, review photos, review coupons and the reviews themselves (WooCommerce hides product reviews from the core tools), plus a suggested privacy-policy paragraph and a three-year retention for reminder records.
  • Added: reminders are re-checked right before sending and scheduled only once per order and step; cancelled, refunded or trashed orders cancel them, reactivating the plugin puts pending ones back in the queue, and failed sends can be retried from the dashboard.
  • Added: rating filters for shoppers, a «with photos» filter, «Show more reviews» without reloading, a compact layout and a photo lightbox that shows each photo next to its review. New Gutenberg blocks for the summary and the review button.
  • Added (Pro): carousel and photo gallery layouts.
  • Added: import from Judge.me, CusRev and Yotpo exports, semicolon or tab separated and Windows-1252 files, photos and store replies, day/month dates, and large files in the background. Exports can use the Excel format for comma-decimal locales.
  • Changed: consent is now decided by what the customer saw at checkout, in the classic and the block checkout; orders without a billing country ask for consent. New installs start with the EEA and the UK on the list.
  • Changed: the verified badge is checked live and needs proof that the email is the reviewer’s own (an account, or the link in the reminder email); a refund removes it, and only one verified indicator shows per review.
  • Changed: the review coupon goes to verified buyers only, one per product, never depends on the star rating, and every review that earned one is labeled as incentivized and left out of the Google feed.
  • Changed: photo uploads are off by default on new installs; photos stay private until the review is approved and lose their location data. Turning uploads off keeps published photos visible.
  • Changed: Pro is now sold by number of sites (1, 5 or unlimited).
  • Changed: the plugin now runs on PHP 8.1.
  • Fixed: review lists could show reviews of private, draft or password-protected products.
  • Fixed: the rating distribution percentages now add up to 100, and the review count ignores reviews without a rating.
  • Fixed: helpful votes are counted once per person, and guests can vote on cached pages.
  • Fixed: the Google feed only lists eligible reviews as plain text, and refreshes when products change.
  • Fixed: the reminder email is sent in the store’s language and from the store’s address.
  • Fixed: the block editor and every screen are fully translated into Spanish.

0.5.1

  • Fixed: the list of Pro features rendered as a run-on block instead of a bulleted list, because WordPress strips the bullets back out. This affected every licence state, including the «What you get with Pro» screen that free sites see.
  • Improved: the reminder email’s accent colour now has the same control as the rest of your settings — you can type or paste a hex code, and reset it to the default. Until now the colour swatch was the only way in, so a brand colour you had on the clipboard could not be entered.
  • Improved: choosing a CSV to import now uses the plugin’s own file picker and shows the name of the file you picked, instead of the grey button your browser draws by default.
  • Fixed: two admin pages showed a shortened plugin name in the browser tab, so the plugin appeared under two slightly different names depending on where you looked.

0.5.0

  • Added: if your Pro license has lapsed, the plugin now tells you and takes you straight to renewing it, instead of offering you an upgrade you already bought. From the moment you hold a license, the menu entry reads «License» rather than «Upgrade», whatever state that license is in.
  • Fixed: rich snippets no longer carry a GTIN that WooCommerce had deliberately left out. WooCommerce validates GTINs itself and drops the ones that fail its format check, or that belong to the parent product rather than the variation you are viewing — and the plugin was putting them straight back. A valid GTIN for the wrong product is the kind of error no validator catches, so the plugin now leaves GTINs entirely to WooCommerce.
  • Fixed: your brand’s logo no longer disappears from the structured data. The plugin now fills the brand in only when nothing else did, so WooCommerce’s own brand entry — logo included — survives untouched.
  • Fixed: a product with more than one brand value reported a brand that does not exist, by joining them into a single name such as «Acme | Globex». It now reports the first one.
  • Changed: the widget builder adopts the shared panel layout used across our plugins, so the live preview follows you down the page consistently. On screens between 881 and 900 pixels wide the panel now stacks into one column, where before it stayed side by side.
  • Fixed: the bundled LICENSE file was truncated and still carried unfilled template placeholders. It now ships the full GPL-2.0 text with the correct copyright holder.

0.4.2

  • Changed: the plugin is now listed as «Australcode Product Reviews & Review Reminders for WooCommerce», so the review reminders it sends are visible in the name. Nothing else changes — same plugin, same settings, same data.
  • Changed: the «Support Forum» link now takes free users to the WordPress.org support forum, where answers are public and searchable, so the next person with your question finds it too. Paid users keep the direct support channel.
  • Fixed: marking a review as helpful could fail without saying so. The vote now confirms, and tells you when it could not be saved.
  • Fixed: switched-off fields were unreadable. A disabled dropdown was too faint against its background to make out — now both the field and its label are legible.
  • Fixed: the widget builder could not tell «no reviews match these settings» apart from «the preview failed to load», so both looked like an empty result. Each now says which it is, and a failed preview offers to retry.
  • Fixed: the widget builder preview scrolled out of view on wide screens, leaving most of the panel empty. It now follows you down the page.
  • Fixed: on phones, a review was rendered narrower than the summary above it, because of an indent WooCommerce adds for the avatar. Both now line up.
  • Fixed: the review shortcode showed nothing at all on a product with no reviews yet. It now says so.
  • Fixed: the CSV import wizard failed silently when the connection dropped, and did not say which columns it needs before you map them.
  • Fixed: the stars on review cards and the photo hint text did not have enough contrast on light themes.
  • Improved: keyboard focus rings, status badges and status dots are now legible on dark admin colour schemes.

0.4.1

  • Fixed: on phones the «Was this helpful?» button was too small to tap comfortably — it now meets the 44px accessibility minimum, like the rest of the controls. It is the button that repeats on every review, so it is the one you hit most.
  • Fixed: importing or exporting reviews no longer writes deprecation warnings to your error log on PHP 8.4 and newer. The CSV quoting is now stated explicitly, so an export re-imported later comes back byte-identical even after PHP changes its default.

0.4.0

  • Added: Spanish (es-CL and es-ES) now ships with the plugin, for the free version too. Until now the translation was only bundled with the paid version, so free users always saw English.
  • Added: a «Corner shape» option in the style panel — square, soft or round corners for the review widgets.
  • Fixed: the review sorting buttons were invisible on dark themes. They now take their colour from your theme.
  • Fixed: the verified-purchase badge did not have enough contrast to be readable on light or dark themes.
  • Fixed: tap targets on phones — the rating stars, the photo picker and the sorting buttons are now large enough to tap comfortably.
  • Fixed: on block themes, the review summary and the «Write a review» button could sit outside your content column.
  • Fixed: the live preview in the widget builder lost its grid and card borders.
  • Fixed: photos attached to reviews no longer stretch the rows of the WooCommerce review moderation list.
  • Fixed: sorting by rating no longer implies it sorted every review when your reviews are split across pages.
  • Fixed: the review widgets no longer inject themselves into the canvas while you are editing a page in Bricks, Elementor or Divi.
  • Fixed: with a custom email template switched off, its fields now show they are not in effect, and the test email no longer uses a template that will not be sent.
  • Improved: notices from our licensing provider now appear only on this plugin’s own screens instead of across your whole dashboard.
  • Improved: clearer disclosure of what the «Contact Us» link sends, and a GDPR entry in the FAQ.
  • Corrected: the plugin no longer claims WPML and Polylang compatibility — it never implemented it. Nothing changes in how the plugin behaves.

0.3.5

  • Fixed: if you bought Pro but have not installed the Pro version yet, the plugin no longer invites you to buy it again. It now says your license is active and points you to the download.
  • Fixed: on phones, the plugin’s own tabs no longer push the current page out of view — every tab is visible.
  • Improved: the «Manage license» button now opens your account instead of the pricing page.

0.3.4

  • Fixed: right after buying Pro, the free version could report the Pro features as active before the Pro version was installed — so it announced options it could not run yet. It now waits until the Pro version is running.
  • Improved: small refinements to the admin styling, and the translation template now ships with the plugin so anyone can start translating it at translate.wordpress.org.

0.3.3

  • Housekeeping: the free version no longer includes any Pro-only controls. The multi-step reminder options live entirely in the Pro version, in line with the WordPress.org guidelines.
  • Changed: translations are no longer bundled in the download. WordPress.org generates and delivers them automatically through translate.wordpress.org.

0.3.1

  • Housekeeping: the plugin no longer loads its translations manually. WordPress has done this automatically since 4.6, and the Spanish (es-CL, es-ES) translations keep working exactly as before — verified on WordPress 6.5.

0.3.0

  • Now free: automatic discount coupons for reviews. Thank every approved reviewer with a WooCommerce coupon, emailed automatically. This used to require Pro.
  • Now free: the Google Shopping product reviews feed. Publish your ratings so they can appear in Google Shopping. This used to require Pro.
  • Improved: the coupon amount is now capped at 100 for percentage coupons (a fixed cart amount is still uncapped), so a mistyped value cannot create a coupon worth more than the cart.
  • Changed: Pro now focuses on two things, both about scale — multi-step reminders and the visual email editor with test sending.
  • Changed: the Pro code is no longer shipped inside the free download. Pro features are built into the Pro version only, which is what WordPress.org asks for.
  • New: a «Contact Us» entry in the plugin menu, so you can reach us from the plugin itself.
  • Fixed: the colour pickers in Display style now show the colour the plugin actually uses when you leave a field empty. The star swatch offered green while stars render orange.

0.2.1

  • Improved: the License screen now shows what your Pro plan includes instead of an empty page, and the licence box no longer overflows on narrow phones.
  • Fixed: the admin menu entry reads «License» once Pro is active, instead of still inviting you to upgrade.
  • Fixed: the upgrade screens are now fully translated into Spanish (es-CL and es-ES).
  • Fixed: the Pro feature list on the upgrade and settings screens now describes what Pro actually does — it no longer mentions per-country reminder delays or a product feed, neither of which exists.

0.2.0

  • New: Widget builder — a visual admin screen to configure a reviews widget, preview it live and copy a ready-to-paste shortcode.
  • New: [acprv_summary] and [acprv_form] shortcodes to place the rating summary and the review form anywhere, independently from the reviews list.
  • New: per-instance display options (columns, heading, product scope, sort and order, and toggles for date, photos, verified badge, product name and helpful count) for the [acprv_reviews] shortcode, the Gutenberg block and the Bricks, Elementor and Divi widgets.
  • Improved: Spanish (es_CL, es_ES) translations updated to cover the new widget options.

0.1.0

  • Initial release: self-hosted reminder engine, geo-aware consent, verified-buyer badge, rating summary with sorting, photo reviews, helpful votes, JSON-LD structured data, CSV import/export, style panel, and display via shortcode, Gutenberg block and Bricks/Elementor/Divi widgets.