{CODICTS} Snippets is now available

MyListing Embeddable Listings

The {CODICTS} MyListing Embeddable Listings plugin lets you generate embeddable listing widgets — collections of listing cards or text listings — that can be placed on any external website via a code snippet, or displayed on your own WordPress site using a shortcode. Unlike the sibling “Embed Listing Page” plugin (which embeds a single listing’s full page), this plugin embeds queried collections of listings based on configurable filters.

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”.

Once activated, navigate to “Embeddable Listings” in the WordPress admin sidebar. Create at least one Embed Form, then place the provided shortcode on a page where users (or you) will generate embed snippets.


Key Features

FeatureDescription
Embeddable Listing WidgetsGenerate a code snippet that renders a collection of MyListing listing cards inside an auto-resizing iframe on any external website.
Shortcode SupportDisplay the embed form on any WordPress page using a shortcode.
Rich Query FiltersFilter listings by categories, regions, tags, custom taxonomies, listing types, specific listings, priority levels, and author.
Two Template ModesChoose between “Preview Card” (MyListing’s standard listing card grid) or “Text view” (a minimal text-based list).
Admin-Controlled OptionsSet default filter values and choose which options are visible to frontend users via toggle checkboxes.
Author FilteringListing owners can filter the embed to show only their own listings.
Priority OrderingSupport for MyListing’s priority system — promoted and featured listings appear first.
Auto-Resizing IframeThe embedded widget automatically adjusts its height to fit content — no scrollbars.
Multiple Embeds Per PageMultiple embed widgets can coexist on the same external page.

How It Works

The plugin works in four stages:

1. Admin creates an Embed Form — In the WordPress admin, you define which filters to apply (categories, regions, listing types, etc.), set default values for each filter, and choose which filters frontend users can modify.

2. Shortcode placed on a page — You place the Embed Form’s shortcode on any WordPress page. This renders a form where users can adjust the visible filters and generate their embed code.

3. User generates embed code — The user configures the filters (if allowed), clicks Submit, and receives a code snippet in a popup modal that they can copy.

4. External website displays listings — The snippet is pasted into any external website’s HTML. It loads a small script from your WordPress site, queries the matching listings, and renders them inside an auto-resizing iframe — either as MyListing preview cards or as a text-based list.


Creating an Embed Form

Step 1: Add a New Form

Navigate to Embeddable Listings → Add New in the WordPress admin.

Step 2: Enter a Title

Give the form a descriptive name (e.g., “Restaurant Listings Widget” or “All Listings Embed”). This title is for your internal reference.

Step 3: Configure Filters and Settings

Set default values for each filter and choose which ones frontend users can modify (see the Form Settings Reference below).

Step 4: Save

Click “Save”. A shortcode will be displayed above the form — copy it for the next step.

Step 5: Place the Shortcode

Paste the shortcode on any WordPress page, post, or widget where users should generate embed code:

[codicts-mylisting-embeddable-listings id="123"]

Replace 123 with your Embed Form’s actual ID (shown on the form edit screen and in the Embed Forms list).


Form Settings Reference

Each Embed Form has a set of configurable filters and display options. For every option, you set a default value and choose whether to show it to frontend users.

Query Filters

SettingDescriptionDefault
Filter by CategoriesSelect listing categories to include. Leave empty for all.All
Filter by RegionSelect regions to include. Leave empty for all.All
Filter by TagsSelect tags to include. Leave empty for all.All
Filter by Custom TaxonomiesAutomatically generated for each custom taxonomy registered in MyListing. Leave empty for all.All
Filter by Listing Type(s)Select which MyListing listing types to include.All
Filter by Listing(s)Select specific individual listings to include. Can be filtered by the selected listing types above.All
Filter by PriorityFilter by priority levels: Normal, Featured, Promoted, or Custom.All
Filter by Current Owner?When “Yes”, only shows listings owned by the logged-in user who generated the snippet. Only visible to logged-in users.No

Display & Ordering Settings

