What you want is totally doable: your search box needs to send the visitor to a
Search Results page, and the grid widget on that page must be set to query
the current search query (not “all posts”).
Option 1 (recommended): Use Elementor’s Search Results template If you’re on
Elementor Pro, go to
Templates → Theme Builder → Search Results and create a Search Results template. Edit it with Elementor and drop in either:
- Loop Grid (best) or
- Posts widget
Then set the widget’s query source to the archive/search context (it may show as “Current Query”, “Archive”, or similar depending on widget). Publish it and set the display condition to
Search Results. Now when someone searches, they’ll land on a grid that’s filtered by what they typed.
Option 2: Keep your page, but pass the search term via URL Make sure your search form submits to a page that contains your grid, and includes the search parameter
?s=term. WordPress uses
s as the search key. Example URL:
Code:
https://yoursite.com/search/?s=hawaii
On that page, the Posts/Loop Grid must be configured to use the current query; otherwise it will show everything.
If you don’t have Elementor Pro The free version can’t build a Search Results template via Theme Builder. Easiest path is a plugin that provides a grid/loop for search results, or switch to an Elementor-compatible theme that offers a search results layout with a grid.
Before changing templates/site parts, take a quick backup (or at least export templates) so you can roll back if the theme’s search layout gets replaced. If you tell me whether you have Elementor Pro and what theme you’re using, I can point you to the exact setting names in your widgets.