A RESO-anchored data model, theme-overridable templates, and WooCommerce-style hooks. Build what the client asked for without patching plugin files.

What you are building on

MLSimport writes MLS listings into WordPress as ordinary posts, with fields you chose routed to post meta, taxonomy terms or post content. Names come from the RESO Data Dictionary, so ListPrice means the same thing on every board you ever connect. ListingKey is the stable identity, and it is what reconciliation and the activity log match on.

Over 400 fields are available. Per-MLS correlation and aliasing smooths out the boards that disagree with each other.

Templates

The standalone front end ships theme-overridable templates. Copy one into the theme and yours wins, the same pattern you already know from WooCommerce. No child-theme gymnastics, no forking the plugin.

Hooks

Action and filter hooks run across the standalone system. Change output, change queries, change behaviour, all from your own code. The hook list tracks the plugin version, so ask support for the current set against the build you are on rather than working from a stale list.

Blocks, three ways

Ten page-building blocks (Property List, Search Results, List Items by ID, Content Slider, List per Agent, Featured Property, Map with Listings, Search Form, Contact Form, Half Map), each available as a shortcode, a Gutenberg block and an Elementor widget, all producing the same markup. Single-property pages assemble from more than thirty sections.

Things that will save you an afternoon

  • Photos are remote. Listing images are references to the MLS or its CDN, not attachments. Attachment functions will not find them.
  • No third-party CDN calls. Sliders, maps and the lightbox are self-hosted. Maps are Leaflet, no API key required, MapBox tiles optional.
  • Structured data is already there. JSON-LD RealEstateListing on every listing page, with geo-coordinates, price and agent. Do not add a second copy.
  • Sync is chunked. Batched, paginated, memory-safe processing, and modification timestamps skip unchanged records. If you hook into the import loop, keep it cheap.
  • Cron is swappable. WP-Cron by default, with a URL trigger if you would rather drive it from a real server cron.
  • There is a search index. Standalone search uses a dedicated index, with a reindex command in the admin tools.

What there is not

There is no public MLSimport REST API. The API is your MLS’s, over RESO Web API with OAuth 2.0, and MLSimport is the client. If you were hoping to query MLSimport from outside WordPress, query WordPress.

Details in the API reference and the docs. Questions a page cannot answer: open a ticket from your dashboard.