The Search Results block is the landing place for a search. It reads the search a visitor submitted from the page address, shows the matching listings, and pre-fills a refine bar with what they asked for so they can narrow it without starting again.
Build one page holding this block, then point every Search Form on the site at that page.
Before you start
Create the page and place the block on it first. You need its address before you can set the Results page URL on your search forms.
Setting it up
- Create a page, for example one called Property Search.
- Add the Search Results block to it and publish.
- Copy the page address.
- Open each Search Form block on your site and paste that address into Results page URL.
Expected result: submitting the form lands on the results page with the criteria filled into the refine bar and the matching listings below it.
What you can set
Per page is the page size, defaulting to 12.
Show filter bar controls the refine bar above the results. It is on by default and is what lets a visitor adjust their search in place.
Search fields chooses which filters the refine bar offers, and Search fields per row lays them out 3, 4, 5 or 6 across, defaulting to 4.
There is deliberately no initial filter here. The filter comes from the visitor’s search, and a block level filter would silently override it.
As a shortcode
[mlsimport_property_list_filters count="12" fields_per_row="4"]
In the block editor
Add Search Results from the MLSImport group in the inserter. In the editor it shows unfiltered listings, because there is no search in the address of an editor screen. The real filtering happens on the published page.
In Elementor
Drag Search Results from MLSImport Widgets. The page size and refine bar options are on the Content tab, and the Style tab styles the result cards.
The refine bar only offers the fields you enable, and a visitor cannot narrow by a field that is not there. Enabling one or two more than the search form itself carries is usually the right balance, so people can add a criterion they left out.
If it does not work
- The page shows every listing regardless of the search. The form is not pointing at this page. Check Results page URL on the search form, and check the page address has not changed since you set it.
- The refine bar is empty of the visitor’s criteria. The fields they searched on are not enabled in the refine bar, so there is nowhere to display them. The results are still filtered correctly.
- Nothing is found for a search that should match. Check the value against the terms in wp-admin. Search values have to match the MLS spelling, and a term list is the fastest way to see what your feed actually publishes.
- Every search returns the same results. A page cache is serving one copy of the results page. Exclude that page from caching.
Frequently asked questions
Can I use Property List instead and skip this block?
Only if you do not need a search form. Property List filters from its own settings and ignores what a visitor submitted, so a form pointed at a page holding it produces the same results every time.
Can visitors bookmark or share a search?
Yes. The criteria live in the page address, so the link reproduces the same search for anyone who opens it, subject to listings having changed since.
Can I have more than one results page?
Yes. Point different forms at different pages, for example a rentals search and a sales search, each with a refine bar carrying the fields that matter to it.
Does this block work with my theme’s own search?
No. It reads the parameters the MLSImport search form submits, which a theme search widget does not produce. Use the Search Form block to feed it.
Related
- The Search Form block
- The Property List block
- The Half Map block
- Building your pages: blocks, shortcodes and Elementor widgets
Send us your search page and the search that came back wrong and we will trace it.