SettingDescriptionDefault
Template Type“Preview Card” renders MyListing listing cards in a responsive grid. “Text view” renders a minimal text list with titles, taglines, and dates.Preview Card
Limit Results byMaximum number of listings to display.25
Order bySort listings by: Date, Included order, Rating, Random, or Last modified date.Date
OrderSort direction: Ascending or Descending.Descending
Order by priority first?When “Yes”, promoted and featured listings appear before regular listings regardless of the selected sort order.Yes
Show badge for featured/promoted listings?When “Yes”, the priority badge is visible on listing cards. When “No”, badges are hidden.Yes
Show header and footer on redirect to main site?When “No”, clicking a listing from the embed opens the listing page with the site header and footer hidden.No

The “Show on Frontend” Toggle

Each setting has a paired “Show this option on frontend?” checkbox:

SettingBehavior
CheckedThe user sees this option on the frontend form and can change it.
UncheckedThe admin’s default value is enforced silently. The user cannot see or change this option.

This gives you full control over what users can customize. For example, you might want users to choose categories but not be able to change the result limit or template type.


Managing Embed Forms

Navigate to Embeddable Listings → Embed Forms to see all your forms in a list.

FeatureDescription
SearchSearch forms by title.
SortSort by Title, Author, or Date.
EditClick a form title to open the editor.
ShortcodeEach row displays the shortcode in a copy-friendly input field.
DuplicateCreate a copy of a form (appends “_copy” to the title).
DeletePermanently delete a form.
Bulk DeleteSelect multiple forms and delete them at once.

Frontend User Experience

The Embed Form

When a user visits the page with your shortcode, they see a form with only the filter options you’ve enabled. For example, if you enabled Categories and Listing Types but disabled everything else, the user sees only those two dropdowns plus a Submit button.

Generating the Embed Code

1. The user adjusts the available filters to their preference.

2. They click “Submit”.

3. A modal popup appears with a text area containing the generated embed code.

4. The user clicks the text area to select all the code, copies it, and pastes it into their external website’s HTML.

The Author Filter

The “Filter by Current Owner?” option is a special filter designed for listing owners. When enabled and set to “Yes”, the generated embed snippet only shows listings owned by the logged-in user who generated it. This is ideal for listing owners who want to embed their own listings on their external website or blog.

Note: The author filter option only appears to logged-in users. Logged-out visitors will not see this option on the frontend form.


Template Modes

Preview Card (Default)

Renders a responsive grid of MyListing listing preview cards — the same visual style used on your explore/listing pages. The grid adjusts from 3 columns on large screens to 2 on small screens to 1 on mobile.

Text View

Renders a minimal text-based list. Each listing shows its title, tagline or description excerpt, and a “posted time ago” date. This mode is useful for lightweight embeds or when the visual card style isn’t appropriate.


Priority Ordering

The plugin supports MyListing’s priority system for controlling the order listings appear in the embed:

SettingWhat It Does
Filter by PriorityOnly include listings at specific priority levels (Normal, Featured, Promoted, or Custom).
Order by priority first?When “Yes”, promoted and featured listings always appear before normal listings, regardless of the sort order. The selected sort order (Date, Rating, etc.) is applied within each priority group.
Show badge for featured/promoted?Controls whether the priority badge is visible on listing cards in the embed.

When someone clicks a listing in the embed, they’re taken to the full listing page on your WordPress site. The “Show header and footer on redirect to main site?” setting controls whether your site’s header and footer are visible on that page:

SettingBehavior
YesThe listing page opens normally with full header and footer.
No (default)The listing page opens with the header and footer hidden, providing a cleaner experience for visitors coming from the embed.

Using Multiple Embed Forms

You can create multiple Embed Forms for different use cases. For example:

A “Restaurant Widget” form pre-filtered to the Restaurant listing type, with only the Region filter visible to users.

A “Featured Listings Widget” form pre-filtered to Featured/Promoted priority, with no user-configurable options (all toggles unchecked).

An “Owner Listings Widget” form with the author filter enabled, letting listing owners embed their own listings.

Each form has its own shortcode, so you can place them on different pages for different audiences.


This Plugin vs. “Embed Listing Page”

Embeddable Listings (this plugin)Embed Listing Page
What it embedsA collection/grid of listing cards based on query filtersA single listing’s full page
Use caseShowcasing multiple listings (e.g., “all restaurants in downtown”)Displaying one specific listing in full detail
Who generates the codeUsers via a frontend form, or admin via shortcode configurationListing owners from their My Listings dashboard
Template optionsPreview cards or text listFull listing page (minus header/footer)

Both plugins can be used together on the same site.


