[benecaster_search]
Full-text keyword search form for episodes. Renders a search input and live results area — results load via fetch() without a page reload. Available to all visitors including those without a subscriber account; access filtering happens at the query level, resolved the same way as the searcher’s feed. Anonymous visitors find only public episodes. A subscriber — logged in, or sending their feed token — finds what their feed carries: their tier’s episodes, plus episodes from any buy-up they hold and any they bought outright.
Coexists with benecaster_ai_search — both can be placed on the same site simultaneously. Typical pattern: [benecaster_search] on the public episode archive (no API cost); [benecaster_ai_search] gated to a tier with benecaster_tier_gate.
Same-page upgrade pattern: To show regular search to visitors and AI search to subscribers at a given tier on the same page, wrap each shortcode in its own [benecaster_tier_gate] branch — see that shortcode’s own entry for the one-liner. Do not use a bare is_user_logged_in() conditional for this: it checks for a login, not a tier, so it would hand AI Search (billed per search) to every logged-in account, including free ones and followers.
Output filterable via benecaster_search_output. Gutenberg block and Elementor widget available via the Blocks & Widgets Library add-on.
Parameters
| Name | Type | Default | Required | Description |
|---|---|---|---|---|
show_id |
int |
(current show)
|
No | Show to search within. Defaults to the current show page or episode page's show, then the site's only show. Needed only on a multi-show site, on a page that is neither. |
placeholder |
string |
Search episodes…
|
No | Input placeholder text. |
per_page |
int |
10
|
No | Number of results per page. |
style |
string |
list
|
No | Result layout. list — vertical stacked cards; grid — two-column grid. |
Example
<!-- Default search form for the current show -->
[benecaster_search]
<!-- Custom placeholder and grid layout -->
[benecaster_search placeholder="Search all episodes..." style="grid"]
<!-- Specific show, 5 results per page -->
[benecaster_search show_id="2" per_page="5"]
<!-- Compact list, custom placeholder -->
[benecaster_search placeholder="Find an episode..." per_page="8" style="list"]