{CODICTS} Snippets is now available

MyListing Carousel Addon

The {CODICTS} MyListing Carousel Addon plugin enhances three core MyListing Elementor widgets — Listing Categories, Listing Feed, and Blog Feed — by adding carousel display modes, proximity-based filtering, distance calculation, alphabetical pagination, multi-select taxonomy support, and preview card template selection. All features are configured directly through the Elementor widget controls.

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 enhanced template files into your child theme directory. The new Elementor widget controls are immediately available.

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 Elementor widget controls on each individual widget instance.


Key Features

FeatureWidgets AffectedDescription
Carousel DisplayListing Categories, Listing Feed, Blog FeedAdds an Owl Carousel display mode with configurable autoplay, navigation style, and responsive column counts.
Proximity FilterListing FeedFilters listings by the user’s current location within a configurable radius (km or miles).
Distance CalculationListing Preview CardsShows the distance between the user and each listing on preview cards using the :calculate-distance special key.
Alphabetical PaginationListing CategoriesAdds A–Z letter-based navigation to filter categories alphabetically.
Multi-Select TaxonomyListing CategoriesSelect and display terms from multiple taxonomies at once (e.g., Categories + Regions + Tags).
Preview Card Template OverrideListing FeedChoose a specific preview card template (Default, Alternate, List View) for all listings in a feed, overriding per-type settings.
Sorting OptionsListing CategoriesSort categories by inclusion order or alphabetically (ascending/descending).
Background Size ControlListing CategoriesControl the background image size for the “Cards Alternate” template.

27 > Listing Categories Widget

The plugin adds several new controls to the standard MyListing 27 > Listing Categories Elementor widget.

Carousel Controls

ControlOptionsDescription
CarouselNo / YesEnable carousel display mode instead of the standard grid.
Carousel AutoplayNo / YesAutomatically scroll through items. Only visible when Carousel is Yes.
Carousel NavNone / Arrows / DotsNavigation style for the carousel. Only visible when Carousel is Yes.

Multi-Select Taxonomy

The Taxonomy control supports selecting multiple taxonomies at once. For example, you can select Categories, Regions, and Tags simultaneously — their terms are merged into a single display.

Available taxonomies include Categories, Regions, Tags, Listing Types, and any custom taxonomies registered on your site.

Alphabetical Pagination

ControlOptionsDescription
Alphabetical paginationNo / YesAdds an A–Z navigation bar above the categories. Only available when Carousel is disabled.
Hide empty letters?No / YesWhen enabled, letters with no matching categories are hidden from the navigation bar. Only visible when Alphabetical pagination is Yes.

Click any letter to filter categories starting with that letter. Use the arrow buttons to navigate between letters. The # link shows categories starting with numbers or special characters.

Note: Alphabetical pagination is only available with the Default template in non-carousel mode.

Sorting

ControlOptionsDescription
Sort ByIncluded / TitleSort categories by their inclusion order (as selected) or alphabetically by title.
Sort OrderASC / DESCAscending or descending order. Only visible when Sort By is Title.

Templates

TemplateDescription
DefaultStandard category card with background image and overlay.
AlternateRegion-style display with image holder and overlay.
CardsFlip-card style with front (icon + name) and back (count with color).
Cards AlternateCard with background image and details section below. Includes a Background Size control.

All four templates support both grid and carousel display modes.


27 > Listing Feed Widget

The plugin adds carousel display, proximity filtering, listing template override, and additional filter controls to the standard MyListing 27 > Listing Feed Elementor widget.

Carousel Controls

ControlOptionsDescription
TemplateGrid / CarouselChoose between standard grid layout or carousel display.
Carousel AutoplayNo / YesAutomatically scroll through listings. Only visible in Carousel mode.
Carousel NavNone / Arrows / DotsNavigation style. Only visible in Carousel mode.
Column Count1–12 per breakpointSet how many items are visible at Desktop, Laptop, Tablet, and Mobile sizes.

Listing Template Override

ControlOptionsDescription
Listing TemplateSame as source / Default / Alternate / List view (+ custom templates)Override the preview card template for all listings in this specific feed. “Same as source” uses each listing type’s own template setting.

This override only affects the specific widget instance — it does not change other Listing Feed widgets or listing displays on the page.

Proximity Filter

Filter listings by the user’s current location so only nearby listings appear.

ControlOptionsDescription
Filter by Users Location?Off / OnEnable proximity-based filtering.
Strict radius filter?Off / OnWhen On, shows nothing if no listings are within the radius. When Off, falls back to normal results.
RadiusNumber (default: 100)The search radius around the user’s location.
Radius unitKilometers / MilesUnit for the radius value.

