{CODICTS} Snippets is now available

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

FeatureDescription
FAQ Repeater FieldA repeater field with Question and Answer inputs for each entry, added to the add/edit listing form.
Testimonial Repeater FieldA repeater field with Name, Testimonial text, optional link button, and optional image upload for each entry.
FAQ Content BlockDisplays FAQ entries on the single listing page with Horizontal (grid) or Vertical (list) layout modes.
Testimonial Content BlockDisplays testimonial entries on the single listing page with image lightbox support, link buttons, and responsive grid layout.
FAQPage Schema MarkupOutputs JSON-LD structured data for FAQ blocks to enable Google FAQ rich results in search.
Responsive GridCSS Grid with configurable column counts for Desktop, Tablet, and Mobile breakpoints, plus adjustable gap spacing.
Image UploadOptional per-item image upload on testimonials via MyListing’s AJAX file upload system with PhotoSwipe lightbox display.
Quick-Add ButtonsOne-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

OptionDescription
LabelThe heading shown to the listing owner on the add/edit form.
DescriptionHelp text displayed below the field.
RequiredWhether the field must be filled in before the listing can be submitted.
Show in Submit FormWhether the field appears on the frontend add/edit listing form.
Show in AdminWhether the field appears in the wp-admin listing editor.

Testimonial Field Options

OptionDescription
LabelThe heading shown to the listing owner on the add/edit form.
DescriptionHelp 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.
RequiredWhether the field must be filled in before submission.
Show in Submit FormWhether the field appears on the frontend form.
Show in AdminWhether 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:

InputDescription
QuestionA text input for the FAQ question.
AnswerA textarea for the FAQ answer.
DeleteRemoves the current entry.
Add itemAdds 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:

InputAlways VisibleDescription
NameYesThe testimonial author’s name.
TestimonialYesThe testimonial text.
Button LabelOnly if “Enable link?” is onThe label for the link button.
URLOnly if “Enable link?” is onThe destination URL for the link button.
Image UploadOnly if “Enable images?” is onUpload an image for the testimonial. Supported formats: jpg, jpeg, png, gif, webp, bmp, tiff, ico, heic.
DeleteYesRemoves the current entry.
Add itemYesAdds 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

OptionValuesDefaultDescription
LabelTextThe heading displayed above the FAQ block.
SourceFAQ fieldsSelect which FAQ field to display. Only FAQ-type fields appear in the dropdown.
TemplateHorizontal / VerticalHorizontalHorizontal displays entries in a responsive grid. Vertical displays them in a single-column list.
Number of Columns1–122Grid columns on Desktop (≥1200px). Only visible when Template is Horizontal.
Number of Columns (Tablet)1–122Grid columns on Tablet (768–1200px).
Number of Columns (Mobile)1–121Grid columns on Mobile (<768px).
Gap Between ColumnsNumber (px)20Spacing in pixels between grid items.
Include schemaOn / OffOnWhen enabled, outputs FAQPage JSON-LD structured data for SEO rich results.

Testimonial Content Block Options

OptionValuesDefaultDescription
LabelTextThe heading displayed above the testimonial block.
SourceTestimonial fieldsSelect which Testimonial field to display. Only Testimonial-type fields appear.
TemplateHorizontal / VerticalHorizontalHorizontal displays entries in a responsive grid. Vertical displays them in a single-column list.
Number of Columns1–122Grid columns on Desktop.
Number of Columns (Tablet)1–122Grid columns on Tablet.
Number of Columns (Mobile)1–121Grid columns on Mobile.
Gap Between ColumnsNumber (px)20Spacing 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:

ElementWhen It Appears
NameAlways shown as a heading.
Testimonial textAlways shown with paragraph formatting.
ImageWhen the listing owner uploaded an image. Displayed as a 150×150px thumbnail that opens in a lightbox when clicked.
Link buttonWhen 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:

TemplatePurpose
FAQ form fieldRenders the FAQ repeater on the add/edit listing form.
Testimonial form fieldRenders the Testimonial repeater on the add/edit listing form.
FAQ content blockRenders FAQ entries on the single listing page.
Testimonial content blockRenders Testimonial entries on the single listing page.
EventWhat Happens
Plugin activationTemplates are copied to the child theme.
Plugin updateTemplates are force-reinstalled (overwrites existing files).
Plugin deactivationTemplates are deleted from the child theme. FAQ and Testimonial blocks no longer render.
Theme switchTemplate 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

CauseSolution
Field not added to listing typeEdit 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 offEdit the field in the listing type editor and enable “Show in Submit Form.”
Templates not installedDeactivate and reactivate the plugin to force-reinstall templates into the child theme.

FAQ/Testimonial Not Showing on the Single Listing Page

CauseSolution
Content block not addedEdit the listing type, go to the Single Page tab, and add a {C} FAQ or {C} Testimonial content block.
Wrong source field selectedMake sure the content block’s Source dropdown is set to the correct FAQ or Testimonial field.
No data enteredThe 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 installedDeactivate and reactivate the plugin to force-reinstall templates.

Testimonial Images Not Showing

CauseSolution
“Enable images?” is offEdit the listing type, find the Testimonial field in the Fields tab, and enable “Enable images?”
No image uploadedThe image only appears when the listing owner uploads one for that testimonial entry.
Unsupported file formatOnly image formats are accepted: jpg, jpeg, png, gif, webp, bmp, tiff, ico, heic.

Testimonial Link Button Not Showing

CauseSolution
“Enable link?” is offEdit the listing type, find the Testimonial field in the Fields tab, and enable “Enable link?”
Missing label or URLBoth 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

CauseSolution
“Include schema” is offEdit the listing type, find the FAQ content block in the Single Page tab, and enable “Include schema.”
Google hasn’t crawled yetRich 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 discretionGoogle 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.

CoDicts Co., Ltd. © 2021-2026. All rights reserved