| 开发者 | australcode |
|---|---|
| 更新时间 | 2026年10月22日 22:33 |
| PHP版本: | 8.1 及以上 |
| WordPress版本: | 7.1 |
| 版权: | GPL-2.0-or-later |
| 版权网址: | 版权信息 |
/wp-content/plugins or install it from the Plugins screen in WordPress.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.
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.
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.
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.
No. Reminders are sent from your own server, so there is no monthly cap on how many you send.
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.
No. Assets load only on pages where reviews are shown, and the storefront script needs no jQuery.
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.
No. Reviews are native WooCommerce reviews stored in your database. The plugin does not send your data to any third party.
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.
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.
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).
Yes. HPOS compatibility is declared.
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.
[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).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.
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).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).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.
wp acprv recalc build their database queries in a way Plugin Check no longer flags. No change in behaviour.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.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.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.search="true", block, Bricks, REST search), sort it (including "Most helpful"), vote "helpful" from any list, and optionally report a review.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.[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.wp acprv recalc checks and fixes the review count and average rating of every product and of the store.[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.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./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.?acprv-q=) are marked noindex.--store-target is used for the store totals; the totals report what was written and the command ends with an error if anything failed.[acprv_summary] and [acprv_form] shortcodes to place the rating summary and the review form anywhere, independently from the reviews list.[acprv_reviews] shortcode, the Gutenberg block and the Bricks, Elementor and Divi widgets.