MyListing FAQ | Testimonials Field
The {CODICTS} MyListing FAQ | Testimonials Field plugin adds two custom repeater field types to the MyListing listing type editor — FAQ (question/answer pairs) and Testimonial (name, text, optional image, optional link). Listing owners can add structured FAQ and testimonial entries from the add/edit listing form, and site admins can display them on single listing pages using dedicated content blocks with responsive grid layouts. The FAQ block also supports FAQPage structured data (Schema.org JSON-LD) for SEO rich results.
Installation & Activation
Start by downloading the plugin from the Downloads page on your dashboard on the CoDicts website.
After downloading, install and activate the plugin in WordPress by navigating to “Plugins” > “Add New” > “Upload Plugin” and selecting the downloaded zip file. Click “Install Now” and then “Activate”.
On activation, the plugin automatically copies form field and display templates into your child theme directory. The new field types and content blocks are immediately available in the listing type editor.
Important: Both the MyListing theme and a MyListing child theme must be active. Without a child theme, the plugin displays an error notice and does not load.
Note: This plugin has no settings page. All configuration is done through the MyListing listing type editor — the Fields tab for field options and the Single Page tab for content block display options.
Key Features
| Feature | Description |
|---|---|
| FAQ Repeater Field | A repeater field with Question and Answer inputs for each entry, added to the add/edit listing form. |
| Testimonial Repeater Field | A repeater field with Name, Testimonial text, optional link button, and optional image upload for each entry. |
| FAQ Content Block | Displays FAQ entries on the single listing page with Horizontal (grid) or Vertical (list) layout modes. |
| Testimonial Content Block | Displays testimonial entries on the single listing page with image lightbox support, link buttons, and responsive grid layout. |
| FAQPage Schema Markup | Outputs JSON-LD structured data for FAQ blocks to enable Google FAQ rich results in search. |
| Responsive Grid | CSS Grid with configurable column counts for Desktop, Tablet, and Mobile breakpoints, plus adjustable gap spacing. |
| Image Upload | Optional per-item image upload on testimonials via MyListing’s AJAX file upload system with PhotoSwipe lightbox display. |
| Quick-Add Buttons | One-click buttons in the listing type editor’s Fields tab to quickly add FAQ and Testimonial fields. |
What the Plugin Provides
The plugin adds two components that work together for each type:
Fields — added to the listing type’s Fields tab, these create the input forms that listing owners use to enter FAQ or testimonial data when adding or editing a listing.
Content Blocks — added to the listing type’s Single Page tab, these display the submitted FAQ or testimonial data on the single listing page with configurable layout options.
You need both: a field to collect the data and a content block to display it.
Adding FAQ & Testimonial Fields
1. Navigate to Listing Types in the WordPress admin and edit the listing type you want to add FAQ or testimonial functionality to.
2. Go to the Fields tab.
3. In the left sidebar, you’ll see two CoDicts quick-add buttons:
{CODICTS} MyListing FAQ Field — click to add an FAQ repeater field.
{CODICTS} MyListing Testimonials Field — click to add a Testimonial repeater field.
4. Configure the field options (see below).
5. Save the listing type.
FAQ Field Options
| Option | Description |
|---|---|
| Label | The heading shown to the listing owner on the add/edit form. |
| Description | Help text displayed below the field. |
| Required | Whether the field must be filled in before the listing can be submitted. |
| Show in Submit Form | Whether the field appears on the frontend add/edit listing form. |
| Show in Admin | Whether the field appears in the wp-admin listing editor. |
Testimonial Field Options
| Option | Description |
|---|---|
| Label | The heading shown to the listing owner on the add/edit form. |
| Description | Help text displayed below the field. |
| Enable link? | When enabled, each testimonial entry shows “Button Label” and “URL” input fields so the listing owner can add a link per testimonial. |
| Enable images? | When enabled, each testimonial entry shows an image upload field. |
| Required | Whether the field must be filled in before submission. |
| Show in Submit Form | Whether the field appears on the frontend form. |
| Show in Admin | Whether the field appears in wp-admin. |
What Listing Owners See on the Form
FAQ Field
When the FAQ field is visible on the add/edit listing form, listing owners see a repeater interface where they can add unlimited FAQ entries:
| Input | Description |
|---|---|
| Question | A text input for the FAQ question. |
| Answer | A textarea for the FAQ answer. |
| Delete | Removes the current entry. |
| Add item | Adds a new blank FAQ entry. |
Testimonial Field
When the Testimonial field is visible, listing owners see a repeater interface with additional inputs depending on what you enabled in the field options:
| Input | Always Visible | Description |
|---|---|---|
| Name | Yes | The testimonial author’s name. |
| Testimonial | Yes | The testimonial text. |
| Button Label | Only if “Enable link?” is on | The label for the link button. |
| URL | Only if “Enable link?” is on | The destination URL for the link button. |
| Image Upload | Only if “Enable images?” is on | Upload an image for the testimonial. Supported formats: jpg, jpeg, png, gif, webp, bmp, tiff, ico, heic. |
| Delete | Yes | Removes the current entry. |
| Add item | Yes | Adds a new blank testimonial entry. |
Adding Content Blocks to the Single Listing Page
After setting up the fields, you need to add the corresponding content blocks to display the data on single listing pages.
1. Edit the listing type and go to the Single Page tab.
2. Add a {C} FAQ or {C} Testimonial content block.
3. Configure the block options (see below).
4. Save the listing type.
FAQ Content Block Options
| Option | Values | Default | Description |
|---|---|---|---|
| Label | Text | — | The heading displayed above the FAQ block. |
| Source | FAQ fields | — | Select which FAQ field to display. Only FAQ-type fields appear in the dropdown. |
| Template | Horizontal / Vertical | Horizontal | Horizontal displays entries in a responsive grid. Vertical displays them in a single-column list. |
| Number of Columns | 1–12 | 2 | Grid columns on Desktop (≥1200px). Only visible when Template is Horizontal. |
| Number of Columns (Tablet) | 1–12 | 2 | Grid columns on Tablet (768–1200px). |
| Number of Columns (Mobile) | 1–12 | 1 | Grid columns on Mobile (<768px). |
| Gap Between Columns | Number (px) | 20 | Spacing in pixels between grid items. |
| Include schema | On / Off | On | When enabled, outputs FAQPage JSON-LD structured data for SEO rich results. |
Testimonial Content Block Options
| Option | Values | Default | Description |
|---|---|---|---|
| Label | Text | — | The heading displayed above the testimonial block. |
| Source | Testimonial fields | — | Select which Testimonial field to display. Only Testimonial-type fields appear. |
| Template | Horizontal / Vertical | Horizontal | Horizontal displays entries in a responsive grid. Vertical displays them in a single-column list. |
| Number of Columns | 1–12 | 2 | Grid columns on Desktop. |
| Number of Columns (Tablet) | 1–12 | 2 | Grid columns on Tablet. |
| Number of Columns (Mobile) | 1–12 | 1 | Grid columns on Mobile. |
| Gap Between Columns | Number (px) | 20 | Spacing in pixels between grid items. |
Note: The Testimonial block does not have a Schema toggle. FAQPage structured data is only available on the FAQ content block.
How FAQ & Testimonials Display
FAQ Display
Each FAQ entry displays the question as a heading followed by the answer text with paragraph formatting. Entries are arranged in a responsive CSS Grid based on your column settings, or in a single-column list if you chose the Vertical template.
Testimonial Display
Each testimonial entry shows:
| Element | When It Appears |
|---|---|
| Name | Always shown as a heading. |
| Testimonial text | Always shown with paragraph formatting. |
| Image | When the listing owner uploaded an image. Displayed as a 150×150px thumbnail that opens in a lightbox when clicked. |
| Link button | When both a button label and URL were provided. Opens in a new tab. |
FAQ Schema Markup (SEO)
When the “Include schema” toggle is enabled on an FAQ content block, the plugin outputs FAQPage structured data using JSON-LD format. This tells search engines that the page contains FAQ content and can result in FAQ rich results — expandable question/answer pairs displayed directly in Google search results.
The schema is automatically generated from the FAQ entries. Question text is used as-is, and answer text is cleaned of HTML tags for search engine compatibility.
The schema toggle is set per content block on the listing type, not per individual listing. To disable schema output, edit the listing type and turn off the “Include schema” toggle on the FAQ content block.
Example Setup
Here’s a complete walkthrough for adding FAQ and Testimonials to a “Business” listing type:
1. Edit the “Business” listing type. Go to the Fields tab.
2. Click the {CODICTS} MyListing FAQ Field quick-add button. Set the label to “Frequently Asked Questions” and enable “Show in Submit Form.”
3. Click the {CODICTS} MyListing Testimonials Field quick-add button. Set the label to “Customer Testimonials,” enable “Enable link?” and “Enable images?”, and enable “Show in Submit Form.”
4. Switch to the Single Page tab.
5. Add a {C} FAQ content block. Set the Label to “FAQ,” select your FAQ field as the Source, choose Horizontal template with 2 columns, and leave “Include schema” enabled for SEO.
6. Add a {C} Testimonial content block. Set the Label to “What Our Customers Say,” select your Testimonial field as the Source, and choose Horizontal template with 2 columns.
7. Save the listing type.
Now when listing owners add or edit a Business listing, they’ll see FAQ and Testimonial repeater fields on the form. The submitted entries display on the single listing page in responsive grid layouts.
Template File Management
The plugin copies four template files into your child theme:
| Template | Purpose |
|---|---|
| FAQ form field | Renders the FAQ repeater on the add/edit listing form. |
| Testimonial form field | Renders the Testimonial repeater on the add/edit listing form. |
| FAQ content block | Renders FAQ entries on the single listing page. |
| Testimonial content block | Renders Testimonial entries on the single listing page. |
| Event | What Happens |
|---|---|
| Plugin activation | Templates are copied to the child theme. |
| Plugin update | Templates are force-reinstalled (overwrites existing files). |
| Plugin deactivation | Templates are deleted from the child theme. FAQ and Testimonial blocks no longer render. |
| Theme switch | Template tracking is reset and re-evaluated for the new theme. |
Data is preserved: Deactivating the plugin removes the display templates but does not delete any FAQ or Testimonial data. The entries remain saved as post meta on each listing. Reactivating the plugin restores the display.
Template overwrite warning: If you manually customize any of the four template files in your child theme, your changes will be overwritten when the plugin is updated or reactivated.
Frequently Asked Questions
Is there a settings page?
No. All configuration is done through the MyListing listing type editor — the Fields tab for field options and the Single Page tab for content block display options.
Why is a child theme required?
The plugin copies form field and content block templates into the child theme directory. MyListing’s template system picks up child theme files over parent theme defaults. Without a child theme, the templates can’t be installed.
Can I use both FAQ and Testimonial on the same listing type?
Yes. They are separate field types and can be used together without conflict. You can even add multiple FAQ fields or multiple Testimonial fields with different labels and keys.
What happens when I deactivate the plugin?
The template files are removed from the child theme, so FAQ and Testimonial blocks no longer render on listing pages. However, no data is lost — all FAQ and Testimonial entries remain saved as post meta. Reactivating the plugin restores the display immediately.
How does the FAQ schema help with SEO?
The FAQPage JSON-LD structured data tells search engines the page contains FAQ content. Google may display this as FAQ rich results — expandable question/answer pairs shown directly in search results — which can improve click-through rates and visibility.
Can I disable the FAQ schema for specific listings?
The schema toggle is set per listing type on the content block, not per individual listing. To disable schema, edit the listing type and turn off “Include schema” on the FAQ content block. All listings of that type will stop outputting schema.
What image formats are supported for testimonials?
Supported formats: jpg, jpeg, png, gif, webp, bmp, tiff, ico, and heic. Maximum file size is determined by your WordPress upload size setting.
How are testimonial images displayed?
Images show as 150×150px thumbnails on the listing page. Clicking an image opens the full-size version in a PhotoSwipe lightbox.
Do I need to add both a field AND a content block?
Yes. The field collects the data from listing owners on the add/edit form. The content block displays that data on the single listing page. Without the field, there’s no data to display. Without the content block, the data is saved but not shown.
Can listing owners add unlimited FAQ/Testimonial entries?
Yes. The repeater interface allows adding as many entries as needed using the “Add item” button.
Troubleshooting
FAQ/Testimonial Field Not Appearing on the Add Listing Form
| Cause | Solution |
|---|---|
| Field not added to listing type | Edit the listing type, go to the Fields tab, and add the FAQ or Testimonial field using the quick-add buttons. |
| “Show in Submit Form” is off | Edit the field in the listing type editor and enable “Show in Submit Form.” |
| Templates not installed | Deactivate and reactivate the plugin to force-reinstall templates into the child theme. |
FAQ/Testimonial Not Showing on the Single Listing Page
| Cause | Solution |
|---|---|
| Content block not added | Edit the listing type, go to the Single Page tab, and add a {C} FAQ or {C} Testimonial content block. |
| Wrong source field selected | Make sure the content block’s Source dropdown is set to the correct FAQ or Testimonial field. |
| No data entered | The block only renders when the listing has at least one FAQ or Testimonial entry with a non-empty question/name. Check that the listing owner has filled in the field. |
| Templates not installed | Deactivate and reactivate the plugin to force-reinstall templates. |
Testimonial Images Not Showing
| Cause | Solution |
|---|---|
| “Enable images?” is off | Edit the listing type, find the Testimonial field in the Fields tab, and enable “Enable images?” |
| No image uploaded | The image only appears when the listing owner uploads one for that testimonial entry. |
| Unsupported file format | Only image formats are accepted: jpg, jpeg, png, gif, webp, bmp, tiff, ico, heic. |
Testimonial Link Button Not Showing
| Cause | Solution |
|---|---|
| “Enable link?” is off | Edit the listing type, find the Testimonial field in the Fields tab, and enable “Enable link?” |
| Missing label or URL | Both a button label and a URL must be filled in for the link button to appear. If only one is provided, the button won’t render. |
FAQ Schema Not Generating Rich Results in Google
| Cause | Solution |
|---|---|
| “Include schema” is off | Edit the listing type, find the FAQ content block in the Single Page tab, and enable “Include schema.” |
| Google hasn’t crawled yet | Rich results may take time to appear after Google crawls the page. Use Google’s Rich Results Test to verify the schema is present and valid. |
| Google’s discretion | Google does not guarantee rich results for every page with valid schema. Eligibility depends on content quality and other factors. |
“MyListing Theme Not Detected” or “Child Theme Not Detected” Error
Both the MyListing theme and a MyListing child theme must be installed and active. Go to Appearance → Themes to verify.
For further support, visit codicts.com or contact us at support@codicts.com.