MLS Import Documentation Aug 7, 2026 · 5 min read

Property page building blocks

Every property page section as a shortcode or block: galleries, map, agent card, calculator, tour forms and attribution.

B
Benjamin Levy
Contributor · MLSimport

Every part of a property page is a section you can place on its own. The gallery, the map, the agent card, the mortgage calculator, the tour form, the attribution block and the rest each have their own shortcode, so a custom property template can be assembled piece by piece.

This page is the reference. If you only need to reorder the standard page, the arranger in the design settings does that without any of this.

How to place one

Every section has a shortcode named after it, taking an optional property ID. Left out, it uses the property currently being displayed, which is what you want inside a template.

[mlsimport_property_agent_card]
[mlsimport_property_calculator id="1204"]

The shortcode is the only surface these sections have. They are deliberately kept out of the Gutenberg inserter and out of the Elementor widget panel, because a section is an internal of the single property template rather than something to drop on a page. Pages that already placed one keep rendering it.

So place them with their shortcodes: in a template through do_shortcode(), in a Gutenberg shortcode block, or in an Elementor text widget. All three routes produce the same markup, since every surface calls the same renderer.

Photos and media

Property Gallery is the main media slot, whose look follows the Media Section Type setting. The individual looks are also available directly when you want to pin one: Classic Slider, Vertical Slider, Multi Image Slider, Full Width Slider, Gallery as a grid, Masonry Gallery v1 and Masonry Gallery v2. Featured Image is the single lead photo.

Virtual Tour and Video embed what the feed carries, and render nothing when it carries none.

Heading and identity

Title Bar (price + actions) is the usual heading: the address, the price, and the save, share and print controls. Its parts are also separate sections when you want them apart: Property Title, Property Price, Additional Price Info, Property Status, Property Address and Header Section.

Breadcrumbs is the trail back to the archive, and Section Navigation is the jump link bar to the sections below.

Facts and details

Overview is the headline tile strip, and its tiles are chosen in the design settings.

The nine detail sections are Interior, Exterior, Structure, Utilities, Financial, Schools, Location, Listing Info and Other Details. Each shows the imported fields belonging to it, and each renders nothing when none of its fields carry a value.

Features lists the amenity terms as chips. Description, Content and Excerpt are three views of the listing’s own text.

Location

Map plots the listing at its coordinates, using the zoom from the design settings. A listing with no coordinates renders no map.

Agent, contact and leads

Agent Card is the contact block, and Mobile Agent Bar (sticky) is the version pinned to the bottom of the screen on phones.

There are four lead forms, differing in layout rather than in what they collect: Agent Contact Form, Agent Form Section, Agent Form (sidebar) and Schedule a Tour, which adds the date and time picker. Its time slots come from Preferred tour times in the design settings, and leaving that blank hides the time picker.

Booking Sidebar is the rail style enquiry panel that stays beside the content as the visitor scrolls.

Tools and compliance

Mortgage Calculator estimates a payment from the listing price, with the visitor adjusting the deposit, rate and term.

Share / Print is the share and print controls on their own.

MLS Attribution prints the logo and disclaimer your board requires, with the MLS number and year filled in per listing.

Similar Listings shows comparable properties, with the count and the row width set in the design settings.

Containers

Sections as Tabs and Sections as Accordion hold an ordered set of any other sections. A map can sit as a tab beside Interior, and a section with nothing to show is dropped rather than offered as an empty tab.

Pro Tip

Inside a tab or an accordion panel the container prints the heading, so the section inside is asked to omit its own. Placing the same section on its own gives you its heading back, which is why a section can look different in two places without any setting having changed.

Overriding the template instead

For a fully custom property page, copy single-mlsimport-property.php from the plugin’s templates folder into a folder named mlsimport inside your theme and edit your copy. It takes precedence over the bundled one and survives plugin updates.

Once you do that, the arranger in the design settings no longer governs the page. Your template renders what it names.

Pro Tip

Try the arranger first. Most layouts people plan a custom template for turn out to be a reorder plus one disabled section, and a bundled template keeps receiving improvements that a copy does not.

Frequently asked questions

Can I put a property section on a normal page?

Yes, with an explicit ID: [mlsimport_property_map id="1204"]. Without one it needs a property to be the current post, so on an ordinary page it renders nothing.

Why does my section render nothing?

Either the listing has no data for it, or the fields behind it are not ticked on the Select Import fields tab. Sections never render as an empty heading.

Can I use these in Elementor?

They are hidden from the Elementor panel on purpose. Place them with their shortcodes in an Elementor text widget, which produces the same output.

Do the sections load their own styles and scripts?

Yes, and only when they actually render something. A page with no calculator never loads the calculator script, which is why disabling a section is faster than hiding it.

  1. Arranging the single property page
  2. The Design Settings page
  3. The Select Import fields screen
  4. Building your pages: blocks, shortcodes and Elementor widgets

Send us the property page you are building and we will tell you which sections to place.

B
About the author
Benjamin Levy
Writes about MLS feeds, IDX compliance, and running real-estate websites on WordPress at scale.
All posts by Benjamin