How the proximity filter works:

1. When the page loads, the plugin checks for a stored location cookie in the user’s browser.

2. If no cookie exists, the user’s browser is asked for their location (the user sees a “Allow location access” prompt).

3. The location is stored in a cookie for 12 hours so the prompt doesn’t appear on every visit.

4. The plugin filters listings to only show those within the configured radius of the user’s location.

Note: On the first visit, the page reloads automatically after obtaining the user’s location to apply the filter. This is expected behavior.

Note: If the user denies location access, the proximity filter cannot work. In strict mode, the feed will appear empty. In non-strict mode, it falls back to showing normal results.

Additional Filter Controls

ControlDescription
Filter by CategoriesSelect specific listing categories to include.
Filter by RegionsSelect specific regions to include.
Filter by TagsSelect specific tags to include.
Filter by Listing Type(s)Select specific listing types to include.
Filter by PriorityFilter by Normal, Featured, Promoted, or Custom priority levels.
Select a list of listingsHand-pick specific listings by ID.
Order byDate, Included order, Rating, Random, or Last modified.
Order by priority first?Order by listing priority before the selected sort order.
Show badge for featured/promoted?Show or hide priority badges on preview cards.
Invert nav color?Use light navigation colors for dark backgrounds (carousel only).
Cache results forCache duration in minutes (default: 720 = 12 hours).

27 > Blog Feed Widget

The plugin adds a carousel display mode to the standard MyListing 27 > Blog Feed Elementor widget.

ControlOptionsDescription
TemplateTwo Columns / Three Columns / CarouselChoose between standard grid layouts or carousel display.
Carousel AutoplayNo / YesAutomatically scroll through posts. Only visible in Carousel mode.
Carousel NavNone / Arrows / DotsNavigation style. Only visible in Carousel mode.
Column Count1–12 per breakpointSet how many items are visible at Desktop, Laptop, Tablet, and Mobile sizes. Only visible in Carousel mode.

Standard Blog Feed controls (number of items, filter by categories, filter by post) continue to work as before.


Distance Calculation on Preview Cards

The plugin overrides the :calculate-distance special key in MyListing’s preview card system. When this key is used in a preview card template, it displays the distance between the user and each listing.

The distance is calculated using the great-circle formula and is automatically formatted based on the unit system:

Unit SystemClose DistanceNormal Distance
MetricShown in metres (e.g., “800m”) when under 1 kmShown in kilometres (e.g., “1.5km”)
ImperialShown in feet (e.g., “1200ft”) when under 0.5 milesShown in miles (e.g., “2.3mi”)

The user’s location is determined from one of three sources in priority order: the current listing page’s coordinates (for similar listings), the explore page search location, or the cached browser geolocation cookie.


All carousels across the three widgets share consistent behavior:

FeatureBehavior
LoopingCarousels loop infinitely — scrolling past the last item returns to the first.
Item spacing20px gap between carousel items.
Animation speed500ms smooth transition between slides.
Opacity effectThe active carousel item displays at full opacity; adjacent items are dimmed to 40% opacity.
Touch supportSwipe navigation on mobile and tablet devices.
Multiple instancesEach carousel on a page operates independently with a unique ID.

Default Responsive Breakpoints

Screen SizeWidthDefault Items Shown
Mobile0–767px1
Tablet768–991px2
Laptop992–1199px3
Desktop1200px+3

These defaults can be overridden per widget instance using the Column Count controls (where available).


Template File Management

The plugin works by copying enhanced versions of MyListing’s Elementor widget files into your child theme. Seven template files are managed:

TemplatePurpose
Listing Categories widgetAdds carousel, multi-taxonomy, alphabetical pagination, sorting, and background size controls.
Listing Feed widgetAdds carousel, proximity filter, listing template override, and additional filter controls.
Blog Feed widgetAdds carousel display mode with responsive column controls.
Listing Categories sectionRenders the enhanced categories output (grid, carousel, alphabetical pagination).
Listing Feed sectionRenders the enhanced listing feed output (grid, carousel, proximity query).
Blog Feed sectionRenders the enhanced blog feed output (grid, carousel).
Listing Preview partialAdds the preview card template override filter hook.
EventWhat Happens
Plugin activationAll 7 template files are copied to the child theme.
Plugin updateTemplates are force-reinstalled (overwrites existing files).
Plugin deactivationAll template files are deleted from the child theme. Widgets revert to default MyListing behavior.
Theme switchTemplate tracking is reset.

Note: If you manually customize any of these template files in your child theme, your changes will be overwritten when the plugin is updated or reactivated. Use CSS customizations or WordPress hooks for modifications that need to persist across updates.


Frequently Asked Questions

