{"id":49406,"date":"2025-09-25T12:00:13","date_gmt":"2025-09-25T12:00:13","guid":{"rendered":"https:\/\/crocoblock.com\/knowledge-base\/?post_type=article&#038;p=49406"},"modified":"2025-09-25T12:00:13","modified_gmt":"2025-09-25T12:00:13","slug":"building-listing-with-filters-using-bolt","status":"publish","type":"article","link":"https:\/\/crocoblock.com\/knowledge-base\/jetengine\/building-listing-with-filters-using-bolt\/","title":{"rendered":"How to Build a Listing with Filters via Bolt"},"content":{"rendered":"\n<p>In this tutorial, we describe how to create a website using only WordPress, Crocoblock\u2019s <em>JetEngine<\/em> plugin, and <a href=\"https:\/\/bolt.new\/\" target=\"_blank\" rel=\"noreferrer noopener nofollow\">Bolt<\/a> as an AI Builder. For this case, you don\u2019t need any builder as Elementor, Divi, etc. For additional details, see the article on <a href=\"https:\/\/crocoblock.com\/blog\/wordpress-ai-builders-and-wordpress-crocoblock-combo\/\" target=\"_blank\" rel=\"noreferrer noopener\"><strong>WordPress and AI Builders Integration using Crocoblock: Bolt and Lovable Cases<\/strong><\/a>.<\/p>\n\n\n\n<p>In our case, we will create a website that showcases mugs as products. Mugs are added to our WordPress website as <a href=\"https:\/\/crocoblock.com\/knowledge-base\/features\/custom-content-type\/\" target=\"_blank\" rel=\"noreferrer noopener\"><strong>Custom Content Type (CCT)<\/strong><\/a> items.<\/p>\n\n\n\n<p>Also, you can display posts on your new website built with AI Builder by configuring the <a href=\"https:\/\/crocoblock.com\/knowledge-base\/jetengine\/how-to-build-listing-with-filters-via-lovable\/\" target=\"_blank\" rel=\"noreferrer noopener\"><strong>Query Builder<\/strong><\/a>. For that, you can refer to the <a href=\"https:\/\/crocoblock.com\/knowledge-base\/jetengine\/how-to-build-listing-with-filters-via-lovable\/\" target=\"_blank\" rel=\"noreferrer noopener\"><strong>How to Build Listing with Filters via Lovable<\/strong><\/a> tutorial.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"setting-up-a-cct-as-a-source\">Setting up a CCT as a Source<\/h2>\n\n\n\n<p>To display items (e.g., mugs) on a new website, a <strong>CCT<\/strong> should be created, and <strong>CCT<\/strong> items should be added to the WordPress website. For that, explore the <a href=\"https:\/\/crocoblock.com\/knowledge-base\/jetengine\/how-to-create-custom-content-type\/\" target=\"_blank\" rel=\"noreferrer noopener\"><strong>How to Create Custom Content Type<\/strong><\/a><strong> <\/strong>tutorial.<\/p>\n\n\n<div class=\"note-banner d-flex border-bold border-jetthemecore rounded overflow-hidden p-20\"><div class=\"mr-12\"><svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M9 21C9 21.5 9.4 22 10 22H14C14.6 22 15 21.5 15 21V20H9V21ZM12 2C8.1 2 5 5.1 5 9C5 11.4 6.2 13.5 8 14.7V17C8 17.5 8.4 18 9 18H15C15.6 18 16 17.5 16 17V14.7C17.8 13.4 19 11.3 19 9C19 5.1 15.9 2 12 2Z\" fill=\"#F2D23C\"\/><\/svg><\/div><div class=\"d-flex flex-column\"><div class=\"text-900 mb-12\">Things to know<\/div><p class=\"m-0\">If your <strong>CCT<\/strong> contains a \u201c<a href=\"https:\/\/crocoblock.com\/knowledge-base\/features\/meta-field-types-overview\/#media\" target=\"_blank\" rel=\"noreferrer noopener\">Media<\/a>\u201d custom field, ensure to set the <strong>Value format <\/strong>to \u201cMedia URL.\u201d<\/p><\/div><\/div>\n\n\n\n<div class=\"wp-block-image size-large\"><a href=\"https:\/\/crocoblock.com\/knowledge-base\/wp-content\/uploads\/2025\/09\/cct-media-custom-field-with-the-media-url-value-format.webp\"><img loading=\"lazy\" decoding=\"async\" width=\"1824\" height=\"1100\" src=\"https:\/\/crocoblock.com\/knowledge-base\/wp-content\/uploads\/2025\/09\/cct-media-custom-field-with-the-media-url-value-format.webp\" alt=\"cct media custom field with the media url value format\" class=\"wp-image-49412\" srcset=\"https:\/\/crocoblock.com\/knowledge-base\/wp-content\/uploads\/2025\/09\/cct-media-custom-field-with-the-media-url-value-format.webp 1824w, https:\/\/crocoblock.com\/knowledge-base\/wp-content\/uploads\/2025\/09\/cct-media-custom-field-with-the-media-url-value-format-300x181.webp 300w, https:\/\/crocoblock.com\/knowledge-base\/wp-content\/uploads\/2025\/09\/cct-media-custom-field-with-the-media-url-value-format-1024x618.webp 1024w, https:\/\/crocoblock.com\/knowledge-base\/wp-content\/uploads\/2025\/09\/cct-media-custom-field-with-the-media-url-value-format-768x463.webp 768w, https:\/\/crocoblock.com\/knowledge-base\/wp-content\/uploads\/2025\/09\/cct-media-custom-field-with-the-media-url-value-format-1536x926.webp 1536w, https:\/\/crocoblock.com\/knowledge-base\/wp-content\/uploads\/2025\/09\/cct-media-custom-field-with-the-media-url-value-format-600x362.webp 600w\" sizes=\"(max-width: 1824px) 100vw, 1824px\" \/><\/a><\/div>\n\n\n\n<p>In the <strong>General Settings<\/strong> of the <strong>CCT<\/strong>, enable the <strong>Register get items\/item REST API Endpoint<\/strong> toggle.<\/p>\n\n\n\n<p>The URLs that appear in <strong>Endpoint URL<\/strong> should be provided in the AI builder prompt:<\/p>\n\n\n\n<ul>\n<li>The first one returns all items for a listing;<\/li>\n\n\n\n<li>The second one returns a single item for a Single page.<\/li>\n<\/ul>\n\n\n\n<div class=\"wp-block-image size-large\"><a href=\"https:\/\/crocoblock.com\/knowledge-base\/wp-content\/uploads\/2025\/09\/register-get-items-rest-api-endpoint-toggle.webp\"><img loading=\"lazy\" decoding=\"async\" width=\"1824\" height=\"1100\" src=\"https:\/\/crocoblock.com\/knowledge-base\/wp-content\/uploads\/2025\/09\/register-get-items-rest-api-endpoint-toggle.webp\" alt=\"register get items rest api endpoint toggle\" class=\"wp-image-49408\" srcset=\"https:\/\/crocoblock.com\/knowledge-base\/wp-content\/uploads\/2025\/09\/register-get-items-rest-api-endpoint-toggle.webp 1824w, https:\/\/crocoblock.com\/knowledge-base\/wp-content\/uploads\/2025\/09\/register-get-items-rest-api-endpoint-toggle-300x181.webp 300w, https:\/\/crocoblock.com\/knowledge-base\/wp-content\/uploads\/2025\/09\/register-get-items-rest-api-endpoint-toggle-1024x618.webp 1024w, https:\/\/crocoblock.com\/knowledge-base\/wp-content\/uploads\/2025\/09\/register-get-items-rest-api-endpoint-toggle-768x463.webp 768w, https:\/\/crocoblock.com\/knowledge-base\/wp-content\/uploads\/2025\/09\/register-get-items-rest-api-endpoint-toggle-1536x926.webp 1536w, https:\/\/crocoblock.com\/knowledge-base\/wp-content\/uploads\/2025\/09\/register-get-items-rest-api-endpoint-toggle-600x362.webp 600w\" sizes=\"(max-width: 1824px) 100vw, 1824px\" \/><\/a><\/div>\n\n\n\n<p>Next, click the \u201c<strong>Parameters Overview<\/strong>\u201d link and include all the information from the pop-up in your prompt. This helps the builder better understand the data structure, as these parameters define how data from custom fields and the content type can be requested or filtered.<\/p>\n\n\n\n<div class=\"wp-block-image size-large is-resized\"><a href=\"https:\/\/crocoblock.com\/knowledge-base\/wp-content\/uploads\/2025\/09\/get-endpoint-parameters-overview.webp\"><img loading=\"lazy\" decoding=\"async\" width=\"1824\" height=\"1100\" src=\"https:\/\/crocoblock.com\/knowledge-base\/wp-content\/uploads\/2025\/09\/get-endpoint-parameters-overview.webp\" alt=\"get endpoint parameters overview\" class=\"wp-image-49407\" style=\"width:840px;height:auto\" srcset=\"https:\/\/crocoblock.com\/knowledge-base\/wp-content\/uploads\/2025\/09\/get-endpoint-parameters-overview.webp 1824w, https:\/\/crocoblock.com\/knowledge-base\/wp-content\/uploads\/2025\/09\/get-endpoint-parameters-overview-300x181.webp 300w, https:\/\/crocoblock.com\/knowledge-base\/wp-content\/uploads\/2025\/09\/get-endpoint-parameters-overview-1024x618.webp 1024w, https:\/\/crocoblock.com\/knowledge-base\/wp-content\/uploads\/2025\/09\/get-endpoint-parameters-overview-768x463.webp 768w, https:\/\/crocoblock.com\/knowledge-base\/wp-content\/uploads\/2025\/09\/get-endpoint-parameters-overview-1536x926.webp 1536w, https:\/\/crocoblock.com\/knowledge-base\/wp-content\/uploads\/2025\/09\/get-endpoint-parameters-overview-600x362.webp 600w\" sizes=\"(max-width: 1824px) 100vw, 1824px\" \/><\/a><\/div>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"writing-a-prompt-for-a-website-with-a-listing-and-filters\">Writing a Prompt for a Website with a Listing and Filters<\/h2>\n\n\n\n<p>A well-structured AI builder prompt should include:<\/p>\n\n\n\n<ul>\n<li><strong>Project description<\/strong>: Specify the site type, its goal, main functionality, and examples of similar sites;<\/li>\n\n\n\n<li><strong>Data source<\/strong>: Specify REST API usage and provide the corresponding URLs. Include returned data details: for the <strong>CCT<\/strong>, it\u2019s a list of available meta fields;<\/li>\n\n\n\n<li><strong>Filters<\/strong>: Describe required filters and their type (checkbox, radio, select). Include possible values or note if they\u2019re dynamic via the API;<\/li>\n\n\n\n<li><strong>Single pages<\/strong>: If needed, indicate that single pages should be created and provide the endpoint URL returning the data.<\/li>\n<\/ul>\n\n\n\n<p>As an example, we create such a prompt:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>I want to build a website that showcases mugs as products.\n\nYou can grab the data from the API here:\nhttps:&#47;&#47;example.com\/wp-json\/jet-cct\/mugs\n\nThe website should display a listing of mugs with filters for material (ceramic, glass, porcelain) and price range.\n\nHere is a description of all API response props (which also can be used as request parameters in _filters):\n_ID - Item ID;\nmug_name - Mug name;\nmug_desc - Mug desc;\nmug_image - Mug image;\nproduct_url - Product URL;\nregular_price - Regular price;\nmug_materials - Mug materials;\ncct_author_id - Item Author;\ncct_created - Created Date;\ncct_modified - Modified Date;\ncct_status - Status;\n_cct_search - Search string, type: string;\n_cct_search_by - Comma separated field names list to search only by these fields, type: string;\n_limit - Items limit, type: number;\n_offset - Items offset, type: number;\n_orderby - Order items by field, type: string;\n_order - Order - asc or desc, type: string;\n_ordertype - Order value type - integer, float, timestamp, date, string, type: string;\n_filters - JSON-encoded filters string, type: string;\n\nRequest URL with parameters example:\nhttps:\/\/example.com\/wp-json\/jet-cct\/mugs\/?cct_author_id=1&_orderby=_ID&_order=desc&_ordertype=integer\n\nWhen displaying the price, make sure to cast it to a number before formatting, for example:\nNumber(mug.regular_price).toFixed(2)\n<\/code><\/pre>\n\n\n<div class=\"note-banner d-flex border-bold border-jetthemecore rounded overflow-hidden p-20\"><div class=\"mr-12\"><svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M9 21C9 21.5 9.4 22 10 22H14C14.6 22 15 21.5 15 21V20H9V21ZM12 2C8.1 2 5 5.1 5 9C5 11.4 6.2 13.5 8 14.7V17C8 17.5 8.4 18 9 18H15C15.6 18 16 17.5 16 17V14.7C17.8 13.4 19 11.3 19 9C19 5.1 15.9 2 12 2Z\" fill=\"#F2D23C\"\/><\/svg><\/div><div class=\"d-flex flex-column\"><div class=\"text-900 mb-12\">Things to know<\/div><p class=\"m-0\">The price is stored in a \u201cNumber\u201d field, but the API converts it to a string, which prevents the prices from being delivered to the new websites. To fix this, we make sure to coerce it back to a number and include this instruction in the prompt:<\/p><\/div><\/div>\n\n\n\n<pre class=\"wp-block-code\"><code>When displaying the price, make sure to cast it to a number before formatting, for example:\nNumber(regular_price).toFixed(2)\n<\/code><\/pre>\n\n\n\n<p>To create a Single page, you can include such a line in the prompt:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>To create a single page for a website, use the API endpoint: \nhttps:\/\/example.com\/wp-json\/jet-cct\/websites\/{_ID}. Replace {_ID} with the actual item ID to retrieve the data for that specific website.<\/code><\/pre>\n\n\n\n<p>After entering such a prompt into the Bolt text input area, we create a website with a listing and filters.<\/p>\n\n\n\n<div class=\"wp-block-image size-large\"><a href=\"https:\/\/crocoblock.com\/knowledge-base\/wp-content\/uploads\/2025\/09\/website-with-a-listing-and-filters-created-with-bolt-ai-builder.webp\"><img loading=\"lazy\" decoding=\"async\" width=\"1824\" height=\"1100\" src=\"https:\/\/crocoblock.com\/knowledge-base\/wp-content\/uploads\/2025\/09\/website-with-a-listing-and-filters-created-with-bolt-ai-builder.webp\" alt=\"website with a listing and filters created with Bolt AI builder\" class=\"wp-image-49410\" srcset=\"https:\/\/crocoblock.com\/knowledge-base\/wp-content\/uploads\/2025\/09\/website-with-a-listing-and-filters-created-with-bolt-ai-builder.webp 1824w, https:\/\/crocoblock.com\/knowledge-base\/wp-content\/uploads\/2025\/09\/website-with-a-listing-and-filters-created-with-bolt-ai-builder-300x181.webp 300w, https:\/\/crocoblock.com\/knowledge-base\/wp-content\/uploads\/2025\/09\/website-with-a-listing-and-filters-created-with-bolt-ai-builder-1024x618.webp 1024w, https:\/\/crocoblock.com\/knowledge-base\/wp-content\/uploads\/2025\/09\/website-with-a-listing-and-filters-created-with-bolt-ai-builder-768x463.webp 768w, https:\/\/crocoblock.com\/knowledge-base\/wp-content\/uploads\/2025\/09\/website-with-a-listing-and-filters-created-with-bolt-ai-builder-1536x926.webp 1536w, https:\/\/crocoblock.com\/knowledge-base\/wp-content\/uploads\/2025\/09\/website-with-a-listing-and-filters-created-with-bolt-ai-builder-600x362.webp 600w\" sizes=\"(max-width: 1824px) 100vw, 1824px\" \/><\/a><\/div>\n\n\n\n<p>Then, we verify that the filters are working correctly.<\/p>\n\n\n\n<div class=\"wp-block-image size-large is-resized\"><a href=\"https:\/\/crocoblock.com\/knowledge-base\/wp-content\/uploads\/2025\/09\/testing-filters-on-the-website-created-with-AI-builder.webp\"><img loading=\"lazy\" decoding=\"async\" width=\"1824\" height=\"1100\" src=\"https:\/\/crocoblock.com\/knowledge-base\/wp-content\/uploads\/2025\/09\/testing-filters-on-the-website-created-with-AI-builder.webp\" alt=\"testing filters on the website created with AI builder\" class=\"wp-image-49409\" style=\"width:840px;height:auto\" srcset=\"https:\/\/crocoblock.com\/knowledge-base\/wp-content\/uploads\/2025\/09\/testing-filters-on-the-website-created-with-AI-builder.webp 1824w, https:\/\/crocoblock.com\/knowledge-base\/wp-content\/uploads\/2025\/09\/testing-filters-on-the-website-created-with-AI-builder-300x181.webp 300w, https:\/\/crocoblock.com\/knowledge-base\/wp-content\/uploads\/2025\/09\/testing-filters-on-the-website-created-with-AI-builder-1024x618.webp 1024w, https:\/\/crocoblock.com\/knowledge-base\/wp-content\/uploads\/2025\/09\/testing-filters-on-the-website-created-with-AI-builder-768x463.webp 768w, https:\/\/crocoblock.com\/knowledge-base\/wp-content\/uploads\/2025\/09\/testing-filters-on-the-website-created-with-AI-builder-1536x926.webp 1536w, https:\/\/crocoblock.com\/knowledge-base\/wp-content\/uploads\/2025\/09\/testing-filters-on-the-website-created-with-AI-builder-600x362.webp 600w\" sizes=\"(max-width: 1824px) 100vw, 1824px\" \/><\/a><\/div>\n\n\n\n<p><\/p>\n\n\n\n<p>That\u2019s all. Now you know how to build a dynamic WordPress listing with filters using <em>JetEngine<\/em> and Bolt AI Builder.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Learn how to build a dynamic WordPress listing with filters using JetEngine and Bolt AI Builder.<\/p>\n","protected":false},"author":8,"featured_media":0,"template":"","format":"standard","builder-category":[],"article-category":[583],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v20.9 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>How to Build a Listing with Filters via Bolt \u2014 JetEngine | Crocoblock<\/title>\n<meta name=\"description\" content=\"Learn how to build a dynamic WordPress listing with filters using JetEngine and Bolt AI Builder. Follow this guide to set up CCT, connect the REST API, add filters, and create single pages.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/crocoblock.com\/knowledge-base\/jetengine\/building-listing-with-filters-using-bolt\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"How to Build a Listing with Filters via Bolt \u2014 JetEngine | Crocoblock\" \/>\n<meta property=\"og:description\" content=\"Learn how to build a dynamic WordPress listing with filters using JetEngine and Bolt AI Builder. Follow this guide to set up CCT, connect the REST API, add filters, and create single pages.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/crocoblock.com\/knowledge-base\/jetengine\/building-listing-with-filters-using-bolt\/\" \/>\n<meta property=\"og:site_name\" content=\"Help Center\" \/>\n<meta property=\"og:image\" content=\"https:\/\/crocoblock.com\/knowledge-base\/wp-content\/uploads\/2025\/09\/cct-media-custom-field-with-the-media-url-value-format.webp\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"5 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/crocoblock.com\/knowledge-base\/jetengine\/building-listing-with-filters-using-bolt\/\",\"url\":\"https:\/\/crocoblock.com\/knowledge-base\/jetengine\/building-listing-with-filters-using-bolt\/\",\"name\":\"How to Build a Listing with Filters via Bolt \u2014 JetEngine | Crocoblock\",\"isPartOf\":{\"@id\":\"https:\/\/crocoblock.com\/knowledge-base\/#website\"},\"datePublished\":\"2025-09-25T12:00:13+00:00\",\"dateModified\":\"2025-09-25T12:00:13+00:00\",\"description\":\"Learn how to build a dynamic WordPress listing with filters using JetEngine and Bolt AI Builder. Follow this guide to set up CCT, connect the REST API, add filters, and create single pages.\",\"breadcrumb\":{\"@id\":\"https:\/\/crocoblock.com\/knowledge-base\/jetengine\/building-listing-with-filters-using-bolt\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/crocoblock.com\/knowledge-base\/jetengine\/building-listing-with-filters-using-bolt\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/crocoblock.com\/knowledge-base\/jetengine\/building-listing-with-filters-using-bolt\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/crocoblock.com\/knowledge-base\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Articles\",\"item\":\"https:\/\/crocoblock.com\/knowledge-base\/articles\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"How to Build a Listing with Filters via Bolt\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/crocoblock.com\/knowledge-base\/#website\",\"url\":\"https:\/\/crocoblock.com\/knowledge-base\/\",\"name\":\"Help Center\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/crocoblock.com\/knowledge-base\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/crocoblock.com\/knowledge-base\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/crocoblock.com\/knowledge-base\/#organization\",\"name\":\"Help Center\",\"url\":\"https:\/\/crocoblock.com\/knowledge-base\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/crocoblock.com\/knowledge-base\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/crocoblock.com\/knowledge-base\/wp-content\/uploads\/2025\/04\/invert-crocoblock-logo.svg\",\"contentUrl\":\"https:\/\/crocoblock.com\/knowledge-base\/wp-content\/uploads\/2025\/04\/invert-crocoblock-logo.svg\",\"caption\":\"Help Center\"},\"image\":{\"@id\":\"https:\/\/crocoblock.com\/knowledge-base\/#\/schema\/logo\/image\/\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"How to Build a Listing with Filters via Bolt \u2014 JetEngine | Crocoblock","description":"Learn how to build a dynamic WordPress listing with filters using JetEngine and Bolt AI Builder. Follow this guide to set up CCT, connect the REST API, add filters, and create single pages.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/crocoblock.com\/knowledge-base\/jetengine\/building-listing-with-filters-using-bolt\/","og_locale":"en_US","og_type":"article","og_title":"How to Build a Listing with Filters via Bolt \u2014 JetEngine | Crocoblock","og_description":"Learn how to build a dynamic WordPress listing with filters using JetEngine and Bolt AI Builder. Follow this guide to set up CCT, connect the REST API, add filters, and create single pages.","og_url":"https:\/\/crocoblock.com\/knowledge-base\/jetengine\/building-listing-with-filters-using-bolt\/","og_site_name":"Help Center","og_image":[{"url":"https:\/\/crocoblock.com\/knowledge-base\/wp-content\/uploads\/2025\/09\/cct-media-custom-field-with-the-media-url-value-format.webp"}],"twitter_card":"summary_large_image","twitter_misc":{"Est. reading time":"5 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/crocoblock.com\/knowledge-base\/jetengine\/building-listing-with-filters-using-bolt\/","url":"https:\/\/crocoblock.com\/knowledge-base\/jetengine\/building-listing-with-filters-using-bolt\/","name":"How to Build a Listing with Filters via Bolt \u2014 JetEngine | Crocoblock","isPartOf":{"@id":"https:\/\/crocoblock.com\/knowledge-base\/#website"},"datePublished":"2025-09-25T12:00:13+00:00","dateModified":"2025-09-25T12:00:13+00:00","description":"Learn how to build a dynamic WordPress listing with filters using JetEngine and Bolt AI Builder. Follow this guide to set up CCT, connect the REST API, add filters, and create single pages.","breadcrumb":{"@id":"https:\/\/crocoblock.com\/knowledge-base\/jetengine\/building-listing-with-filters-using-bolt\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/crocoblock.com\/knowledge-base\/jetengine\/building-listing-with-filters-using-bolt\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/crocoblock.com\/knowledge-base\/jetengine\/building-listing-with-filters-using-bolt\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/crocoblock.com\/knowledge-base\/"},{"@type":"ListItem","position":2,"name":"Articles","item":"https:\/\/crocoblock.com\/knowledge-base\/articles\/"},{"@type":"ListItem","position":3,"name":"How to Build a Listing with Filters via Bolt"}]},{"@type":"WebSite","@id":"https:\/\/crocoblock.com\/knowledge-base\/#website","url":"https:\/\/crocoblock.com\/knowledge-base\/","name":"Help Center","description":"","publisher":{"@id":"https:\/\/crocoblock.com\/knowledge-base\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/crocoblock.com\/knowledge-base\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/crocoblock.com\/knowledge-base\/#organization","name":"Help Center","url":"https:\/\/crocoblock.com\/knowledge-base\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/crocoblock.com\/knowledge-base\/#\/schema\/logo\/image\/","url":"https:\/\/crocoblock.com\/knowledge-base\/wp-content\/uploads\/2025\/04\/invert-crocoblock-logo.svg","contentUrl":"https:\/\/crocoblock.com\/knowledge-base\/wp-content\/uploads\/2025\/04\/invert-crocoblock-logo.svg","caption":"Help Center"},"image":{"@id":"https:\/\/crocoblock.com\/knowledge-base\/#\/schema\/logo\/image\/"}}]}},"_links":{"self":[{"href":"https:\/\/crocoblock.com\/knowledge-base\/wp-json\/wp\/v2\/article\/49406"}],"collection":[{"href":"https:\/\/crocoblock.com\/knowledge-base\/wp-json\/wp\/v2\/article"}],"about":[{"href":"https:\/\/crocoblock.com\/knowledge-base\/wp-json\/wp\/v2\/types\/article"}],"author":[{"embeddable":true,"href":"https:\/\/crocoblock.com\/knowledge-base\/wp-json\/wp\/v2\/users\/8"}],"wp:attachment":[{"href":"https:\/\/crocoblock.com\/knowledge-base\/wp-json\/wp\/v2\/media?parent=49406"}],"wp:term":[{"taxonomy":"builder-category","embeddable":true,"href":"https:\/\/crocoblock.com\/knowledge-base\/wp-json\/wp\/v2\/builder-category?post=49406"},{"taxonomy":"article-category","embeddable":true,"href":"https:\/\/crocoblock.com\/knowledge-base\/wp-json\/wp\/v2\/article-category?post=49406"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}