Skip to main content

[benecaster_search]

Free

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"]