Frequently Asked Questions

Can I create multiple Embed Forms?

Yes. Create as many as you need, each with different filters, template types, and visibility settings. Each gets its own shortcode.

Can users modify the embed options?

Only the options where you’ve checked “Show this option on frontend?”. All other options use your default values silently.

Does the embed work on any website?

Yes, as long as the consumer site supports HTML and JavaScript. The plugin uses a technique (JSONP) that avoids most cross-origin restrictions.

What does “Filter by Current Owner?” do?

When set to “Yes”, the embed only shows listings owned by the logged-in user who generated the snippet. This lets listing owners embed their own listings on their personal website.

How does priority ordering work?

When “Order by priority first?” is “Yes”, promoted and featured listings appear before normal listings regardless of the sort order. The secondary sort (Date, Rating, etc.) is applied within each priority group.

Does the embed preserve listing card functionality?

The preview cards are rendered server-side using MyListing’s standard template, so they include all visual elements. Gallery navigation within cards works normally. Clicking a listing opens the full listing page in a new browser tab.

Is the embed mobile responsive?

Yes. The grid adjusts from 3 columns on large screens, to 2 on small screens, to 1 on extra-small screens. The iframe is set to 100% width and auto-resizes its height.

Can multiple embeds exist on the same external page?

Yes. The embed script is designed to load only once even when multiple snippets are on the same page, and each embed widget operates independently.

Can I use this with WooCommerce listing packages?

The plugin doesn’t directly filter by WooCommerce packages, but you can filter by listing types and priority levels, which are often associated with specific packages.


Troubleshooting

Embed Shows a Blank Page or Error on External Sites

CauseSolution
Mixed content (HTTP/HTTPS)If your site uses HTTPS and the external site uses HTTP (or vice versa), the browser may block the embed script. Ensure both sites use HTTPS.
Rewrite rules not flushedIf the API endpoint returns a 404 error, deactivate and reactivate the plugin to flush rewrite rules. Alternatively, visit Settings → Permalinks and click “Save Changes”.
Object cache (Redis/Memcached)If the embed returns stale or incorrect data, try flushing your object cache.
Server or CDN overriding CORSThe plugin sets open CORS headers, but your server or CDN may override them. Check your server configuration.

Shortcode Not Rendering

CauseSolution
Embed Form doesn’t existVerify the form with the specified ID exists in Embeddable Listings → Embed Forms.
Missing id attributeThe shortcode requires an id attribute: [codicts-mylisting-embeddable-listings id="123"].
MyListing not activeThe plugin requires an active MyListing theme to function.

No Listings Displayed in the Embed

CauseSolution
Filters too restrictiveYour combination of filters may match no listings. Try setting all filters to empty (which means “all”) to test.
No published listingsOnly listings with publish status are included. Verify matching listings exist and are published.
Limit set to 0Ensure the “Limit Results by” setting is greater than 0.
Author filter active with no listingsIf “Filter by Current Owner?” is “Yes”, the user generating the snippet must have published listings.

Listing Cards Not Styled Correctly in Embed

CauseSolution
CSS not loading in iframeThe iframe loads your full WordPress styles. If a caching plugin is conditionally excluding CSS, the cards may appear unstyled. Clear your cache or whitelist the embed endpoint.

Header/Footer Still Visible When Clicking Through

CauseSolution
“Show header and footer” set to “Yes”Change the setting to “No” in the Embed Form to hide the header and footer on click-through.
Page cachingA caching plugin may be serving a cached version of the listing page without the hiding CSS. Exclude pages with the ?cdts-hf=1 parameter from your cache.

Select2 Dropdowns Not Working on Frontend Form

CauseSolution
JavaScript conflictAnother plugin may conflict with Select2. Check the browser console for errors.
jQuery not loadedEnsure jQuery is loading on the page. Some optimization plugins may defer or remove jQuery.

“MyListing Theme Not Detected” Error

The MyListing theme must be installed and active. Go to Appearance → Themes to verify. The plugin’s settings, shortcode, and API do not function without MyListing.

Settings Page Not Appearing

CauseSolution
MyListing not activeInstall and activate the MyListing theme first.
Plugin not activatedVerify the plugin is active in Plugins → Installed Plugins.

For further support, visit codicts.com or contact us at support@codicts.com.

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