This demonstrates how to use the category filter API endpoint with vanilla JavaScript.
Simple category filter with default options:
<div id="basic-filter"></div>
<script>
buildCategoryFilter('basic-filter');
</script>
Category filter with custom field name and label:
<div id="custom-filter"></div>
<script>
buildCategoryFilter('custom-filter', {
fieldName: 'template-categories',
toggleLabel: 'Template Category'
});
</script>
Endpoint: /api/categories
Method: GET
Response Format:
{
"categories": [
{ "id": "category-1", "name": "Business" },
{ "id": "category-2", "name": "Portfolio" },
{ "id": "category-3", "name": "E-commerce" }
]
}
category-filter.js script in your pagebuildCategoryFilter('containerId')<!-- Add this to your page head or before closing body tag -->
<script src="/category-filter.js"></script>
<!-- Replace your existing filter dropdown with: -->
<div id="category-filter-container"></div>
<script>
// Initialize the filter
buildCategoryFilter('category-filter-container', {
fieldName: 'categories', // Must match your CMS filter field
toggleLabel: 'Category'
});
</script>