RIACO Reviews lets you manually collect, manage, and display customer reviews and testimonials anywhere on your WordPress site — no page builder required. Add the Reviews block in the Gutenberg editor and get a live preview instantly, or drop in the [riaco_reviews] shortcode on any page or widget area.
Every review is a native WordPress post with its own star rating, author, avatar, review date, source platform, and product. Display options, layout, card style, and colours are all configurable directly from the block inspector panel — no CSS editing required.
Display & Layout
ServerSideRender. All settings in the Inspector sidebar.[riaco_reviews] — use it in any page, post, widget area, or theme template.auto-fill grid; column count adapts automatically to available width.break-inside: avoid; same adaptive behaviour.--riaco-card-min-width CSS custom property that drives both layouts.Per-Review Data
Visibility Toggles
Show or hide each element independently:
Filtering
product="my-product-slug" (comma-separated slugs for multiple products).Sorting
Colour & Typography Overrides
Override directly from the block editor or shortcode attributes:
Admin
JSON-LD Structured Data
Review structured data in a <script type="application/ld+json"> tag in the page footer — no setup required.Review object with reviewBody, reviewRating, author, datePublished, url, and itemReviewed.itemReviewed is driven by the product assigned to the review: set a URL and a schema.org type (Product, SoftwareApplication, LocalBusiness, Organization, Book, Movie, Course, Event, or the generic Thing) on each product in Reviews Products.itemReviewed.name with type Thing.@graph array — one <script> tag regardless of how many shortcodes are on the page.riaco_reviews_json_ld_data filter to modify or suppress the structured data for individual reviews.Developer-Friendly
riaco_reviews_atts — filter display attributes before renderingriaco_reviews_query_args — modify the WP_Query before it runs (add tax queries, post__in, etc.)riaco_reviews_card_meta — add or modify per-review metadata before the card template receives itriaco_reviews_card_template_path — swap in a custom card template per style or per postriaco_reviews_before_card / riaco_reviews_after_card — inject markup around individual cardsriaco_reviews_before_loop / riaco_reviews_after_loop — inject markup around the whole reviews wrapperriaco_reviews_no_reviews_html — replace the empty-state messageriaco_reviews_layouts / riaco_reviews_card_styles / riaco_reviews_orderby_options — register custom values for layout, card style, and sort orderriaco_reviews_init / riaco_reviews_loaded — plugin lifecycle actions for third-party extensionsriaco_reviews_block_render_atts — map additional Gutenberg block attributes into the render pipelineriaco_reviews_json_ld_data — modify or suppress the structured data object for a single review before it is collectedBasic usage:
[riaco_reviews]
All parameters:
[riaco_reviews count="6" layout="grid" card_style="default" orderby="date" order="DESC" product="" show_title="1" show_author_name="1" show_avatar="1" show_date="1" show_rating="1" show_source="1" show_product="1" show_shadow="1" min_width="300"]
Colour and typography:
[riaco_reviews card_bg="#ffffff" card_text_color="#444444" card_border_color="#e4e4e7" star_color="#f59e0b" product_bg="#f4f4f5" product_text_color="#18181b" font_size="0.9375" line_height="1.7"]