MyListing Explore Page Addon
The {CODICTS} MyListing Explore Page Addon plugin lets you assign different explore page templates to each listing type. By default, MyListing applies a single explore template globally to all listing types. This plugin removes that limitation — each listing type can have its own template layout, column configuration, mobile view, and map scroll settings.
When a user switches between listing type tabs on the explore page, the plugin dynamically loads the correct template via AJAX — seamlessly replacing the layout without a full page reload. A loading spinner is displayed during the transition.
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 its template files to your child theme. There is no settings page — all configuration is done through the Elementor widget editor on your Explore page.
Key Features
| Feature | Description |
|---|---|
| Per-Listing-Type Templates | Assign a different explore page template (Template 1–4) to each listing type. |
| Dynamic Template Switching | When users switch listing type tabs, the template changes via AJAX without a full page reload. |
| Per-Type Map Settings | Configure scroll-wheel zoom independently for each listing type. |
| Per-Type Column Layout | Set different column layouts (one, two, or three columns) per listing type. |
| Per-Type Mobile View | Choose the default mobile view (results or map) per listing type. |
| Per-Type Scroll-to-Results | Enable or disable automatic scroll-to-results per listing type. |
| Loading Overlay | Displays a spinner overlay during template transitions for a polished user experience. |
| Topbar & Dropdown Support | Works with both the topbar (navbar) and dropdown listing type selectors. |
| Taxonomy Landing Pages Compatibility | Integrates with the CoDicts Taxonomy Landing Pages addon for pre-filtered explore pages. |
Available Explore Templates
MyListing provides four built-in explore page templates. This plugin lets you assign any of them independently to each listing type:
| Template | Layout | Map | Notes |
|---|---|---|---|
| Template 1 | Map + results side-by-side | Yes | Results in a single column by default. Supports mobile view toggle and scroll-wheel zoom. |
| Template 2 | Map + results with filter sidebar overlay | Yes | Maximum two columns. Supports scroll-to-results, mobile view toggle, and scroll-wheel zoom. |
| Template 3 | Full-width results grid, no map | No | Results in a 3-column grid. |
| Template 4 | Classic layout grid, no map | No | Results in a 2-column grid. |
How It Works
The plugin replaces the default MyListing Explore Elementor widget with an enhanced version. Instead of a single global template setting, the widget now includes a Listing Types repeater where each listing type gets its own template and layout configuration.
When the explore page loads, the first listing type’s template is rendered on the server. When a user clicks a different listing type tab (or selects from the dropdown), the plugin:
1. Shows a loading spinner overlay.
2. Sends an AJAX request to render the new template on the server.
3. Replaces the explore page content with the new template HTML.
4. Re-initializes the map, filters, and listing grid for the new layout.
5. Fetches listings for the selected type.
6. Removes the loading overlay.
The transition is seamless — the listing type tabs remain visible during loading, and rapid tab switching is handled gracefully (previous requests are cancelled automatically).
Configuring the Explore Widget in Elementor
1. Navigate to the page that uses the MyListing Explore widget (typically the “Explore” page).
2. Open the page in Elementor editor.
3. Click on the explore listings widget — it will now display as “27 – {C} > Explore Listings” (the {C} indicates the CoDicts-enhanced version).
4. In the widget settings panel, scroll to the Listing Types section.
Adding Listing Types
1. Click “Add Item” to add a listing type entry.
2. Select the desired listing type from the dropdown.
3. Configure the template and layout options for that specific listing type.
4. Repeat for each listing type you want on the explore page.
5. The order of listing types in the repeater determines their display order in the topbar or dropdown.
Per-Listing-Type Settings
Each listing type entry in the repeater supports these settings:
| Setting | Options | Availability | Description |
|---|---|---|---|
| Select Listing Type | (all listing types) | Always | The listing type this configuration applies to. |
| Template | Template 1 / 2 / 3 / 4 | Always | The explore page layout template for this listing type. |
| Mobile default view | Results / Map | Template 1 & 2 only | The default view on mobile devices (only applicable for templates with maps). |
| Columns | One / Two / Three | Templates 1, 2 & 4 | Number of listing columns in the results grid. Template 2 supports a maximum of two. |
| Scroll to results? | Yes / No | Template 2 only | Automatically scroll to results when filters change. |
| Scroll wheel zoom? | Yes / No | Templates 1 & 2 only | Enable or disable mouse scroll wheel zoom on the map. |
Global Widget Settings
These settings apply to all listing types and are configured at the widget level (not per listing type):
| Setting | Default | Description |
|---|---|---|
| Title | What are you looking for? | The explore page heading. |
| Subtitle | — | Optional subtitle below the title. |
| Pagination | Pages | Pagination style: Pages or Load More. |
| Enable infinite scroll? | No | Auto-load more results on scroll (only with Load More pagination). |
| Trigger search on map drag | Yes | Search for listings within visible map bounds when dragging. |
| Display listing types as | Navbar | How listing type tabs are displayed: Navbar (topbar) or Dropdown. |
| Default filter values | — | Paste a pre-filtered URL to set default filter values. |
| Map Skin | skin1 | Map color theme. |
| Default latitude / longitude / zoom | 51.492 / -0.130 / 11 | Default map center and zoom when no listings exist. |
| Min / Max zoom | 2 / 18 | Allowed zoom range. |
Example Setup
1. Activate the plugin with the MyListing theme and a child theme active. Templates are automatically copied to the child theme.
2. Open your Explore page in Elementor editor.
3. Click the explore widget — it now shows as “27 – {C} > Explore Listings”.
4. In the Listing Types repeater, add your first listing type (e.g., “Restaurants”). Set Template to Template 1 (map + results side-by-side), Columns to One, and enable Scroll wheel zoom.
5. Add a second listing type (e.g., “Events”). Set Template to Template 3 (full-width grid, no map) for a completely different layout.
6. Add a third listing type (e.g., “Services”). Set Template to Template 2, Columns to Two, and enable Scroll to results.
7. Configure the global settings (title, pagination, map skin, etc.) as desired.
8. Save and publish.
9. Visit the explore page. Clicking between the “Restaurants,” “Events,” and “Services” tabs dynamically switches the entire explore layout — from a map view to a full-width grid to a two-column layout — all without a page reload.
Taxonomy Landing Pages Compatibility
The plugin integrates with the CoDicts Taxonomy Landing Pages addon. When a user arrives at the explore page from a taxonomy landing page with pre-set filters, the plugin automatically:
1. Reads the pre-filtered values from the taxonomy landing page.
2. Sets the correct listing type tab as active.
3. Applies the pre-set filter values so results are filtered immediately on page load.
No additional configuration is needed — the integration works automatically when both plugins are active.
Frequently Asked Questions
Does this require a child theme?
Yes. The plugin copies template files to the child theme directory to override MyListing’s default Explore widget. Without a child theme, the templates cannot be installed.
Is there a settings page?
No. All configuration is done through the Elementor widget editor on the Explore page. Edit the “27 – {C} > Explore Listings” widget to configure per-listing-type templates.
What templates can I assign?
MyListing’s four built-in templates: Template 1 (map + results side-by-side), Template 2 (map + results with filter sidebar), Template 3 (full-width grid, no map), and Template 4 (classic grid, no map).
What happens when a user switches listing type tabs?
The plugin sends an AJAX request to load the correct template for the selected type. The explore page content is replaced without a full page reload, with a loading spinner shown during the transition.
Can I use different map settings for each listing type?
The scroll wheel zoom setting is per-listing-type. Other map settings (default location, zoom levels, skin, circle styles) are global across all listing types.
Does this work with the dropdown listing type selector?
Yes. The plugin supports both the topbar (navbar) and dropdown listing type display modes. Template switching works with both.
How does it handle rapid tab switching?
If a user clicks multiple tabs quickly, any in-flight AJAX request is cancelled before the new one is sent. This prevents stale content from appearing.
Does it work with the CoDicts Taxonomy Landing Pages addon?
Yes. Built-in compatibility ensures the correct listing type tab and filters are automatically selected when arriving from a taxonomy landing page.
Will my customizations to the template files be preserved on update?
No. On plugin activation and version updates, the template files in the child theme are overwritten. If you customize these templates, be aware that updates will overwrite your changes.
What happens when I deactivate the plugin?
All copied template files are removed from the child theme, and the standard MyListing Explore widget (with a single global template) is restored. No data is lost. Re-activating re-copies the templates.
Troubleshooting
Explore Widget Not Showing as “27 – {C} > Explore Listings”
| Cause | Solution |
|---|---|
| Templates not installed | Deactivate and reactivate the plugin to trigger template installation. Ensure both the MyListing theme and a child theme are active. |
| Wrong widget selected | Make sure you’re clicking the explore listings widget on the page, not a different Elementor widget. The enhanced version displays {C} in its name. |
| Plugin not activated | Go to Plugins → Installed Plugins and verify the plugin is active. |
Template Not Switching When Clicking Listing Type Tabs
| Cause | Solution |
|---|---|
| Listing type not configured in repeater | Open the Elementor widget editor and ensure each listing type is added to the Listing Types repeater with its own template setting. |
| JavaScript error | Check the browser console (F12 → Console) for errors. The template switching relies on MyListing’s JavaScript framework. A conflicting plugin or script may interfere. |
| AJAX request failing | Check the browser’s Network tab (F12 → Network) for failed AJAX requests. Ensure your server allows AJAX requests and the nonce is valid (try refreshing the page). |
Loading Spinner Stays Visible / Page Appears Stuck
| Cause | Solution |
|---|---|
| AJAX request failed | The spinner should disappear after 300ms once the new template loads. If it stays, the AJAX request likely failed. Check the browser console and Network tab for errors. |
| Server timeout | On slower servers, the template render may take too long. Check your server’s PHP execution time limits. |
Layout Looks Wrong After Switching Tabs
| Cause | Solution |
|---|---|
| Wrong column setting | Check the Columns setting for the listing type in the Elementor repeater. Note that Template 2 supports a maximum of two columns — three columns will not work correctly with that template. |
| Conflicting CSS | Custom CSS from other plugins or your child theme may conflict with the dynamically loaded template. Inspect the explore area with browser dev tools. |
Map Not Appearing for a Listing Type
| Cause | Solution |
|---|---|
| Template 3 or 4 selected | Templates 3 and 4 are mapless layouts. If you need a map for a listing type, use Template 1 or Template 2. |
Template Overwrite Warning
The following template files in your child theme are managed by this plugin and will be overwritten on activation and updates:
sections/explore.php
templates/includes/elementor/widgets/explore.php
Do not make customizations to these specific files, as they will be lost on the next plugin update.
“MyListing Theme Not Detected” or “Child Theme Not Detected” Error
The MyListing theme and a child theme must both be installed and active. Go to Appearance → Themes to verify.
For further support, visit codicts.com or contact us at support@codicts.com.