Is there a settings page?

No. All configuration is done through the Elementor widget controls on each individual widget instance. Edit a page in Elementor, click on a Listing Categories, Listing Feed, or Blog Feed widget, and you’ll see the new controls in the settings panel.

Why is a child theme required?

The plugin copies enhanced template files into the child theme directory. MyListing’s template hierarchy picks up child theme files over the parent theme’s defaults. Without a child theme, there’s nowhere to safely place the overrides.

What happens when I deactivate the plugin?

All copied template files are removed from the child theme. The MyListing widgets revert to their default behavior — carousel options, proximity filters, alphabetical pagination, and other enhancements disappear. Re-activating restores everything.

Can I use multiple carousels on the same page?

Yes. Each carousel instance is assigned a unique ID and operates independently. You can have multiple Listing Category carousels, Listing Feed carousels, and Blog Feed carousels on the same page.

How does the proximity filter determine my location?

The plugin uses the browser’s built-in geolocation API. On the first visit, users see a browser prompt asking to allow location access. The location is cached in a cookie for 12 hours so the prompt doesn’t appear on every page load.

What happens if a user denies location access?

The proximity filter cannot work without location access. If Strict mode is On, the feed shows nothing. If Strict mode is Off, the feed falls back to normal unfiltered results.

Why does the page reload when I first visit a page with the proximity filter?

When no location cookie exists, the plugin obtains the user’s location and then reloads the page to apply the proximity filter with the new coordinates. This only happens on the first visit — subsequent visits use the cached cookie.

Can I display categories from multiple taxonomies at once?

Yes. The enhanced Listing Categories widget supports multi-select taxonomy. Select Categories, Regions, Tags, Listing Types, or custom taxonomies simultaneously, and their terms are merged into a single display.

Can I use alphabetical pagination with the carousel?

No. Alphabetical pagination is only available with the Default template in non-carousel (grid) mode. When the carousel is enabled, the alphabetical pagination option is hidden.

Can I use the proximity filter and carousel together?

Yes. The proximity filter and carousel display are independent features and can be combined in the Listing Feed widget.

What carousel library does the plugin use?

The plugin uses Owl Carousel, which is already bundled with the MyListing theme. No additional libraries are loaded.

Does the “Listing Template” override affect other widgets?

No. The template override is scoped to the specific Listing Feed widget instance. Other Listing Feed widgets and listing displays on the page are not affected.


Troubleshooting

Carousel Not Displaying

CauseSolution
Carousel not enabledEdit the widget in Elementor and set the Carousel (or Template) control to “Yes” or “Carousel.”
Templates not installedDeactivate and reactivate the plugin to force-reinstall templates into the child theme.
Child theme not activeGo to Appearance → Themes and activate a MyListing child theme.
JavaScript errorCheck the browser console (F12 → Console) for errors. Owl Carousel must be loaded by the MyListing theme.

Proximity Filter — Feed Shows Empty or No Listings

CauseSolution
User denied location accessThe proximity filter requires browser geolocation. If the user denied access, they need to reset their browser’s location permission for the site. In the meantime, set Strict radius filter to Off so the feed falls back to normal results.
Radius too smallIncrease the Radius value in the widget settings. If your listings are spread over a large area, a small radius may not capture any.
No listings have location dataThe proximity filter requires listings to have a location field with coordinates. Verify that your listings have location data filled in.
Cookie expired or clearedThe location cookie lasts 12 hours. After it expires, the page reloads to re-acquire the location. If cookies are blocked, the filter won’t work.

Alphabetical Pagination Not Showing

CauseSolution
Wrong template selectedAlphabetical pagination only works with the Default template. Switch the template to Default in the widget settings.
Carousel is enabledAlphabetical pagination is not compatible with carousel mode. Set Carousel to “No” to use alphabetical pagination.
Feature not enabledSet “Alphabetical pagination” to “Yes” in the widget settings.

New Widget Controls Not Appearing in Elementor

CauseSolution
Templates not installedDeactivate and reactivate the plugin. Check that no admin error notice appears about missing theme/child theme.
Browser/Elementor cacheClear your browser cache and purge Elementor’s CSS cache (Elementor → Tools → Regenerate CSS).
Plugin conflictAnother plugin may be overriding the same Elementor widget files. Deactivate other plugins temporarily to isolate the conflict.

Distance Not Showing on Preview Cards

CauseSolution
:calculate-distance not used in preview cardThe distance display requires the :calculate-distance special key to be included in the listing type’s preview card template configuration.
No location source availableDistance calculation needs a reference location — either the current listing page’s coordinates, the explore page search location, or the cached browser location cookie. Ensure at least one source is available.

“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