Standalone mode ships thirteen page blocks: property grids, sliders, maps, search forms, category tiles, a team directory and a contact form. Each one is available in three places, as a shortcode, as a Gutenberg block and as an Elementor widget, and all three produce identical output.
Pick whichever surface matches how you build pages. There is no feature difference between them.
Before you start
Standalone mode has to be active, and you need at least a few imported properties. Most blocks render nothing at all when there is nothing to show, which looks like a broken block on an empty site.
The thirteen blocks
- Property List, a filterable grid with a search bar and pagination.
- Search Results, the results page a search form submits to.
- Search Form, a standalone search bar you place anywhere.
- Half Map, listings beside a live map.
- Map with Listings, a map on its own.
- Property Slider, a swipeable carousel of listings.
- Featured Property, one listing in a large format, in six designs.
- List Properties by ID, an explicit hand picked set.
- Saved Properties, each visitor’s own saved list.
- Category Slider, taxonomy terms as sliding image tiles.
- Display Categories, the same tiles as a static grid.
- Team Directory, your agent profiles as cards.
- Contact Form, a configurable lead form.
Using them as shortcodes
Every block has a shortcode named after it, and every option is an attribute. The shortcode works in any editor, in a widget, and in a template through do_shortcode().
[mlsimport_item_list city="Miami" status="Active" count="12"]
Options you leave out fall back to their defaults, so a bare [mlsimport_item_list] is valid and shows everything.
Using them in the block editor
The blocks sit in their own category in the inserter, grouped under the MLSImport real estate heading. Search the inserter for the block name, drop it in, and the options appear in the sidebar inspector on the right.
Each block renders on the server, so what you see in the editor is what the visitor gets, drawn with your live data rather than a placeholder.
This video builds a home page, a search results page and a map search with these blocks.
Using them in Elementor
The widgets appear under MLSImport Widgets, pinned to the top of the widget panel. Drag one in and its options are on the Content tab.
The listing, agent and form widgets also carry a Style tab with typography, colour, spacing and border controls for the card elements, which the shortcode and Gutenberg versions do not have. That is the one real reason to prefer Elementor for these.
All three surfaces call the same rendering code, so a page built with shortcodes and a page built in Elementor produce the same markup and read the same design settings. Mixing them on one site causes no inconsistency.
This video builds a home page, a search results page and a map search in Elementor with these widgets.
What the design settings control instead
Blocks decide what to show and how many. Look and feel comes from MLS Import Design Settings: the card style, the brand colour, the map defaults and the property page layout apply everywhere at once.
Two settings deliberately do not reach the blocks. Properties per page and Cards per row apply to the archive pages only, because each block carries its own per page and per row option.
The original listings shortcode
There is also a plain [mlsimport_listings] shortcode that predates the page blocks. It accepts the same filter attributes and renders the same grid.
[mlsimport_listings city="Austin" price_min="200000" beds="3" limit="12"]
Existing pages using it keep working. For new pages, Property List is the same grid with a search bar, pagination and editor controls.
Multi value attributes take comma lists, on the shortcode and in the block inspectors alike. status="Active,Pending" matches either, and features="private-pool,has-waterfront" requires both, because amenities narrow a search rather than widen it.
All shortcodes at a glance
| Shortcode | What it shows | Details |
|---|---|---|
[mlsimport_item_list] |
Search bar, results grid and paging | Property List |
[mlsimport_property_list_filters] |
Results of a Search Form submit | Search Results |
[mlsimport_search_form] |
Search form that sends visitors to a results page | Search Form |
[mlsimport_half_map] |
Listings on one side, map on the other | Half Map |
[mlsimport_map_listings] |
Map with every match | Map with Listings |
[mlsimport_content_slider] |
Carousel of property cards | Property Slider |
[mlsimport_featured_property id="123"] |
One large property card | Featured Property |
[mlsimport_list_by_id ids="12,34"] |
Hand-picked properties | List Properties by ID |
[mlsimport_saved] |
The visitor’s saved properties | Saved Properties |
[mlsimport_category_slider] |
City, type or other category tiles in a slider | Category Slider |
[mlsimport_category_list] |
The same tiles in a grid | Display Categories |
[mlsimport_agents_directory] |
Agent cards | Team Directory |
[mlsimport_contact_form] |
Lead form | Contact Form |
[mlsimport_listings] |
Older version of Property List | Uses limit instead of count |
Filter attributes
Property List, Half Map, Property Slider, Map with Listings and [mlsimport_listings] take these filters. Each one limits which properties show.
| Attribute | Matches | Example |
|---|---|---|
listing_type |
The MLS Property Type (sale, lease, land, commercial) | listing_type="Residential Lease" |
property_type |
The MLS sub type (house, condo, townhouse) | property_type="Condominium,Townhouse" |
status |
The MLS status | status="Active,Pending" |
city, state, zip |
Name as shown on the site | city="Austin,Round Rock" |
area, county, high_school_district, label |
Category slug, any of them | county="travis" |
features |
Feature slugs, all of them | features="private-pool,has-waterfront" |
location |
City, ZIP, address, area or county | location="Austin" |
keywords |
Free text | keywords="lake view" |
price_min, price_max |
Price range | price_max="500000" |
beds, baths |
At least this many | beds="3" |
sqft_min, sqft_max, lot_min, lot_max |
Living area and lot, in square feet | sqft_min="1500" |
year_min, year_max |
Year built | year_min="2010" |
garage_min, stories |
At least this many | garage_min="2" |
hoa_max, dom_max |
Maximum HOA fee, maximum days on market | dom_max="30" |
subdivision, listing_id |
Exact subdivision name, MLS number | listing_id="TB8541851" |
list_date_min |
Listed on or after (YYYY-MM-DD) | list_date_min="2026-01-01" |
agent |
Agent post ID | agent="123" |
orderby |
price_high, price_low, newest, oldest, newest_edited, oldest_edited, beds_high, beds_low, baths_high, baths_low | orderby="newest" |
Values are exactly as your MLS sends them, spaces included. To see the values on your site, open the matching dropdown in any Property List search bar. Slugs are in MLSImport Properties under each category.
Rent-only or sale-only pages
Use listing_type. status is Active, Pending and so on, not rent or sale.
- Rentals page:
[mlsimport_item_list listing_type="Residential Lease" search_fields="location,property_type,price,beds_baths,sort"] - For sale page:
[mlsimport_item_list listing_type="Residential,Commercial Sale,Land" search_fields="location,property_type,price,beds_baths,sort"]
When listing_type is not in search_fields, the filter is locked and visitors cannot change it. Add listing_type to the list if you want visitors to switch between types. Half Map works the same way.
The standalone Search Form has no locked filter. To let visitors choose rent or sale there, add the field: [mlsimport_search_form results_url="https://yoursite.com/search-results/" fields="location:half,listing_type:half,price:third,beds_baths:third"]. The results page holds [mlsimport_property_list_filters].
Choosing the search fields
Property List, Half Map and Search Results take search_fields, a comma list in the order you want. Leave it out to show all fields. fields_per_row takes 3 to 6.
The Search Form uses fields instead, with an optional width: location:half. Widths are two_thirds, half, third and quarter.
| Type | Field keys |
|---|---|
| Categories | property_type, listing_type, status, city, state, zip, area, county, high_school_district, features, label |
| Ranges and values | location, price, beds_baths, sqft, lot, year, list_date, garage, stories, hoa, dom, subdivision, mls_number |
| Property List and Half Map only | keywords, sort |
Property page shortcodes
Each part of the single property page is a shortcode: [mlsimport_property_<name>]. Leave out id to use the property being viewed, or add id="1204" to show a set property. Layout is covered in Property page building blocks.
| Group | Names |
|---|---|
| Header | title, title_bar, price, price_info, status, address, header, subnav, breadcrumbs, share |
| Details | overview, features, description, content, excerpt, tabs, accordion, interior, exterior, structure, utilities, financial, schools, location, listing_info, other |
| Media | property_gallery, featured_image, gallery, gallery_masonry, gallery_masonry_v2, slider_classic, slider_vertical, slider_multi, slider_full, virtual_tour, video, map |
| Agent and leads | agent_card, agent_contact, agent_form, agent_form_sidebar, mobile_agent_bar, schedule_tour, booking |
| Other | calculator, similar, attribution |
Example: [mlsimport_property_calculator]. For code-level changes, see the Standalone hooks reference.
Frequently asked questions
Can I use these blocks on a site that is not in standalone mode?
No. They read the standalone property post type and its search index, neither of which is written when the plugin is set to one of the four supported themes. On those themes the theme’s own widgets do this job.
My block shows nothing on the page. What is wrong?
A block that matches no listings renders nothing rather than an empty frame. Check the filter you set on it, then check that properties exist and are published. The category tiles are the other common case, since they show only the terms you explicitly pick.
Do these blocks work with page builders other than Elementor?
Any builder that accepts a shortcode can use every block, which covers most of them. Only Gutenberg and Elementor have native controls.
Will my pages break if I switch page builder later?
Shortcodes survive any switch. Gutenberg blocks and Elementor widgets are stored in their builder’s own format, so moving between the two means rebuilding those pages, exactly as it would for any other block.
Related
- Standalone mode: run MLSImport on any theme
- The Design Settings page
- The Property List block
- Elementor PRO compatibility
Send us the page you are building and we will tell you which block arrangement gets you there.