Description
HXSE — Code-First Search lets you define search filters with PHP arrays and output them with a simple shortcode. No JavaScript configuration required. Powered by htmx for seamless, no-reload filtering.
Why HXSE?
- Code-first — Define everything in PHP arrays. Version-control friendly.
- No page reloads — htmx handles all filtering and pagination seamlessly.
- AI-friendly — Simple, consistent schema structure that AI agents can read and write.
- No dependencies — htmx is bundled. No jQuery required.
Filter Types
search— Keyword searchtaxonomy— Filter by taxonomy / categorymeta— Filter by custom field value or rangedate— Filter by yearrelation— Filter by related post
UI Types
select— Dropdownradio— Radio buttonscheckbox— Multiple selectionrange— Min/max slider (for numeric meta fields)
Pagination Modes
pager— Numbered page links with count displayloadmore— “Load more” button
Basic Usage
`php
add_filter( ‘hxse_schemas’, function( $schemas ) {
$schemas[‘staff_search’] = [
‘post_type’ => ‘staff’,
‘filters’ => [
[‘key’ => ‘keyword’, ‘type’ => ‘search’, ‘label’ => ‘キーワード’],
[‘key’ => ‘department’, ‘type’ => ‘taxonomy’, ‘label’ => ‘部署’,
‘taxonomy’ => ‘department’,
‘ui’ => ‘checkbox’,
],
],
‘pagination’ => [
‘mode’ => ‘pager’,
‘per_page’ => 12,
],
‘template’ => ‘hxse-staff.php’,
];
return $schemas;
} );
`
`
[hxse id=”staff_search”]
`
External Services
This plugin bundles htmx (https://htmx.org/) for handling AJAX requests without page reloads. htmx is included locally within the plugin and does not make any external network requests. It is licensed under the BSD 2-Clause License.
- htmx: https://htmx.org/
- htmx License: https://github.com/bigskysoftware/htmx/blob/master/LICENSE
Installation
- Upload the
hxse-code-first-searchfolder to/wp-content/plugins/. - Activate the plugin through the Plugins menu in WordPress.
- Add
hxse_schemasfilter to your theme’sfunctions.phpor a custom plugin. - Add
[hxse id="your_schema_id"]shortcode to any page.
FAQ
-
Do I need to write JavaScript?
-
No. HXSE handles all htmx configuration automatically. You only write PHP to define your filters.
-
Can I use multiple search instances on one page?
-
Yes. Use the
prefixoption inurl_paramsto avoid parameter conflicts. -
How do I customize the result template?
-
Create
hxse/your-template.phpin your theme directory and specify it in the schema’stemplatekey. -
Does it work with custom fields from HXFE or ACF?
-
Yes. Use
type: 'meta'with the appropriatemeta_key.
Reviews
There are no reviews for this plugin.
Contributors & Developers
“HXSE — Code-First Search” is open source software. The following people have contributed to this plugin.
ContributorsTranslate “HXSE — Code-First Search” into your language.
Interested in development?
Browse the code, check out the SVN repository, or subscribe to the development log by RSS.
Changelog
1.0.0
- Initial release.
- Filter types: search, taxonomy, meta, date, relation.
- UI types: select, radio, checkbox, range.
- URL parameter sync with browser history support.
