{"id":337116,"date":"2026-08-28T10:24:18","date_gmt":"2026-08-28T10:24:18","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/review-starter\/"},"modified":"2026-08-28T10:23:47","modified_gmt":"2026-08-28T10:23:47","slug":"ocw-reviews","status":"publish","type":"plugin","link":"https:\/\/test.wordpress.org\/plugins\/ocw-reviews\/","author":23477174,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"2.10.0","stable_tag":"2.10.0","tested":"7.1","requires":"6.0","requires_php":"8.0","requires_plugins":null,"header_name":"OCW Reviews","header_author":"Adviespraktijk OCW","header_description":"Collect and display customer reviews via WhatsApp or email invitations. Link reviews to services or products, send automatic thank-you emails, and show them in card layouts. Independent plugin, not affiliated with or endorsed by WhatsApp\/Meta or Google.","assets_banners_color":"67737c","last_updated":"2026-08-28 10:23:47","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/onlinecursuswebsites.nl\/ocw-reviews","header_author_uri":"https:\/\/onlinecursuswebsites.nl","rating":0,"author_block_rating":0,"active_installs":0,"downloads":81,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"2.10.0":{"tag":"2.10.0","author":"adviespraktijkocw","date":"2026-08-28 10:23:47","revision":3670149}},"upgrade_notice":{"2.10.0":"<p>Security and escaping hardening for the WordPress.org directory. The shortcodes gained <code>rvst_<\/code> names; the old ones keep working, so nothing on your pages needs changing.<\/p>","2.3.0":"<p>Renamed to OCW Reviews and made fully free and self-contained \u2014 no license checks, no locked features, and no phone-home. Gravatar avatars are now opt-in and off by default.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3670148,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3670148,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3670148,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3670148,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["2.10.0"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3670148,"resolution":"1","location":"assets","locale":"","width":1280,"height":759},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3670148,"resolution":"2","location":"assets","locale":"","width":1280,"height":662},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3670148,"resolution":"3","location":"assets","locale":"","width":1280,"height":558},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3670148,"resolution":"4","location":"assets","locale":"","width":1280,"height":658},"screenshot-5.png":{"filename":"screenshot-5.png","revision":3670148,"resolution":"5","location":"assets","locale":"","width":1280,"height":798}},"screenshots":{"1":"Review submission form","2":"Reviews card grid","3":"Invitations admin page","4":"Invitation Log","5":"Tutorial \/ Getting started page"}},"plugin_section":[],"plugin_tags":[25588,8203,1519,2293,1518],"plugin_category":[53],"plugin_contributors":[266795],"plugin_business_model":[],"class_list":["post-337116","plugin","type-plugin","status-publish","hentry","plugin_tags-customer-reviews","plugin_tags-ratings","plugin_tags-reviews","plugin_tags-star-rating","plugin_tags-testimonials","plugin_category-ratings-and-reviews","plugin_contributors-adviespraktijkocw","plugin_committers-adviespraktijkocw"],"banners":{"banner":"https:\/\/ps.w.org\/ocw-reviews\/assets\/banner-772x250.png?rev=3670148","banner_2x":"https:\/\/ps.w.org\/ocw-reviews\/assets\/banner-1544x500.png?rev=3670148","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/ocw-reviews\/assets\/icon-128x128.png?rev=3670148","icon_2x":"https:\/\/ps.w.org\/ocw-reviews\/assets\/icon-256x256.png?rev=3670148","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/ocw-reviews\/assets\/screenshot-1.png?rev=3670148","caption":"Review submission form"},{"src":"https:\/\/ps.w.org\/ocw-reviews\/assets\/screenshot-2.png?rev=3670148","caption":"Reviews card grid"},{"src":"https:\/\/ps.w.org\/ocw-reviews\/assets\/screenshot-3.png?rev=3670148","caption":"Invitations admin page"},{"src":"https:\/\/ps.w.org\/ocw-reviews\/assets\/screenshot-4.png?rev=3670148","caption":"Invitation Log"},{"src":"https:\/\/ps.w.org\/ocw-reviews\/assets\/screenshot-5.png?rev=3670148","caption":"Tutorial \/ Getting started page"}],"raw_content":"<!--section=description-->\n<p>OCW Reviews helps you collect, manage and display customer reviews directly on your WordPress site \u2014 no external widgets, no subscriptions, and no vendor lock-in. Invite customers by email or WhatsApp, track responses with secure tokens, and display approved reviews using flexible shortcodes and a clean card layout.<\/p>\n\n<p>The plugin is fully functional and free. Nothing is locked or time-limited.<\/p>\n\n<p>This is an independent plugin. It is not affiliated with, endorsed by or sponsored by WhatsApp LLC, Meta Platforms, Inc., Google LLC or Automattic. \"WhatsApp\", \"Google\" and \"Gravatar\" are the trademarks of their respective owners and are used here only to say what the plugin talks to.<\/p>\n\n<h4>Features<\/h4>\n\n<ul>\n<li>Custom Post Type for reviews and a service\/product taxonomy<\/li>\n<li>Star ratings and optional anonymous display (names are partially masked)<\/li>\n<li>Reviewer avatars from generated initials, with optional Gravatar (off by default)<\/li>\n<li>Shortcodes: [rvst_reviews], [rvst_review_form], [rvst_reviews_summary]<\/li>\n<li>Invitation system via email or WhatsApp with per-invite tracking tokens<\/li>\n<li>Invitation Log drag-and-drop workflow board (Invited \u2192 Reminded \u2192 Responded \u2192 No response) with an automatic 8-day reminder<\/li>\n<li>Fully editable email templates (subject, header, body, footer) for invitations, reminders and thank-you emails<\/li>\n<li>Automatic thank-you email and an automatic reminder workflow<\/li>\n<li>Setup wizard and tutorial page<\/li>\n<li>Honeypot and rate-limiting to reduce spam<\/li>\n<li>Fully self-hosted \u2014 the free plugin makes no outgoing third-party calls unless you enable Gravatar<\/li>\n<\/ul>\n\n<h4>Optional PRO version<\/h4>\n\n<p>A separate, optional premium plugin \u2014 OCW Reviews PRO \u2014 is available from https:\/\/onlinecursuswebsites.nl\/review-starter-pro and adds extra features on top of this free plugin: CSV bulk import &amp; bulk invitations, automatic review requests from WooCommerce orders, SEO rich snippets (star ratings in Google results), reviewer photo upload, extra card designs, webhooks, and Google Reviews import. It is a standalone download and is <strong>not<\/strong> part of this free plugin; installing it simply adds those extra features. Nothing in this free plugin is disabled or gated.<\/p>\n\n<h3>Shortcodes<\/h3>\n\n<ul>\n<li><code>[rvst_reviews]<\/code> \u2014 displays approved reviews as cards. Attributes: <code>service<\/code> (a service\/product slug or ID, or a comma-separated list to combine several, e.g. <code>service=\"mvk-player,rankly\"<\/code>), <code>columns<\/code>, <code>per_page<\/code>, <code>orderby<\/code>, <code>order<\/code>.<\/li>\n<li><code>[rvst_review_form]<\/code> \u2014 displays the review submission form. Attribute: <code>service<\/code> (a single service\/product to pre-select).<\/li>\n<li><code>[rvst_reviews_summary]<\/code> \u2014 displays average rating and total review count. Attribute: <code>service<\/code> (slug\/ID, or a comma-separated list).<\/li>\n<\/ul>\n\n<p>The older names <code>[review_starter]<\/code>, <code>[review_starter_form]<\/code> and <code>[review_starter_summary]<\/code> still work and do exactly the same thing, so pages written before version 2.10.0 keep working untouched. Use the <code>rvst_<\/code> names for anything new.<\/p>\n\n<h3>External services<\/h3>\n\n<p>The plugin works without contacting anything. Two things reach outside the site, and both need a deliberate action first.<\/p>\n\n<p><strong>Gravatar (Automattic, Inc.) \u2014 optional, off by default<\/strong>\nWhat it is used for: showing a reviewer's own avatar on a review card instead of their generated initials.\nWhen it happens: only while <strong>Settings \u2192 Display \u2192 Show Gravatar avatars<\/strong> is switched on, and only for reviews that carry an email address and are not marked anonymous. The card is rendered by the visitor's browser, which then requests the image from gravatar.com.\nWhat is sent: an MD5 hash of the reviewer's email address, as part of the image URL, plus whatever the visitor's browser sends with any image request (IP address, user agent).\nTurn it off and nothing is sent. The setting ships off.\nTerms: https:\/\/automattic.com\/terms\/ \u2014 Privacy: https:\/\/automattic.com\/privacy\/<\/p>\n\n<p><strong>WhatsApp (WhatsApp LLC \/ Meta Platforms, Inc.) \u2014 only when you click Send<\/strong>\nWhat it is used for: opening WhatsApp with your invitation text pre-filled, so you can send it yourself.\nWhen it happens: only when you choose WhatsApp as the channel and click Send on the Invitations page. The plugin builds a <code>https:\/\/wa.me\/...<\/code> link and your browser opens it; the site's server never calls WhatsApp and no message is sent without you pressing send in WhatsApp itself.\nWhat is sent: the phone number you entered and the invitation text, as part of that URL.\nTerms: https:\/\/www.whatsapp.com\/legal\/terms-of-service \u2014 Privacy: https:\/\/www.whatsapp.com\/legal\/privacy-policy<\/p>\n\n<p>Nothing else leaves the site: no analytics, no licence check, no phone-home. The Getting Started link on the tutorial page is an ordinary link to Vimeo that opens only if you click it; no video is embedded.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Go to <strong>WordPress Admin \u2192 Plugins \u2192 Add New \u2192 Upload Plugin<\/strong><\/li>\n<li>Upload the ZIP and click <strong>Install Now<\/strong>, then <strong>Activate<\/strong><\/li>\n<li>The setup wizard opens automatically \u2014 follow the steps to configure the plugin<\/li>\n<li>Place <code>[rvst_review_form]<\/code> on a page where customers can leave reviews<\/li>\n<li>Place <code>[rvst_reviews]<\/code> on a page where you want to display them<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"is%20there%20a%20getting-started%20video%3F\"><h3>Is there a getting-started video?<\/h3><\/dt>\n<dd><p>Yes. The Getting Started video walks you through installation, the setup wizard, placing the shortcodes and sending your first invitation: https:\/\/vimeo.com\/1207758228<\/p><\/dd>\n<dt id=\"does%20the%20plugin%20contact%20external%20services%3F\"><h3>Does the plugin contact external services?<\/h3><\/dt>\n<dd><p>By default, no. The only optional third-party request is Gravatar for reviewer avatars, which is turned off by default. You can enable it under Settings \u2192 Display; when enabled, the reviewer's email hash is sent to gravatar.com to fetch the avatar image.<\/p><\/dd>\n<dt id=\"what%20data%20is%20collected%3F\"><h3>What data is collected?<\/h3><\/dt>\n<dd><p>Reviewer name, review text, optional email\/company\/website and rating. IP addresses are stored for spam protection. Invitations store recipient name and email\/phone with a unique tracking token. Nothing is sent off your site except optional Gravatar avatars (see above) and the emails you choose to send via your own mail setup.<\/p><\/dd>\n<dt id=\"how%20are%20reviewers%27%20avatars%20chosen%3F\"><h3>How are reviewers' avatars chosen?<\/h3><\/dt>\n<dd><p>Generated coloured initials by default. If you enable Gravatar under Settings \u2192 Display, an avatar based on the reviewer's email is used when available.<\/p><\/dd>\n<dt id=\"can%20i%20anonymize%20reviewer%20names%3F\"><h3>Can I anonymize reviewer names?<\/h3><\/dt>\n<dd><p>Yes. Each review can be marked anonymous and the display name will be masked.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>2.10.0<\/h4>\n\n<ul>\n<li>Fixed: the Tutorial and the Upgrade page still called the email template editor a PRO feature, although 2.9.0 made it free for everyone.<\/li>\n<li>OCW Reviews PRO is now an add-on that installs alongside this plugin instead of replacing it. Both can be active at once; neither deactivates the other any more.<\/li>\n<li>Shortcodes are now <code>[rvst_reviews]<\/code>, <code>[rvst_review_form]<\/code> and <code>[rvst_reviews_summary]<\/code>. The old <code>[review_starter\u2026]<\/code> names still work, so existing pages are unaffected.<\/li>\n<li>Hardening pass for the WordPress.org review: everything the plugin prints is escaped on the way out, form input is sanitised, the term-meta save verifies its nonce, and the rate limiter no longer trusts a header the visitor can forge.<\/li>\n<li>The plugin no longer switches off another plugin for you; it says which one to deactivate and leaves that to you.<\/li>\n<li>New <code>External services<\/code> section in this readme: exactly what Gravatar and WhatsApp receive, and what has to happen first. Neither is contacted on its own.<\/li>\n<li>The translation template shipped empty since 2.3.0 and now actually contains the plugin's strings, so it can be translated.<\/li>\n<li>Tested up to WordPress 7.1.<\/li>\n<\/ul>\n\n<h4>2.9.0<\/h4>\n\n<ul>\n<li>All features are now fully free and functional: editable email templates (invitation\/reminder\/thank-you), automatic thank-you + reminder workflow, and the drag-and-drop Invitation Log board. Removed all PRO gating from the free plugin.<\/li>\n<\/ul>\n\n<h4>2.8.2 \u2014 2026-07-09<\/h4>\n\n<ul>\n<li>Fixed: responded cards can no longer be dragged back into the workflow; existing installs keep their WhatsApp invite text on update.<\/li>\n<\/ul>\n\n<h4>2.8.1 \u2014 2026-07-09<\/h4>\n\n<ul>\n<li>Added: a per-invite WhatsApp message box on the Send Invitation page (shown for WhatsApp, pre-filled with your saved text) so you can personalise each invite.<\/li>\n<\/ul>\n\n<h4>2.8.0 \u2014 2026-07-09<\/h4>\n\n<ul>\n<li>Added: Invitation Log drag-and-drop workflow board (Invited \/ Reminded \/ Responded \/ No response).<\/li>\n<\/ul>\n\n<h4>2.7.0 \u2014 2026-07-09<\/h4>\n\n<ul>\n<li>Added: invitation workflow stages (Invited\/Reminded\/Responded\/No-response) in the Invitation Log with a daily cron and a direct review link on response.<\/li>\n<\/ul>\n\n<h4>2.6.1 \u2014 2026-07-09<\/h4>\n\n<ul>\n<li>Fixed: settings cards collapsed to a narrow sliver on several tabs. Rebuilt the two-column layout with flexbox so cards keep a readable width. Clear your CSS cache after updating.<\/li>\n<\/ul>\n\n<h4>2.6.0 \u2014 2026-07-09<\/h4>\n\n<ul>\n<li>Changed: Email tab rebuilt \u2014 Invitation\/Reminder\/Thank You order, each with Subject\/Header\/Body\/Footer. WhatsApp tab gets its own short message.<\/li>\n<\/ul>\n\n<h4>2.5.1 \u2014 2026-07-09<\/h4>\n\n<ul>\n<li>Fixed: settings cards on the General\/Display tabs collapsed to a narrow sliver after 2.5.0. The two-column layout now keeps a readable minimum width.<\/li>\n<\/ul>\n\n<h4>2.5.0 \u2014 2026-07-09<\/h4>\n\n<ul>\n<li>Changed: settings UI polish \u2014 left-aligned cards, Invitations tab renamed to WhatsApp, and a Parameters + Examples section on the Reference tab.<\/li>\n<\/ul>\n\n<h4>2.4.1 \u2014 2026-07-09<\/h4>\n\n<ul>\n<li>Fixed: email fields are saved reliably again \u2014 the save no longer re-checks the licence at save time (which could discard edits). Matches PRO 2.4.1.<\/li>\n<\/ul>\n\n<h4>2.4.0 \u2014 2026-07-09<\/h4>\n\n<ul>\n<li>Changed: editing email texts and the Thank You \/ Reminder emails are now PRO features, shown locked with an upgrade link. The free plugin sends invitations with a fixed default English text. From Name\/Email stay editable.<\/li>\n<\/ul>\n\n<h4>2.3.4 \u2014 2026-07-09<\/h4>\n\n<ul>\n<li>Fixed: rebuilt the duplicate-copy guard so it actually prevents the \"Cannot redeclare rvst_activate()\" fatal. Core declarations moved to a separate file loaded only after the guard runs. Matches PRO 2.3.4.<\/li>\n<\/ul>\n\n<h4>2.3.3 \u2014 2026-07-09<\/h4>\n\n<ul>\n<li>Fixed: redeclaration fatal (\"Cannot redeclare rvst_activate()\") is now prevented against any duplicate copy, and the legacy \"Review Starter\" plugin is deactivated automatically. Delete old duplicate copies of the plugin.<\/li>\n<\/ul>\n\n<h4>2.3.2 \u2014 2026-07-09<\/h4>\n\n<ul>\n<li>Fixed: fatal error \"Cannot redeclare class Review_Starter\" when the free plugin was loaded alongside OCW Reviews PRO. PRO already includes all free features, so the free plugin now stands down (deactivates itself) when PRO is active.<\/li>\n<\/ul>\n\n<h4>2.3.1<\/h4>\n\n<ul>\n<li>Maintenance release to keep the free plugin in sync with OCW Reviews PRO 2.3.1. No functional changes to the free plugin.<\/li>\n<\/ul>\n\n<h4>2.3.0<\/h4>\n\n<ul>\n<li>Renamed the plugin to OCW Reviews.<\/li>\n<li>Removed all premium\/license code: the plugin on WordPress.org is now fully free and self-contained, with no locked features, license checks or update\/phone-home calls. Premium features live in the separate optional OCW Reviews PRO plugin.<\/li>\n<li>Gravatar avatars are now opt-in and off by default (Settings \u2192 Display); coloured initials are used otherwise. No third-party request is made unless you enable it.<\/li>\n<li>Hardened input handling: all request data is unslashed and sanitized, including nonce values.<\/li>\n<li>Moved the remaining inline admin script into the enqueued admin script.<\/li>\n<\/ul>\n\n<h4>2.2.2<\/h4>\n\n<ul>\n<li>Maintenance release.<\/li>\n<\/ul>\n\n<h4>2.2.1<\/h4>\n\n<ul>\n<li>The <code>service<\/code> attribute on <code>[review_starter]<\/code> and <code>[review_starter_summary]<\/code> now accepts a comma-separated list, so you can show reviews for several specific products in one shortcode.<\/li>\n<\/ul>\n\n<h4>2.2.0<\/h4>\n\n<ul>\n<li>Fully editable email templates and automatic thank-you + reminder emails.<\/li>\n<li>Added a Getting Started video link to the FAQ.<\/li>\n<\/ul>\n\n<h4>2.1.0<\/h4>\n\n<ul>\n<li>Security: hardened outgoing emails against header injection.<\/li>\n<li>Privacy: documented which personal data is processed.<\/li>\n<li>Uninstall: collected reviews and services are retained as site content; settings and invitation tokens are removed.<\/li>\n<li>Compatibility: tested up to WordPress 7.0.<\/li>\n<\/ul>\n\n<h4>2.0.0<\/h4>\n\n<ul>\n<li>New Tutorial submenu with progress detection and reset button.<\/li>\n<li>Refreshed admin design.<\/li>\n<\/ul>\n\n<h4>1.2.0<\/h4>\n\n<ul>\n<li>Configurable brand colour + star colour.<\/li>\n<\/ul>\n\n<h4>1.1.0<\/h4>\n\n<ul>\n<li>Invitation tracking with a custom database table.<\/li>\n<li>Token-based mapping from invite to review.<\/li>\n<li>Invitation Log admin page with resend button.<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release.<\/li>\n<\/ul>","raw_excerpt":"Collect customer reviews via email or WhatsApp invitations and display them in clean card layouts. Self-hosted and privacy-first.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/test.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/337116","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/test.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/test.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/test.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=337116"}],"author":[{"embeddable":true,"href":"https:\/\/test.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/adviespraktijkocw"}],"wp:attachment":[{"href":"https:\/\/test.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=337116"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/test.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=337116"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/test.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=337116"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/test.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=337116"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/test.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=337116"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/test.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=337116"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}