{"id":254077,"date":"2025-10-01T21:33:05","date_gmt":"2025-10-01T21:33:05","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/groundworx-testimonial\/"},"modified":"2026-04-01T22:05:31","modified_gmt":"2026-04-01T22:05:31","slug":"groundworx-testimonial","status":"publish","type":"plugin","link":"https:\/\/twd.wordpress.org\/plugins\/groundworx-testimonial\/","author":8122980,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_crdt_document":"","version":"1.1.0","stable_tag":"1.1.0","tested":"6.9.4","requires":"6.5","requires_php":"7.4","requires_plugins":null,"header_name":"Groundworx Testimonial","header_author":"Groundworx","header_description":"A modern testimonial plugin for WordPress block themes \u2014 custom post type, custom fields, and Gutenberg blocks with schema and accessibility built-in.","assets_banners_color":"f7f9f6","last_updated":"2026-04-01 22:05:31","external_support_url":"","external_repository_url":"","donate_link":"https:\/\/ko-fi.com\/groundworx","header_plugin_uri":"https:\/\/wordpress.org\/plugins\/groundworx-testimonial","header_author_uri":"https:\/\/groundworx.dev","rating":0,"author_block_rating":0,"active_installs":0,"downloads":303,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.0":{"tag":"1.0.0","author":"Alexandrie","date":"2025-10-01 21:30:06"},"1.1.0":{"tag":"1.1.0","author":"Alexandrie","date":"2026-04-01 22:05:31"}},"upgrade_notice":{"1.0.0":"<p>First stable release. Includes CPT, custom fields, schema support, accessibility, and block-based layouts for testimonials.<\/p>"},"ratings":[],"assets_icons":{"icon.svg":{"filename":"icon.svg","revision":3371424,"resolution":false,"location":"assets","locale":false}},"assets_banners":{"banner-1544x500.jpg":{"filename":"banner-1544x500.jpg","revision":3371424,"resolution":"1544x500","location":"assets","locale":""},"banner-772x250.jpg":{"filename":"banner-772x250.jpg","revision":3371424,"resolution":"772x250","location":"assets","locale":""}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.0","1.1.0"],"block_files":[],"assets_screenshots":{"screenshot-1.jpg":{"filename":"screenshot-1.jpg","revision":3371424,"resolution":"1","location":"assets","locale":""},"screenshot-2.jpg":{"filename":"screenshot-2.jpg","revision":3371424,"resolution":"2","location":"assets","locale":""},"screenshot-3.jpg":{"filename":"screenshot-3.jpg","revision":3371424,"resolution":"3","location":"assets","locale":""},"screenshot-4.jpg":{"filename":"screenshot-4.jpg","revision":3371424,"resolution":"4","location":"assets","locale":""},"screenshot-5.jpg":{"filename":"screenshot-5.jpg","revision":3371424,"resolution":"5","location":"assets","locale":""}},"screenshots":{"1":"Testimonial post type with quote, author, citation, and photo fields.","2":"Manually curated testimonials in the editor.","3":"Global Styles and theme.json support.","4":"Displaying testimonials with Query Loop.","5":"Use testimonial content your way with Quote, Photo, Author, and Citation blocks."},"jetpack_post_was_ever_published":false},"plugin_section":[],"plugin_tags":[1220,211323,148076,1519,5211],"plugin_category":[53],"plugin_contributors":[242341],"plugin_business_model":[],"class_list":["post-254077","plugin","type-plugin","status-publish","hentry","plugin_tags-block","plugin_tags-block-theme","plugin_tags-gutenberg","plugin_tags-reviews","plugin_tags-testimonial","plugin_category-ratings-and-reviews","plugin_contributors-alexandrie","plugin_committers-alexandrie"],"banners":{"banner":"https:\/\/ps.w.org\/groundworx-testimonial\/assets\/banner-772x250.jpg?rev=3371424","banner_2x":"https:\/\/ps.w.org\/groundworx-testimonial\/assets\/banner-1544x500.jpg?rev=3371424","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":"https:\/\/ps.w.org\/groundworx-testimonial\/assets\/icon.svg?rev=3371424","icon":"https:\/\/ps.w.org\/groundworx-testimonial\/assets\/icon.svg?rev=3371424","icon_2x":false,"generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/groundworx-testimonial\/assets\/screenshot-1.jpg?rev=3371424","caption":"Testimonial post type with quote, author, citation, and photo fields."},{"src":"https:\/\/ps.w.org\/groundworx-testimonial\/assets\/screenshot-2.jpg?rev=3371424","caption":"Manually curated testimonials in the editor."},{"src":"https:\/\/ps.w.org\/groundworx-testimonial\/assets\/screenshot-3.jpg?rev=3371424","caption":"Global Styles and theme.json support."},{"src":"https:\/\/ps.w.org\/groundworx-testimonial\/assets\/screenshot-4.jpg?rev=3371424","caption":"Displaying testimonials with Query Loop."},{"src":"https:\/\/ps.w.org\/groundworx-testimonial\/assets\/screenshot-5.jpg?rev=3371424","caption":"Use testimonial content your way with Quote, Photo, Author, and Citation blocks."}],"raw_content":"<!--section=description-->\n<p>Groundworx Testimonial gives you a <strong>dedicated testimonial post type<\/strong> plus flexible blocks that fit seamlessly into the WordPress Block Editor.<\/p>\n\n<p>You can display testimonials in two ways:\n- <strong>Query Loop<\/strong> \u2013 pull multiple testimonials automatically from the CPT.<br \/>\n- <strong>Standalone block<\/strong> \u2013 insert a single block and select which testimonial post to display.<\/p>\n\n<p>Each testimonial supports a <strong>quote, author, citation (e.g. company), and photo<\/strong>. The main Testimonial block also includes <strong>schema markup for SEO<\/strong>, helping search engines recognize and display your reviews.<\/p>\n\n<h4>Editing Experience<\/h4>\n\n<p>When you add a new testimonial in the admin, the editor is streamlined for this purpose:\n- The main block is a <strong>Testimonial Quote<\/strong>.<br \/>\n- In the right sidebar, open the block settings panel (click the controls icon with sliders) to access fields for Author name, Citation (such as a company or title), and Photo.<\/p>\n\n<h4>Key Features<\/h4>\n\n<p><strong>Custom Post Type + Fields<\/strong><br \/>\nManage testimonials in one place with quote, author, citation, and photo fields.<\/p>\n\n<p><strong>Native Gutenberg Blocks<\/strong><br \/>\nInsert testimonials directly in the Block Editor\u2014no shortcodes or legacy templates needed.<\/p>\n\n<p><strong>Main Testimonial Block<\/strong><br \/>\nFull testimonial with schema support for SEO.<\/p>\n\n<p><strong>Individual Field Blocks<\/strong><br \/>\nUse Author, Citation, Quote, and Photo as standalone blocks if you want to design custom layouts.<\/p>\n\n<p><strong>Flexible Display Options<\/strong><br \/>\n- Show multiple testimonials in a Query Loop.<br \/>\n- Drop in a single block and select which testimonial to feature.<\/p>\n\n<p><strong>Accessible Markup<\/strong><br \/>\nSemantic HTML with proper <code>&lt;blockquote&gt;<\/code>, <code>&lt;figure&gt;<\/code>, and <code>&lt;figcaption&gt;<\/code> for screen readers and SEO.<\/p>\n\n<p><strong>Theme.json Integration<\/strong><br \/>\nTypography, spacing, colors, and borders inherit from your theme.json design tokens.<\/p>\n\n<h3>How it works<\/h3>\n\n<ol>\n<li>Go to <strong>Testimonials \u2192 Add New<\/strong> in the WordPress admin.  <\/li>\n<li>Enter the testimonial quote, author, citation, and photo.  <\/li>\n<li>Save and publish the testimonial.  <\/li>\n<li>Display testimonials:<br \/>\n\n<ul>\n<li>Add the <strong>Testimonial<\/strong> block and select a specific testimonial to feature.  <\/li>\n<li>Or use a <strong>Query Loop<\/strong> to show multiple testimonials automatically.<\/li>\n<\/ul><\/li>\n<\/ol>\n\n<h3>Blocks included<\/h3>\n\n<ul>\n<li><strong>groundworx-testimonial\/testimonial<\/strong> \u2013 Main testimonial block (with schema support).  <\/li>\n<li><strong>groundworx-testimonial\/quote<\/strong> \u2013 Quote field.  <\/li>\n<li><strong>groundworx-testimonial\/citation<\/strong> \u2013 Citation field (e.g. company).  <\/li>\n<li><strong>groundworx-testimonial\/author<\/strong> \u2013 Author name.  <\/li>\n<li><strong>groundworx-testimonial\/photo<\/strong> \u2013 Photo block.<\/li>\n<\/ul>\n\n<!--section=installation-->\n<ol>\n<li>Upload the plugin folder to <code>\/wp-content\/plugins\/<\/code> or install via <strong>Plugins \u2192 Add New<\/strong>.  <\/li>\n<li>Activate <strong>Groundworx Testimonial<\/strong>.  <\/li>\n<li>In the WordPress admin, go to <strong>Testimonials \u2192 Add New<\/strong> and create your first testimonial.  <\/li>\n<li>In the Block Editor, insert the <strong>Groundworx Testimonial<\/strong> block (or individual field blocks).  <\/li>\n<li>Use it in a Query Loop to show multiple testimonials, or insert a standalone block and choose a testimonial to feature.  <\/li>\n<li>Style it using your theme.json settings or the block sidebar controls.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"does%20this%20create%20a%20custom%20post%20type%3F\"><h3>Does this create a custom post type?<\/h3><\/dt>\n<dd><p>Yes. Groundworx Testimonial registers its own <strong>testimonial post type<\/strong> with custom fields (quote, author, citation, photo).<\/p><\/dd>\n<dt id=\"how%20do%20i%20display%20multiple%20testimonials%3F\"><h3>How do I display multiple testimonials?<\/h3><\/dt>\n<dd><p>Use the <strong>Query Loop<\/strong> block to pull in testimonials from the CPT. Add the Testimonial block (or individual field blocks) inside the loop, and each post will render automatically.<\/p><\/dd>\n<dt id=\"can%20i%20feature%20just%20one%20testimonial%3F\"><h3>Can I feature just one testimonial?<\/h3><\/dt>\n<dd><p>Yes. Insert a standalone Testimonial block and select a specific testimonial post to display.<\/p><\/dd>\n<dt id=\"does%20it%20work%20with%20classic%20themes%3F\"><h3>Does it work with classic themes?<\/h3><\/dt>\n<dd><p>Groundworx Testimonial is built for block themes using theme.json. In classic PHP themes, styling and block controls may not behave as expected.<\/p><\/dd>\n<dt id=\"is%20it%20accessible%3F\"><h3>Is it accessible?<\/h3><\/dt>\n<dd><p>Yes. The plugin outputs semantic HTML using <code>&lt;blockquote&gt;<\/code>, <code>&lt;cite&gt;<\/code>, <code>&lt;figure&gt;<\/code>, and <code>&lt;figcaption&gt;<\/code>, following accessibility best practices.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.1.0<\/h4>\n\n<ul>\n<li>Consolidated all block assets into central editor\/style handles (removed per-block file references)<\/li>\n<li>Refactored all block registrations to use central entry point pattern<\/li>\n<li>Fixed: Job title block rendering empty due to wrong meta key<\/li>\n<li>Fixed: Taxonomy plural label default (\"Testimonials Categories\" \u2192 \"Testimonial Categories\")<\/li>\n<li>Fixed: JSON-LD script output now uses JSON_HEX_TAG to prevent script breakout<\/li>\n<li>Added sanitize_callback to all registered post meta fields<\/li>\n<li>Added attribute allowlists for textAlign and template values in render callbacks<\/li>\n<li>Improved internationalization across editor components and variation labels<\/li>\n<li>Made template type titles and descriptions translatable<\/li>\n<li>Removed unused navigation plugin files from inc\/ directory<\/li>\n<li>Lowered PHP requirement to 7.4<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial public release \u2013 Custom post type, custom fields, main testimonial block with schema, plus author, citation, photo, and quote sub-blocks.<\/li>\n<\/ul>","raw_excerpt":"A modern testimonial plugin for WordPress block themes \u2014 custom post type, custom fields, and Gutenberg blocks with schema and accessibility built-in.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/254077","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=254077"}],"author":[{"embeddable":true,"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/alexandrie"}],"wp:attachment":[{"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=254077"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=254077"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=254077"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=254077"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=254077"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=254077"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}