{"id":262540,"date":"2025-11-28T07:07:31","date_gmt":"2025-11-28T07:07:31","guid":{"rendered":"https:\/\/en-gb.wordpress.org\/plugins\/sfr-book-review-showcase\/"},"modified":"2026-02-12T12:17:51","modified_gmt":"2026-02-12T12:17:51","slug":"sfr-book-review-showcase","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/sfr-book-review-showcase\/","author":23375978,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.4.1","stable_tag":"1.4.1","tested":"6.9.4","requires":"6.0","requires_php":"7.4","requires_plugins":null,"header_name":"SFR Book Review Showcase","header_author":"Support From Richard","header_description":"Display curated book reviews with AI-powered extraction and Amazon enrichment.","assets_banners_color":"e7ac01","last_updated":"2026-02-12 12:17:51","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/supportfromrichard.co.uk\/plugins\/sfr-book-review-showcase","header_author_uri":"https:\/\/supportfromrichard.co.uk","rating":0,"author_block_rating":0,"active_installs":10,"downloads":695,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"0.2.2":{"tag":"0.2.2","author":"supportfromrichard","date":"2025-11-28 07:07:08"},"0.2.3":{"tag":"0.2.3","author":"supportfromrichard","date":"2025-12-01 08:45:54"},"1.0.0":{"tag":"1.0.0","author":"supportfromrichard","date":"2025-12-10 08:38:20"},"1.1.1":{"tag":"1.1.1","author":"supportfromrichard","date":"2026-01-05 15:49:04"},"1.2.0":{"tag":"1.2.0","author":"supportfromrichard","date":"2026-01-09 06:47:35"},"1.2.1":{"tag":"1.2.1","author":"supportfromrichard","date":"2026-01-22 14:28:30"},"1.2.2":{"tag":"1.2.2","author":"supportfromrichard","date":"2026-01-22 15:50:47"},"1.3.0":{"tag":"1.3.0","author":"supportfromrichard","date":"2026-01-28 15:35:48"},"1.3.1":{"tag":"1.3.1","author":"supportfromrichard","date":"2026-01-31 09:30:25"},"1.3.3":{"tag":"1.3.3","author":"supportfromrichard","date":"2026-01-31 10:16:12"},"1.4.0":{"tag":"1.4.0","author":"supportfromrichard","date":"2026-02-01 21:26:57"},"1.4.1":{"tag":"1.4.1","author":"supportfromrichard","date":"2026-02-12 12:17:51"}},"upgrade_notice":{"1.4.1":"<p>Hotfix: Removed debug logging that caused errors on live sites. All users on 1.4.0 should update immediately.<\/p>","1.4.0":"<p>Removed Freemius SDK. Rolled back to pre-Freemius codebase. Plugin uses WordPress.org update checks. Upgrade to Pro via menu link. Safe to update - no action required.<\/p>","1.2.1":"<p>Fix: Added Pro version check to prevent block registration conflicts when Pro plugin is active. Safe to update - no action required.<\/p>","1.2.0":"<p>Bug fixes and improvements: title color now matches card text color, enhanced shadow visibility, and improved code standards compliance. All users should update.<\/p>","1.1.1":"<p>Plugin Check compliance fixes: resolved all PreparedSQL errors and warnings. Improved code documentation.<\/p>","1.1.0":"<p>Book Library feature: organize books with multiple formats (Kindle, Paperback, Hardback, Audible, Other). Filter reviews by book title. Block editor dropdowns for book and category selection. Improved accent color styling.<\/p>","1.0.1":"<p>This version fixes a false &quot;Security check failed&quot; error that appeared when creating new reviews. The error did not prevent reviews from being saved but caused confusion. All users should update immediately.<\/p>","1.0.0":"<p>This is a major release marking the plugin as stable and production-ready. Includes important bug fixes, security improvements, and new features for detecting URL\/ASIN mismatches. All users should update immediately.<\/p>","0.2.4":"<p>This version fixes a regex error and adds ASIN change detection to prevent broken affiliate links. All users should update immediately.<\/p>","0.2.3":"<p>This version fixes Amazon Associate tag handling in affiliate URLs and adds auto-generated URL preview on the review form. All users should update immediately.<\/p>","0.2.2":"<p>This version includes critical security fixes for nonce verification and WordPress.org compliance improvements. All users should update immediately.<\/p>","0.2.1":"<p>This version includes important security fixes and WordPress.org compliance updates. All users should update immediately.<\/p>","0.2.0":"<p>This version adds review categories, analytics tracking, and OCR imports. If upgrading from a beta version, run the Plugin Check plugin and clear your caches.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3432885,"resolution":"128x128","location":"assets","locale":""},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3432886,"resolution":"256x256","location":"assets","locale":""}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3432883,"resolution":"1544x500","location":"assets","locale":""},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3432884,"resolution":"772x250","location":"assets","locale":""}},"assets_blueprints":{},"all_blocks":{"sfrbrs\/reviews":{"apiVersion":2,"name":"sfrbrs\/reviews","title":"Book Reviews","category":"widgets","icon":"book-alt","description":"Display curated book reviews from the SFR Book Review Showcase plugin.","attributes":{"layout":{"type":"string","default":"grid"},"limit":{"type":"number","default":6},"featured":{"type":"boolean","default":false},"asin":{"type":"string","default":""},"book":{"type":"string","default":""},"orderby":{"type":"string","default":"review_date"},"order":{"type":"string","default":"DESC"},"category":{"type":"string","default":""},"cardBackground":{"type":"string","default":"#ffffff"},"cardTextColor":{"type":"string","default":"#1f2937"},"accentColor":{"type":"string","default":"#2563eb"},"shadow":{"type":"boolean","default":true},"gap":{"type":"number","default":24},"padding":{"type":"number","default":24},"titleFontSize":{"type":"number","default":20},"bodyFontSize":{"type":"number","default":15},"reviewTextFontSize":{"type":"number","default":15},"showCategories":{"type":"boolean","default":false}},"supports":{"html":false},"editorScript":"sfrbrs-review-block-editor","editorStyle":"sfrbrs-review-block-editor-style"}},"tagged_versions":["0.2.2","0.2.3","1.0.0","1.1.1","1.2.0","1.2.1","1.2.2","1.3.0","1.3.1","1.3.3","1.4.0","1.4.1"],"block_files":[],"assets_screenshots":{"screenshot-5.png":{"filename":"screenshot-5.png","revision":3444953,"resolution":"5","location":"assets","locale":""}},"screenshots":{"1":"Admin list table with filters, search, and bulk actions","2":"Add\/edit review form with Amazon metadata helpers","3":"Book Library page showing books with multiple formats and ASINs","4":"Settings page covering Amazon, OCR, display defaults, and analytics retention","5":"Frontend grid layout with custom styling and load-more pagination","6":"Frontend list layout showing review details and click-through links"},"jetpack_post_was_ever_published":false},"plugin_section":[],"plugin_tags":[369,209,132,47244,1518],"plugin_category":[43,45,53],"plugin_contributors":[249032],"plugin_business_model":[],"class_list":["post-262540","plugin","type-plugin","status-publish","hentry","plugin_tags-affiliate","plugin_tags-amazon","plugin_tags-author","plugin_tags-book-reviews","plugin_tags-testimonials","plugin_category-customization","plugin_category-ecommerce","plugin_category-ratings-and-reviews","plugin_contributors-supportfromrichard","plugin_committers-supportfromrichard"],"banners":{"banner":"https:\/\/ps.w.org\/sfr-book-review-showcase\/assets\/banner-772x250.png?rev=3432884","banner_2x":"https:\/\/ps.w.org\/sfr-book-review-showcase\/assets\/banner-1544x500.png?rev=3432883","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/sfr-book-review-showcase\/assets\/icon-128x128.png?rev=3432885","icon_2x":"https:\/\/ps.w.org\/sfr-book-review-showcase\/assets\/icon-256x256.png?rev=3432886","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/sfr-book-review-showcase\/assets\/screenshot-5.png?rev=3444953","caption":"Frontend grid layout with custom styling and load-more pagination"}],"raw_content":"<!--section=description-->\n<p>SFR Book Review Showcase makes it easy to display book reviews from Amazon on your WordPress site. Perfect for book bloggers, review sites, and authors who want to showcase reader feedback in a professional, customisable format.<\/p>\n\n<p>Whether you're building a book recommendation site, adding social proof to product pages, or creating a curated reading library, this plugin gives you complete control over how reviews appear.<\/p>\n\n<p><strong>What Makes This Plugin Special:<\/strong><\/p>\n\n<ul>\n<li><p><strong>Book Library Management<\/strong> \u2013 Organize books with multiple formats (Kindle, Paperback, Hardback, Audible, Other), each with its own ASIN. Track all formats and review counts in one central location.<\/p><\/li>\n<li><p><strong>Smart Import Options<\/strong> \u2013 Add reviews manually or use the built-in OCR (Optical Character Recognition) helper to extract text directly from review screenshots. Save hours of manual typing.<\/p><\/li>\n<li><p><strong>Flexible Display Options<\/strong> \u2013 Choose between grid or list layouts with full control over colours, typography, spacing, and shadows. Display reviews using shortcodes or the Gutenberg block editor.<\/p><\/li>\n<li><p><strong>Powerful Filtering<\/strong> \u2013 Filter reviews by book title (shows all formats), specific ASIN, category, or featured status. Sort by date, rating, reviewer name, and more.<\/p><\/li>\n<li><p><strong>Review Categories<\/strong> \u2013 Organize reviews into categories like Fiction, Non-fiction, Photography, Mystery, etc. for easy browsing and filtering.<\/p><\/li>\n<li><p><strong>Built-in Analytics<\/strong> \u2013 Track views, clicks, and click-through rates (CTR) for each review. Identify your top-performing reviews and optimize your affiliate marketing strategy.<\/p><\/li>\n<li><p><strong>Amazon Affiliate Integration<\/strong> \u2013 Automatically generate affiliate links with your Amazon Associates ID. Track clicks to measure the effectiveness of your review displays.<\/p><\/li>\n<li><p><strong>Gutenberg Block Support<\/strong> \u2013 Use the \"Book Reviews\" block in the WordPress block editor with visual controls for all styling options. No coding required.<\/p><\/li>\n<li><p><strong>Lightweight &amp; Fast<\/strong> \u2013 All data is stored locally in your WordPress database. No external API calls that slow down your site. Only optional OCR feature connects to external service.<\/p><\/li>\n<li><p><strong>Developer Friendly<\/strong> \u2013 Fully namespaced code prevents conflicts with other plugins. Clean, well-documented codebase following WordPress coding standards.<\/p><\/li>\n<\/ul>\n\n<p><strong>Upgrade to Pro for Advanced Features:<\/strong><\/p>\n\n<p>Looking for more power? <a href=\"https:\/\/supportfromrichard.co.uk\/sfr-book-review-showcase\/?utm_source=WordPress+Repo&amp;utm_medium=referral&amp;utm_campaign=wp-repo\">SFR Book Review Showcase Pro<\/a> includes:<\/p>\n\n<ul>\n<li><strong>Advanced Analytics &amp; Reporting<\/strong> \u2013 Enhanced analytics dashboards with scheduled email reports (weekly\/monthly)<\/li>\n<li><strong>CSV Import &amp; Export<\/strong> \u2013 Bulk import reviews from CSV files or export your entire library<\/li>\n<li><strong>KDP Sales Integration<\/strong> \u2013 Import and track KDP sales data alongside review performance<\/li>\n<li><strong>Elementor Widget<\/strong> \u2013 Dedicated widget for Elementor page builder users<\/li>\n<li><strong>Carousel Block<\/strong> \u2013 Display reviews in a beautiful carousel\/slider format<\/li>\n<li><strong>Advanced Affiliate Tracking<\/strong> \u2013 Enhanced click tracking and affiliate sales monitoring<\/li>\n<li><strong>Premium Layout Templates<\/strong> \u2013 Additional professional layout options<\/li>\n<\/ul>\n\n<p><a href=\"https:\/\/supportfromrichard.co.uk\/sfr-book-review-showcase\/?utm_source=WordPress+Repo&amp;utm_medium=referral&amp;utm_campaign=wp-repo\">Free Pro Trial (no credit card required)<\/a><\/p>\n\n<p><em>This plugin is not affiliated with, endorsed by, or sponsored by Amazon. Amazon is a trademark of Amazon.com, Inc.<\/em><\/p>\n\n<p><strong>Why Use This Plugin?<\/strong><\/p>\n\n<ul>\n<li><strong>Increase conversions<\/strong> \u2013 Display authentic social proof to boost Amazon affiliate earnings<\/li>\n<li><strong>Save time<\/strong> \u2013 Import reviews in seconds instead of manual copy-paste<\/li>\n<li><strong>Build authority<\/strong> \u2013 Create a professional book recommendation site<\/li>\n<li><strong>Easy import<\/strong> \u2013 Capture reviews manually or use the OCR helper to extract text from screenshots<\/li>\n<li><strong>Flexible display<\/strong> \u2013 Grid or list layouts with full control over colours, spacing, and typography<\/li>\n<li><strong>Smart organisation<\/strong> \u2013 Group reviews by category (Fiction, Non-fiction, Photography, etc.)<\/li>\n<li><strong>Track performance<\/strong> \u2013 See which reviews get the most views and clicks<\/li>\n<li><strong>No bloat<\/strong> \u2013 Lightweight, namespaced code that won't conflict with other plugins<\/li>\n<\/ul>\n\n<p><strong>Key Features<\/strong><\/p>\n\n<ul>\n<li><strong>Book Library Management<\/strong> \u2013 Organize books with multiple formats (Kindle, Paperback, Hardback, Audible, Other), each with its own ASIN. View all formats and review counts in one place.<\/li>\n<li>Dedicated admin area with dashboard, paginated <code>WP_List_Table<\/code>, add\/edit form, book library, categories manager, analytics, and settings<\/li>\n<li>Shortcode and dynamic Gutenberg block with grid\/list layouts, customisable colours, typography, spacing, and \"Load more\" pagination<\/li>\n<li>Filter reviews by book title to show all formats of a book, or filter by specific ASIN or category<\/li>\n<li>Review categories for quick grouping (e.g. Fiction, Puzzle Books, Photography)<\/li>\n<li>OCR-based importer powered by OCR.space to pull text from screenshots in a guided workflow<\/li>\n<li>Amazon helpers for ASIN storage per format, associate IDs for affiliate links, and outbound click tracking<\/li>\n<li>Analytics summary (views vs clicks, CTR, top performers) stored locally in custom database tables<\/li>\n<li>Fully namespaced PHP classes (<code>SFRBRS_<\/code>), functions (<code>sfrbrs_<\/code>), CSS, and JS handles to prevent conflicts<\/li>\n<\/ul>\n\n<p><strong>Upgrade to Pro<\/strong><\/p>\n\n<p>The Pro version unlocks powerful features for serious book bloggers and affiliate marketers:<\/p>\n\n<ul>\n<li><strong>Advanced Analytics &amp; Reporting<\/strong> \u2013 Enhanced dashboards with scheduled email reports<\/li>\n<li><strong>CSV Import &amp; Export<\/strong> \u2013 Bulk operations to save hours of manual work<\/li>\n<li><strong>KDP Sales Integration<\/strong> \u2013 Track book sales alongside review performance<\/li>\n<li><strong>Elementor Widget<\/strong> \u2013 Native Elementor integration for drag-and-drop page building<\/li>\n<li><strong>Carousel Block<\/strong> \u2013 Beautiful carousel\/slider display option<\/li>\n<li><strong>Advanced Affiliate Tracking<\/strong> \u2013 Enhanced click tracking and sales monitoring<\/li>\n<li><strong>Premium Layout Templates<\/strong> \u2013 Additional professional design options<\/li>\n<\/ul>\n\n<p><a href=\"https:\/\/supportfromrichard.co.uk\/sfr-book-review-showcase\/?utm_source=WordPress+Repo&amp;utm_medium=referral&amp;utm_campaign=wp-repo\">Free Pro Trial (no credit card required)<\/a><\/p>\n\n<p><strong>Shortcode &amp; Block Usage<\/strong><\/p>\n\n<pre><code>[sfr_book_reviews]\n<\/code><\/pre>\n\n<p>Supported attributes (camelCase or kebab-case):<\/p>\n\n<ul>\n<li><code>layout<\/code> (grid|list, default grid)<\/li>\n<li><code>limit<\/code> (1-50, default 6)<\/li>\n<li><code>featured<\/code> (true|false)<\/li>\n<li><code>asin<\/code> (single ASIN)<\/li>\n<li><code>book<\/code> (book title - shows reviews for all formats of the book)<\/li>\n<li><code>category<\/code> (comma-separated slugs)<\/li>\n<li><code>orderby<\/code> (review_date, star_rating, reviewer_name, asin, status, created_at)<\/li>\n<li><code>order<\/code> (ASC|DESC, default DESC)<\/li>\n<li><code>cardBackground<\/code>, <code>cardTextColor<\/code>, <code>accentColor<\/code> (hex colours)<\/li>\n<li><code>shadow<\/code> (true|false, enables card drop shadow)<\/li>\n<li><code>gap<\/code>, <code>padding<\/code> (pixels)<\/li>\n<li><code>titleFontSize<\/code>, <code>bodyFontSize<\/code>, <code>reviewTextFontSize<\/code> (pixels)<\/li>\n<li><code>showCategories<\/code> (true|false, shows category badges, default false)<\/li>\n<\/ul>\n\n<p>Examples:<\/p>\n\n<ul>\n<li><code>[sfr_book_reviews featured=\"true\" category=\"fiction\"]<\/code><\/li>\n<li><code>[sfr_book_reviews asin=\"B09EXAMPLE\" layout=\"list\" limit=\"3\"]<\/code><\/li>\n<li><code>[sfr_book_reviews book=\"The Great Gatsby\" layout=\"grid\"]<\/code><\/li>\n<li><code>[sfr_book_reviews shadow=\"false\" cardBackground=\"#f8fafc\" accentColor=\"#F97316\"]<\/code><\/li>\n<li><code>[sfr_book_reviews category=\"fiction,mystery\" featured=\"true\" layout=\"grid\" limit=\"9\" shadow=\"true\" accentColor=\"#DC2626\"]<\/code><\/li>\n<\/ul>\n\n<h3>External services<\/h3>\n\n<p>This plugin connects to external services to provide certain features:<\/p>\n\n<h4>OCR.space API<\/h4>\n\n<p>The plugin uses OCR.space's API (powered by Tesseract OCR) to extract text from review screenshots when using the OCR import feature. This service is only used when you explicitly choose to import a review via the OCR helper workflow.<\/p>\n\n<p><strong>What data is sent:<\/strong>\n* Base64-encoded image data (screenshots you upload through the WordPress media library)\n* Image metadata (MIME type, language preference)<\/p>\n\n<p><strong>When data is sent:<\/strong>\n* Only when you use the OCR import feature in the admin area\n* Images are sent immediately when you click \"Extract Text\" during the OCR import process\n* No data is sent automatically or in the background<\/p>\n\n<p><strong>Service provider:<\/strong>\n* OCR.space (https:\/\/ocr.space\/)\n* Terms of Service: https:\/\/ocr.space\/ocrapi\/TermsOfService\n* Privacy Policy: https:\/\/ocr.space\/ocrapi\/PrivacyPolicy<\/p>\n\n<p><strong>Note:<\/strong> The plugin uses OCR.space's free API tier by default. You can optionally configure your own API key in the plugin settings if you have an OCR.space account.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the plugin folder to <code>wp-content\/plugins\/<\/code> or install via Plugins \u2192 Add New<\/li>\n<li>Activate the plugin from the Plugins screen<\/li>\n<li>Visit <strong>Book Reviews \u2192 Settings<\/strong> to configure:\n\n<ul>\n<li>Amazon Associates ID (for affiliate commissions)<\/li>\n<li>Default styling (colors, layouts)<\/li>\n<li>OCR preferences (optional)<\/li>\n<\/ul><\/li>\n<li>Add books to your <strong>Book Library<\/strong> with multiple formats (Kindle, Paperback, Hardback, Audible, Other) and their ASINs<\/li>\n<li>Add reviews under <strong>Book Reviews \u2192 All Reviews<\/strong> or import via the OCR helper, linking them to books and formats<\/li>\n<li>Use the shortcode or Gutenberg block to display reviews anywhere on your site<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"is%20this%20compliant%20with%20amazon%27s%20terms%20of%20service%3F\"><h3>Is this compliant with Amazon's terms of service?<\/h3><\/dt>\n<dd><p>Reviews are displayed as quotes with proper attribution and link back to Amazon. Always ensure your use complies with Amazon's current Associate Programme Operating Agreement and your local regulations.<\/p><\/dd>\n<dt id=\"will%20this%20slow%20down%20my%20site%3F\"><h3>Will this slow down my site?<\/h3><\/dt>\n<dd><p>No. Reviews are stored in your database and served locally. The only external calls are optional (OCR imports), which don't affect front-end performance. The plugin does not make API calls to Amazon.<\/p><\/dd>\n<dt id=\"how%20are%20reviews%20stored%3F\"><h3>How are reviews stored?<\/h3><\/dt>\n<dd><p>Reviews are stored in the custom <code>wp_sfrbrs_book_reviews<\/code> database table within your WordPress installation. CSV and JSON export functionality is planned for a future release.<\/p><\/dd>\n<dt id=\"does%20the%20plugin%20load%20translations%3F\"><h3>Does the plugin load translations?<\/h3><\/dt>\n<dd><p>Yes. When distributed via WordPress.org, translations load automatically. For manual installs, place <code>.mo<\/code> files in the <code>languages\/<\/code> directory.<\/p><\/dd>\n<dt id=\"can%20i%20filter%20by%20category%20or%20asin%3F\"><h3>Can I filter by category or ASIN?<\/h3><\/dt>\n<dd><p>Yes. Use the <code>category<\/code> attribute with comma-separated slugs (e.g. <code>category=\"fiction,mystery\"<\/code>) or target a specific book with <code>asin=\"B09EXAMPLE\"<\/code> on the shortcode or Gutenberg block.<\/p><\/dd>\n<dt id=\"do%20i%20need%20an%20ocr.space%20account%3F\"><h3>Do I need an OCR.space account?<\/h3><\/dt>\n<dd><p>The OCR import feature uses OCR.space's free API tier.<\/p><\/dd>\n<dt id=\"what%20data%20does%20this%20plugin%20collect%20or%20share%3F\"><h3>What data does this plugin collect or share?<\/h3><\/dt>\n<dd><p>The plugin stores review data and view\/click analytics locally in your WordPress database. When using the OCR import feature, screenshots are sent to OCR.space for text recognition. The plugin does not make API calls to Amazon\u2014it only displays links to Amazon product pages that you manually enter. No personal data is collected from your site visitors.<\/p><\/dd>\n<dt id=\"does%20it%20add%20cookies%20or%20external%20tracking%3F\"><h3>Does it add cookies or external tracking?<\/h3><\/dt>\n<dd><p>No. All analytics data stays in your WordPress database and only records aggregate view and click counts. No cookies are set and no visitor data is sent to external services.<\/p><\/dd>\n<dt id=\"can%20i%20customise%20the%20review%20layout%3F\"><h3>Can I customise the review layout?<\/h3><\/dt>\n<dd><p>Yes. Use the shortcode attributes or Gutenberg block controls to adjust colours, spacing, typography, card shadows, and more. You can also override styles with custom CSS if needed.<\/p><\/dd>\n<dt id=\"what%20happens%20if%20i%20deactivate%20the%20plugin%3F\"><h3>What happens if I deactivate the plugin?<\/h3><\/dt>\n<dd><p>Your review data remains in the database. Shortcodes will stop rendering. If you reactivate later, everything returns as it was. To remove everything when uninstalling, enable <strong>Book Reviews \u2192 Settings \u2192 Data Retention \u2192 Delete plugin data when uninstalling<\/strong> before deleting the plugin via the Plugins screen.<\/p><\/dd>\n<dt id=\"can%20i%20export%20my%20reviews%3F\"><h3>Can I export my reviews?<\/h3><\/dt>\n<dd><p>CSV and JSON export functionality is planned for a future release. Currently, reviews are stored in the <code>wp_sfrbrs_book_reviews<\/code> database table and can be accessed directly via database tools if needed.<\/p><\/dd>\n<dt id=\"can%20i%20display%20reviews%20for%20my%20own%20amazon%20books%20as%20well%20as%20books%20by%20other%20authors%3F\"><h3>Can I display reviews for my own Amazon books as well as books by other authors?<\/h3><\/dt>\n<dd><p>Yes! You can display Amazon reviews for any book - whether it's your own book or books you recommend on your site.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.4.1<\/h4>\n\n<ul>\n<li>Fix: Removed debug logging statements accidentally left in production code that caused file_put_contents errors on live sites<\/li>\n<\/ul>\n\n<h4>1.4.0<\/h4>\n\n<ul>\n<li>Removed Freemius SDK \u2013 Rolled back to pre-Freemius codebase (1.2.2). Plugin now uses standard WordPress.org update checks. Upgrade to Pro via link in menu.<\/li>\n<\/ul>\n\n<h4>1.2.2<\/h4>\n\n<ul>\n<li>Enhancement: Expanded shortcode reference documentation with comprehensive examples for use in posts, pages, page builders, and products (e.g. WooCommerce)<\/li>\n<li>Enhancement: Added quick access links to shortcode reference from all admin pages<\/li>\n<li>Enhancement: Improved shortcode reference table layout for better readability<\/li>\n<\/ul>\n\n<h4>1.2.1<\/h4>\n\n<ul>\n<li>Fix: Added Pro version check to prevent block registration conflicts when Pro plugin is active<\/li>\n<li>Enhancement: Improved compatibility between Free and Pro versions<\/li>\n<\/ul>\n\n<h4>1.2.0 - 2025-01-05<\/h4>\n\n<p><strong>Bug Fixes:<\/strong>\n* Fixed title color not changing with card text color setting - title now properly inherits card text color\n* Enhanced shadow visibility - improved shadow opacity and added layered shadow effect for better visibility on all background colors\n* Fixed security warnings - properly escaped style attribute outputs in review card rendering<\/p>\n\n<p><strong>Improvements:<\/strong>\n* Added help text to font size controls indicating changes won't appear in preview but will work on frontend\n* Improved CSS specificity for title color to ensure it overrides theme styles\n* Fixed prepared SQL query warning in admin area by using esc_sql() for table names\n* Enhanced code standards compliance for WordPress Plugin Check<\/p>\n\n<h4>1.1.1 - 2025-12-11<\/h4>\n\n<p><strong>Code Standards &amp; Plugin Check Compliance:<\/strong>\n* Fixed all WordPress.DB.PreparedSQL.NotPrepared errors by adding proper phpcs:ignore comments\n* Fixed WordPress.DB.PreparedSQL.InterpolatedNotPrepared warnings for table name interpolation\n* Shortened upgrade notice for version 1.1.0 to comply with WordPress.org character limits\n* Improved code documentation and phpcs:ignore comments throughout repository classes<\/p>\n\n<h4>1.1.0 - 2025-12-11<\/h4>\n\n<p><strong>New Features:<\/strong>\n* Added Book Library management system for organizing books with multiple formats\n* Each book can now have multiple formats (Kindle, Paperback, Hardback, Audible, Other) with individual ASINs\n* Book Library page displays all books with format indicators and review counts per format\n* Added book title filtering to shortcode and Gutenberg block - filter reviews by book title to show all formats\n* Improved book and category selection in Gutenberg block with dropdown menus instead of text inputs\n* Enhanced accent color support - now properly applies to Load More button, badges, and review links<\/p>\n\n<p><strong>Improvements:<\/strong>\n* Fixed accent color not applying to Load More button and other elements\n* Improved block editor UX with dropdown selectors for books and categories\n* Better CSS variable inheritance for consistent styling across all review elements<\/p>\n\n<h4>1.0.1 - 2025-12-12<\/h4>\n\n<p><strong>Bug Fixes:<\/strong>\n* Fixed \"Security check failed\" error appearing when creating new reviews\n* The error was caused by nonce verification running on redirect URLs after successful review creation\n* Fixed by skipping nonce check when <code>updated=1<\/code> parameter is present (indicates safe redirect after our own form submission)\n* Editing existing reviews continues to work correctly with proper nonce verification<\/p>\n\n<h4>0.2.3 - 2025-12-01<\/h4>\n\n<p><strong>Bug Fixes:<\/strong>\n* Fixed duplicate Amazon Associate tag parameter in affiliate URLs\n* Added auto-generation of Amazon URLs from ASIN, region, and Associate ID on review create\/edit page\n* Added preview box showing auto-generated URL with \"Use This URL\" button\n* Added override option to manually enter custom Amazon URLs (e.g., for author pages or review pages)\n* Fixed affiliate link generation to correctly format tag parameter and prevent duplication\n* Improved URL handling to remove existing tag parameters before adding the correct one\n* Fixed executable file permissions issue (svn-commit.sh) for WordPress.org compliance<\/p>\n\n<p><strong>Code Quality:<\/strong>\n* Enhanced database query phpcs:ignore comments with detailed explanations\n* Improved code documentation for WordPress.org plugin checker compliance<\/p>\n\n<h4>0.2.1 - 2025-11-26<\/h4>\n\n<p><strong>Security &amp; Compliance:<\/strong>\n* Fixed all WordPress.org plugin review security issues\n* Added proper nonce verification to all form handlers\n* Fixed SQL query preparation to use placeholders correctly\n* Replaced $_POST array processing with individual field extraction\n* Added proper output escaping for HTML content\n* Added External Services documentation for OCR.space API usage\n* Fixed variable naming in uninstall.php<\/p>\n\n<p><strong>Bug Fixes:<\/strong>\n* Fixed undefined variable warnings in review form data retrieval\n* Corrected readme.txt documentation regarding Amazon API calls (plugin does not call Amazon APIs)<\/p>\n\n<h4>1.0.0 - 2025-12-13<\/h4>\n\n<p><strong>Major Release - Production Ready<\/strong><\/p>\n\n<p>This version marks the plugin as stable and production-ready, with significant improvements to reliability and user experience.<\/p>\n\n<p><strong>New Features:<\/strong>\n* Added ASIN change detection - shows warning when ASIN is updated but URL still contains old ASIN\n* Added URL mismatch warning in Analytics dashboard - identifies reviews with URLs that don't match their ASINs\n* Enhanced JavaScript to dynamically show\/hide warnings as user types\n* Improved form layout - moved Save\/Update button above OCR section for better UX<\/p>\n\n<p><strong>Bug Fixes:<\/strong>\n* Fixed regex error when extracting ASIN from Amazon URLs (changed delimiter to prevent conflict)\n* Fixed auto-generated URL display to use normalized ASIN consistently\n* Improved ASIN normalization to preserve all 10 characters correctly\n* Fixed nonce security issues in analytics warning links\n* Fixed form submission security checks<\/p>\n\n<p><strong>Improvements:<\/strong>\n* Enhanced user experience with better form layout and button placement\n* Improved error detection and warnings throughout the admin interface\n* Better validation and feedback for ASIN and URL matching<\/p>\n\n<h4>0.2.4 - 2025-12-13<\/h4>\n\n<p><strong>Bug Fixes:<\/strong>\n* Fixed regex error when extracting ASIN from Amazon URLs (changed delimiter to prevent conflict)\n* Fixed auto-generated URL display to use normalized ASIN consistently\n* Improved ASIN normalization to preserve all 10 characters correctly<\/p>\n\n<p><strong>New Features:<\/strong>\n* Added ASIN change detection - shows warning when ASIN is updated but URL still contains old ASIN\n* Added reminder to regenerate URL when ASIN changes\n* Enhanced JavaScript to dynamically show\/hide warnings as user types<\/p>\n\n<h4>0.2.2 - 2025-11-27<\/h4>\n\n<p>Version 0.2.2 (27 November 2025) addresses all issues identified in the 0.2.1 review.<\/p>\n\n<p><strong>Security Fixes:<\/strong>\n* Fixed nonce verification logic in edit review page to fail early if nonce is missing or invalid\n* Added nonce verification to all edit links in reviews list table\n* Moved nonce check to start of bulk actions handler before accessing request data\n* Improved nonce handling for both single and bulk delete actions<\/p>\n\n<p><strong>Code Standards:<\/strong>\n* Replaced inline style tag in helper file with wp_add_inline_style() for WordPress.org compliance\n* Fixed ABSPATH check in helper file to use strict exit instead of conditional WordPress loading\n* Refactored SQL queries to use single prepare() calls with all values passed together\n* Enhanced SQL query safety documentation and comments\n* Fixed global variable naming to use plugin prefix (sfrbrs_) in helper file and uninstall.php\n* Added proper phpcs:ignore comments for all prepared SQL queries with detailed explanations<\/p>\n\n<h4>0.2.0 - 2025-11-15<\/h4>\n\n<p><strong>New Features:<\/strong>\n* Added review categories with admin management, list table filters, and quick edit\n* Introduced analytics dashboards with view\/click metrics, summaries, and charts\n* Implemented OCR-based review import workflow with helper tips\n* Enhanced shortcode and block styling controls, category filters, and load-more pagination<\/p>\n\n<p><strong>Improvements:<\/strong>\n* Hardened security with sanitised inputs, escaped outputs, and prepared queries\n* Added shortcode attribute recovery so Gutenberg's Shortcode block preserves styling controls\n* Applied Plugin Check fixes for <code>$wpdb<\/code> access (table\/column quoting plus placeholder-based <code>LIMIT\/OFFSET<\/code>)\n* Added uninstall handler to drop custom tables, remove options, clear scheduled events, and purge cached transients when the new \"Delete plugin data when uninstalling\" toggle is enabled\n* Introduced a \"Delete plugin data when uninstalling\" option so you control whether reviews persist across reinstalls<\/p>\n\n<h4>0.1.0<\/h4>\n\n<ul>\n<li>Initial release<\/li>\n<\/ul>","raw_excerpt":"Display Amazon book reviews with customizable layouts, affiliate tracking, OCR import, and analytics. Perfect for book bloggers and authors.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/262540","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=262540"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/supportfromrichard"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=262540"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=262540"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=262540"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=262540"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=262540"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=262540"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}