WP Grid Builder Bricks - WordPress Plugin
WP Grid Builder Bricks is an add-on that enhances the functionality of WP Grid Builder by providing additional elements for creating stunning and dynamic websites. With WP Grid Builder Bricks, users can easily create custom layouts and designs, making their websites more visually appealing and engaging to visitors.

Plugin Features
This plugin offers a wide range of pre-designed bricks that can be easily added to any web page built using WP Grid Builder. These bricks include various elements such as image galleries, testimonials, pricing tables, team member profiles, and much more. With just a few clicks, users can insert these elements into their pages and customize them to match the overall design of their website.
One of the key features of this plugin is its drag-and-drop functionality, which allows users to effortlessly arrange and rearrange the bricks on their pages. Whether its adding a new section or reordering existing elements, the intuitive interface makes it easy to create unique and captivating layouts. Additionally, the plugin offers advanced customization options, including the ability to change colors, fonts, spacing, and other styling settings to perfectly align with the websites branding.
WP Grid Builder Bricks is designed to be user-friendly, even for those with limited technical knowledge. It seamlessly integrates with WP Grid Builder, ensuring a seamless experience for users and eliminating the need for any coding or programming skills. This makes it an ideal solution for both beginners and experienced professionals who want to create stunning websites without the hassle and complexity often associated with web design.
In addition to its extensive library of pre-designed bricks, this plugin also allows users to save their own custom bricks for future use. This feature enables users to create their own templates and easily reuse them across multiple pages or websites, saving a significant amount of time and effort in the design process.
Overall, WP Grid Builder Bricks is a highly versatile and user-friendly plugin that takes website design to the next level. With its extensive range of pre-designed elements, intuitive drag-and-drop interface, and advanced customization options, this plugin empowers users to create visually stunning and highly functional websites with ease. Whether you are a beginner or an experienced web designer, this plugin is a valuable tool that will help you turn your ideas into captivating web pages.
How to Set Up WP Grid Builder Bricks for Filters in Bricks
WP Grid Builder Bricks becomes useful when a standard good-looking Bricks grid needs to turn into a manageable catalog: the visitor picks a category, range, sort order, or search term, and the list of posts, products, or cards updates without a full page reload. This guide focuses on practical implementation rather than product marketing: what to prepare, which elements to add in Bricks, how to connect a facet to the right Query Loop, where the limitations appear, and how to confirm that filtering is working on the exact block you intended to target.
The plugin is best understood as a combination of three parts: the core WP Grid Builder handles grids, cards, facets, styles, and the filter index; Bricks controls the page structure and Query Loop; and the WP Grid Builder Bricks add-on adds two dedicated elements to the Bricks visual editor - Grid and Facet. That means you do not have to build the entire output inside Grid Builder if you already have a well-designed section in Bricks.
This guide is a good fit for site owners, WordPress developers, and content teams that need to build a filterable blog, service catalog, resource library, portfolio, or WooCommerce storefront. We will also cover cases where the product may not be the right fit: Query Loops inside Components, Bricks built-in Infinite Scroll, query loop caching, sliders and carousels, and combining it with Bricks' other filtering mechanisms.
When WP Grid Builder and Bricks Are Actually Worth Using Together
First, it helps to separate the WP Grid Builder Bricks use case from a standard post grid. If the page only needs to show recent articles, a few service cards, or a static portfolio block, Bricks Query Loop can handle that on its own. The add-on becomes useful when the output needs to respond to visitor actions: filtering by taxonomy, sorting, searching, showing result counts, resetting selections, loading the next batch, and preserving selected parameters in the page URL.
Core WP Grid Builder can work with posts, pages, custom post types, taxonomy terms, and users. Its facets can pull data from taxonomies, WordPress fields, and custom fields. On a Bricks site, that is especially useful for catalogs where the card layout has already been designed in the builder: the designer keeps full control over the HTML structure, spacing, responsiveness, and dynamic data, while WP Grid Builder handles filtering and indexing.
A typical setup looks like this: you create a Query Loop in Bricks, output the item cards, place a Facet element from WP Grid Builder Bricks nearby, select the facet you need, and specify which element should be filtered. When the visitor clicks a filter, WP Grid Builder sends an asynchronous request, gets a new set of results, and redraws the target area without reloading the entire page.
Where the Product Delivers the Most Value
The strongest use cases are the ones built on well-structured data. For a blog, that means categories, tags, authors, dates, and a search field. For a real estate catalog, it means neighborhood, property type, price, size, number of rooms, and status. For WooCommerce, it means categories, attributes, price, stock status, rating, and sorting. For a knowledge base, it means content type, difficulty level, topic, product line, and format.
In projects like these, simple navigation stops being enough very quickly. Visitors do not want to browse everything. They want to narrow the list down to the combination they actually need. That is exactly where faceted filtering works well: each action refines the visible results instead of sending the user to separate archive pages where context is easy to lose.
When It Is Better Not to Overcomplicate the Site
If the catalog is small, the filter set is limited, and the results do not change often, a dedicated faceted system may be unnecessary. In some cases, two or three standard category links, a prebuilt archive page, or native Bricks Query Filters are enough. WP Grid Builder Bricks is worth adding when you have a real need for indexed facets, multiple filter types, WooCommerce integration, or a reusable catalog interface.
The second situation that calls for caution is deeply nested or experimental Bricks structures. The official add-on page explicitly states that facets do not filter Bricks Query Loops inside Components, and Query Loops inside sliders and carousels are not supported. If your current architecture already depends on Components, nested loops, and sliders, test the prototype on a staging site first instead of adding filters directly to a live catalog.
What the Add-on Does Inside Bricks
WP Grid Builder Bricks does not replace Bricks or turn it into a standalone catalog system. Its job is to give the Bricks editor a proper bridge to WP Grid Builder's filtering engine. After activation, two elements appear in the Bricks editor: Grid element and Facet element. The Grid element outputs a WP Grid Builder grid, while the Facet element lets you place a specific facet and choose the target grid or Bricks element it should filter.
The key advantage over shortcodes is that the elements are visible and configurable directly inside Bricks. That reduces routine mistakes: you do not need to remember the exact shortcode syntax, look up a grid ID in another tab, or manually keep the filter and the results area in sync. It does not eliminate debugging for developers, but it does make standard page assembly more predictable.
Grid Element: When to Output a WP Grid Builder Grid
You need the Grid element if you want to use not just facets, but also the grid created in WP Grid Builder itself. That makes sense when the cards, Masonry, Metro, or Justified layout, card styles, lightbox, or an existing map system have already been configured in the core plugin. In that setup, Bricks acts as the page container: you place the Grid element in the required column, and the presentation of the results remains inside WP Grid Builder.
This approach works well for image libraries, portfolios, resource listings, author cards, or catalogs where the grid should look the same across multiple pages. WP Grid Builder lets you export and import grids, cards, facets, and styles, which makes it easier to move a project between staging and production. For a team, that matters more than it may seem: a catalog usually evolves for much longer than a single landing page, and saved configurations reduce the risk of accidental manual changes.
Facet Element: When to Filter Bricks Elements
You need the Facet element when the results are built in Bricks. The official add-on page lists support for Posts, Products, Container, Block, and Div elements. In practice, that means you can keep your product or post card inside a Bricks Query Loop and point a WP Grid Builder facet directly at that element. In the Facet element settings, the critical field is Select a grid or element to filter: if the wrong object is selected there, the filter will update a different area or produce no visible result at all.
That setup is especially valuable for WooCommerce. A Products element or a Query Loop with products can keep the store's custom layout, while facets handle narrowing the results by attributes, price, stock status, or taxonomies. There is no need to build a separate storefront in another interface if the design is already complete in Bricks.
Why the Entire Page Does Not Refresh
The official add-on description highlights the practical point of the integration: during filtering, it fetches and redraws only the elements that actually need to be filtered, not the whole page. That matters on long Bricks templates where the catalog is surrounded by headings, navigation, banners, related sections, forms, and dynamic content blocks. The smaller the updated area, the easier it is to preserve the feeling of a fast interface.
That does not mean the plugin magically makes every site fast. Performance still depends on the server, the number of items, the number of facets, query quality, images, cache, and third-party scripts. But architecturally, WP Grid Builder is designed not to rerender the full page for a single selected filter, and that is exactly why the add-on is usually preferable to a manual custom-query setup in Bricks.
What to Check Before Installation
Preparation should not be treated as a formality. WP Grid Builder Bricks should be implemented on a page where the data source, target Query Loop, and filter set are already clear. If you start with installation and only later realize that the cards live inside a Component or slider, you will need to rebuild the structure instead of simply changing a setting.
Technical Requirements
For the core WP Grid Builder plugin, the official documentation lists WordPress at or above the current minimum supported level, PHP at or above the supported minimum, MySQL or MariaDB, and an adequate WP Memory Limit. For the Bricks add-on, the requirement is listed separately: you need a version of Bricks that meets or exceeds the minimum shown on the add-on page. This guide does not lock version numbers into the article body as if they were permanent facts, but before installation you should always verify the product page and documentation.
In practical terms, the checklist looks like this:
- The site is running a supported version of WordPress and PHP, and the hosting environment does not hit memory limits on heavy queries.
- The core WP Grid Builder plugin is installed and active, because the Bricks add-on is not a standalone filtering engine.
- Bricks is installed, active, and used for the page or template where the catalog will appear.
- The catalog page is available in a staging environment or draft state so AJAX updates can be tested without affecting visitors.
- The content has clean taxonomies, custom fields, or WordPress fields that can actually be used for filtering.
Your Bricks Structure Before Adding Facets
Open the page or template in Bricks and inspect the element tree. The target block should be easy to identify: Posts, Products, or a Query Loop on a Container, Block, or Div. If the results are nested deeper than necessary or live inside a Component, simplify the structure first. What matters is not how neat the element tree looks, but whether WP Grid Builder can reliably detect the exact area that needs to be replaced after a filter is selected.
Pay special attention to popup, offcanvas, and mobile filter panel setups. The official add-on page allows for cases where the element to be filtered is not present on the page in the editor, such as in a popup template; in that case, you need to enter the element ID manually, and it begins with #brxe-. At that point, it is no longer a simple "pick it from the list and move on" workflow: the ID must be copied carefully and verified on the public page.
Data for Facets
A facet will not fix chaotic data. If some products are missing attributes, posts use inconsistent tags for the same concept, prices are stored in mixed formats, or custom fields are filled in arbitrarily, the filter will reflect that chaos honestly. Before configuration, it is worth bringing the data into a stable structure: one taxonomy for type, one attribute set for filtering, clean values for ranges, and no duplicate terms.
Critical check before installation: create 10 to 20 test items with different values and write down in advance which combinations should return results. Those combinations will become your quick validation test after connecting WP Grid Builder Bricks.
Installation and Initial Activation
Installation has two layers: first the core WP Grid Builder plugin, then the Bricks add-on. The official documentation for the main plugin covers installation through the WordPress admin panel or via SFTP. In a normal setup, the admin panel is the safer option: Plugins, Add New, Upload Plugin, choose the ZIP archive, install, and activate. After activation, a Gridbuilder WP menu item appears in WordPress.
This guide intentionally does not include instructions for purchasing, entering a license key, or bypassing licensing. For production use, you need a legitimate archive, updates, and access to support under the developer's rules. On a test site, focus on validating the filtering mechanics themselves, and handle licensing or account steps only within the official account workflow.
Installation Sequence
- Create a site backup or a staging copy if the catalog is already receiving traffic.
- Install and activate core WP Grid Builder.
- Install and activate the Bricks add-on from the official add-on package.
- Open the Bricks editor and confirm that the Grid and Facet elements are available.
- Create a simple test facet in WP Grid Builder, such as a category or tag filter.
- Place a Facet element next to a small Query Loop and select the target element.
- Save the page, open it on the public-facing site rather than in the editor, and test the filtering.
The first validation is best done with a minimal setup. Do not start with ten filters, a popup, custom fields, and products. Use one taxonomy, one Query Loop, one facet, and one expected outcome. Once that foundation works, add the remaining pieces one by one.
What Counts as a Successful Initial Check
A successful check is not just the absence of an error in the admin panel. On the public page, several observable changes should happen: the selected filter gets an active state, the URL changes if history is enabled, the results list updates, the number of cards matches expectations, the reset button restores the original output, and the browser Back button behaves predictably.
If the page uses a caching plugin, minification, deferred JavaScript loading, or HTML comment optimization, do not enable everything at once. Bricks Academy specifically notes that Bricks internal comments are important for dynamic features such as Query Loop, AJAX Pagination, Load More, and Infinite Scroll. For WP Grid Builder Bricks, that is useful as a general rule: optimization should not strip out the markers and scripts dynamic output depends on.
Creating Facets: From Data Source to Index
A facet in WP Grid Builder is not just a visible checkbox or dropdown. It is an action applied to the results: filtering, sorting, loading more content, resetting, or applying selected parameters. That is why facet setup should start not with appearance, but with a simple question: what decision is the visitor making at this point on the page?
If the user is choosing a product category, you need a filtering facet based on a taxonomy. If they are selecting a price range, you need a data source that stores numeric values correctly. If they want to reorder the content, you need a Sort facet. If there are many filters and the page is heavy, you can use an Apply facet so the results update after clicking a button rather than after every individual change.
Choosing the Facet Action
WP Grid Builder supports several action types. For a catalog, the most common ones are Filter Content, Sort Content, Load Content, Reset Filters, and Apply Filters. You can combine them, but each one should have a clear purpose. For example, one checkbox refines the category, a dropdown sorts by date or price, Load More fetches the next batch, and Reset clears the selection.
Do not add every available facet type just because it exists. A large filter set looks professional only when each field actually helps the user make a decision. In a service catalog, category, city, and format may be enough. In a store, you typically need category, price, attributes, stock status, and sorting. In a knowledge base, topic, product, difficulty, and search are often the most useful.
Data Source and Content Type
WP Grid Builder documentation separates filtering sources into taxonomies, WordPress fields, and custom fields. Before configuring a facet, choose Content Type to Filter: Posts, Terms, or Users. That setting must match what the target Query Loop in Bricks is outputting. If the Query Loop displays entries from a custom post type, the facet must work with posts, not terms or users.
Problems often start with a mismatch in the data model. For example, a designer sees product cards and expects a brand filter, but brand data is stored not as a product attribute or taxonomy, but as free-form text spread across different fields. In that case, it is better to normalize the data first and create the facet afterward. A facet should filter a stable source, not guess its way through inconsistent values.
The Indexer and Manual Reindexing
Filtering facets in WP Grid Builder, with a few exceptions such as search and user selection, are indexed in a separate table. This is done for performance: instead of scanning WordPress tables heavily on every click, the plugin stores possible values and relationships in advance. The index updates when content changes, but in real-world use there are cases where manual reindexing is still necessary.
Reindexing is worth running after a bulk product import, a taxonomy restructure, a site migration, custom field updates, a WP Grid Builder settings import, or cleanup of duplicate terms. If filter options are empty, outdated, or showing strange counts, check the index first rather than rewriting the Bricks layout.
Expected state after indexing: the facet shows only relevant options, and selecting one value updates exactly the list that facet is attached to.
How to Choose the Right Facet Type for the Job
The same data source can be presented in different ways, but the user meaning changes with the format. A checkbox works well when visitors may select multiple values. Radio is better for mutually exclusive choices where only one option is active at a time. A dropdown saves space, but makes it harder to see all available options at once. A range slider only makes sense for real numeric ranges: price, size, rating, release year, or duration. A Search facet is useful when the visitor already knows part of a title or SKU and does not want to browse categories.
On a Bricks page, that decision also affects the layout. A horizontal filter bar works well with two to four compact controls. A sidebar can handle longer lists, but on mobile it will need to move lower on the page or into an offcanvas panel. If the filter set is large, do not force every checkbox to update the results instantly. For expensive queries and mobile filter panels, an Apply facet is often the better choice: the user selects parameters and applies the set in one action.
| Task | Recommended facet | What to check |
|---|---|---|
| Selecting multiple topics in a knowledge base | Taxonomy checkbox | AND/OR behavior, counters, reset availability |
| One product or content status | Radio or dropdown | A clear label for the "All" option |
| Filtering by price or another number | Range slider or number fields | Numeric data format and reindexing |
| Quick search in a catalog | Search facet | Minimum query length, response speed, cache |
| Changing card order | Sort facet | Whether the default order matches the original Query Loop |
The table does not replace testing. It helps you avoid a common mistake: choosing a polished control for data that is not prepared for it. For example, a price range slider is useless if prices are stored as text with mixed currency symbols. A brand dropdown is awkward if there are 80 brands and users really need search instead. A checkbox with AND behavior can unexpectedly narrow the results to zero if your content rarely has multiple selected terms at the same time.
Facet States You Should Plan for in Advance
A facet has more than the normal "pick a value" state. There is an empty state, disabled state, active state, loading state, reset state, and the state after landing directly on a filtered URL. In WP Grid Builder, part of that behavior is controlled by facet and style settings, while part depends on Bricks markup and CSS. If these states are not planned, the catalog may look finished only in a demo view.
Make sure the selected option remains visible after the AJAX update, the result counter does not jump to a confusing location, Reset clears all linked facets, and an empty result does not look like a broken page. For a long-form resource hub or store, add a short instruction near the filters only if it genuinely helps: "Choose a topic and format" works better than a long explanation of the mechanism. The mechanism belongs in the admin guide; the visitor should see a clear interface.
Connecting the Facet Element to a Query Loop in Bricks
The most important part of WP Grid Builder Bricks setup is binding the facet to the correct results area. A Bricks page may contain multiple lists: the main catalog, a "related posts" block, a featured slider, team cards, recommendations, or products. The Facet element needs to know exactly which grid or element to filter. Otherwise, the user clicks a filter in one place and either another list changes or nothing changes at all.
Simple Binding Through the Dropdown
The official add-on workflow is straightforward: add a Facet element, choose the facet you created, and in Select a grid or element to filter select the target element. If the Query Loop is present on the page and supported by the add-on, it should be available in the list. After saving, leave the editor and test the result on the public page, because AJAX behavior is more reliable to evaluate there.
For Posts element and Products element, the path is usually direct. For Container, Block, and Div, it matters that the selected element is actually the one carrying the Query Loop or wrapping the repeated output the way the integration expects. If the Bricks tree includes a parent container with the repeated element inside it, do not guess: verify which element is really responsible for the Query Loop.
Filtering an Element from a Popup Template
The official add-on page describes a separate case: if the element that needs to be filtered is not present on the page, for example because it lives in a popup template, you can enter the ID manually. That ID uses the #brxe- prefix. A one-character mistake is enough to make the binding useless, so copy the ID from Bricks carefully and verify it in the DOM or in the element settings.
For popup-based setups, it helps to simplify the test. First place the facet and the target list on a normal page and confirm that filtering works there. Then move the list into a popup or offcanvas panel. If the issue appears only after the move, the cause is almost certainly the template context, script loading, or manual ID binding rather than the facet itself.
Why You Should Not Combine Multiple Filtering Systems
WP Grid Builder Bricks and Bricks native Query Filters solve a similar problem, but they do it through different mechanisms. Bricks Academy describes its system as a set of filter elements, a target query, and server-side translation of filter state into query vars. WP Grid Builder uses its own facets, index, and asynchronous endpoints. The official add-on page warns that facets cannot be used alongside another Bricks filtering system because that can lead to conflicts.
In practice, choose one mechanism for each results area. If the cards are being filtered by WP Grid Builder, do not add Bricks Query Filters to the same Query Loop. If you already built a simple setup with Bricks Query Filters and it does the job, do not add WP Grid Builder just for the name. Mixing systems almost always makes troubleshooting harder: it becomes unclear who is changing the URL, who is rebuilding the query, who is updating the DOM, and why the active filter state disappears.
Adjusting the Grid, Cards, and Styles After Installation
Once the basic binding works, the next step is more detailed configuration. The goal is to avoid both overloading the page with filters and leaving the interface in a rough, accidental state. Visitors should understand what they can choose, which filters are active, how to reset them, why there are no results, and what happens when the next batch loads.
If You Are Using the Grid Element
When results are output through the WP Grid Builder Grid element, the main settings live inside WP Grid Builder itself. In the grid settings, choose the content type: posts, terms, or users. For posts, define the post types, status, authors, inclusion or exclusion of specific items, taxonomies, and custom fields. The settings differ for terms and users, but the principle stays the same: the query should be precise enough that facets are not operating on unnecessary data.
Then configure the layout. WP Grid Builder supports Masonry, Justified, Metro, and carousel modes. For the Bricks add-on, one separate limitation matters: Query Loops inside sliders and carousels are not supported when filtering Bricks elements. If you are outputting a WP Grid Builder grid, follow the core plugin settings; if you are filtering a Bricks Query Loop, do not hide it inside an unsupported structure.
Cards in WP Grid Builder are assigned to the grid and can use dynamic data. That is useful when you want a consistent card design across the entire site. But if the card is already built exactly the way you want in Bricks, do not move it into Grid Builder just for the sake of order. Choose one system of responsibility: either the card lives in WP Grid Builder or it lives in the Bricks Query Loop.
If You Are Filtering a Bricks Query Loop
In this setup, the card design stays in Bricks. Make sure the Query Loop outputs a realistic number of items per page. For large catalogs, do not blindly use a setting that renders every post at once. You need clear pagination, a Load More facet, or a limited number of cards. The heavier each card is - images, dynamic fields, conditions, popups, extra queries - the more each AJAX update will cost.
The official add-on also makes one specific recommendation: the Bricks option Cache query loop should remain disabled to avoid query-related issues. This is not a ban on site-wide caching, but a targeted precaution for a query loop that must update dynamically. If filtering starts behaving oddly after optimization is enabled, revert that setting first and test again without aggressive optimization.
Pagination, Load More, and Infinite Scroll
The official WP Grid Builder Bricks page states that the add-on does not support Bricks Infinite Scroll for the listed elements. Instead, you can use a facet for click-based or scroll-based loading. The developer also recommends using a pagination facet instead of Bricks pagination. The reason is straightforward: pagination needs to be part of the same state system as the filters, otherwise the selected filters and current page can start conflicting with each other.
For a product or post catalog, it is best to follow this pattern: WP Grid Builder filters, WP Grid Builder reset, and WP Grid Builder pagination or load more. If you need a dedicated "Show More" button, configure it as a Load facet. If you need classic pagination, use a pagination facet. Do not combine Bricks Pagination with WP Grid Builder facets on the same output without separate testing.
Facet Styles and Color Scheme
WP Grid Builder supports styles for facets. A global style can be applied in the plugin settings, and a local style can be used for a specific facet through blocks, shortcodes, widgets, or integration elements. That is useful when the same facet needs to look different on the main catalog page and in a narrow sidebar.
Styles should not undermine accessibility. If a selected checkbox is marked only by a barely visible tint, users will not understand that the filter is active. If a mobile filter turns into a long, unwieldy list, you need an offcanvas panel or an Apply facet so the visitor can choose parameters and apply them in one action. Colors, clickable areas, active state, disabled state, and reset behavior should all be obvious without hints.
Practical Example: A Filterable Resource Catalog in Bricks
Let us take a realistic example: a site publishes educational content about WordPress, WooCommerce, and design. On the "Knowledge Base" page, the team wants to display article cards, give visitors a topic filter, a search field, sorting, and a reset button. The card is already built in Bricks: image, category, title, excerpt, updated date, and link. Moving the card into WP Grid Builder is not desirable because the team edits the template directly in Bricks.
Goal
The goal is to create a page where visitors choose a topic and see updated results without a full reload. Search should refine results within that same list, sorting should change the order, and reset should return the page to its original state. On mobile, the filters can later be moved into an offcanvas panel, but first the standard page should be validated so the base setup does not get mixed together with mobile behavior.
Preparing the Content
Before configuration, create or verify the data structure:
- A custom post type or standard posts where each card is published and has a title.
- A "Topics" taxonomy with clear terms such as WordPress, WooCommerce, Bricks, SEO, and performance.
- Completed images and excerpts so card heights do not shift unpredictably after AJAX updates.
- A test set of content where each topic returns at least a few results.
If you plan to search custom fields, verify in advance that the values are stored as simple text or numeric data. Complex serialized structures and nested arrays rarely produce predictable filtering without extra development.
Steps in WP Grid Builder
- Create a topic facet: action
Filter Content, data source - the required taxonomy, content type - Posts. - Choose the display type: checkbox, radio, or dropdown. For multiple topics, a checkbox usually works best, assuming the selection behavior is clear.
- Create a Search facet if visitors need to search by title or content.
- Create a Sort facet if the result order genuinely matters.
- Create a Reset facet so users can clear all selected parameters.
- After creating the filtering facets, check the index and run reindexing if needed.
Do not create too many facets on the first pass. For a knowledge base, topic, search, sorting, and reset are usually enough. If users actively rely on filtering after launch, you can later add difficulty level or content format.
Steps in Bricks
- Open the page in Bricks and create a Query Loop on a Container, Block, or Div.
- Configure the Query so it outputs the required post type and a realistic number of items per page.
- Build the card inside the repeated element using Bricks dynamic data.
- Add a Facet element next to the results and select the "Topics" facet.
- In
Select a grid or element to filter, choose the target Query Loop or supported element. - Repeat the process for search, sorting, reset, and loading if those are needed.
- Save the page and test it on the public-facing site.
If the target element does not appear in the list, check which level of the tree has Query Loop enabled. In some cases, selecting the parent element rather than the inner card is enough because the parent is the element that actually repeats. If the structure is inside a Component, keep the official add-on limitation in mind: standard automatic binding to a loop inside a Component is not supported.
Validating the Outcome
The test should be specific, not just "I clicked it and it seems fine." Use the combinations you prepared in advance. For example, the topic "WooCommerce" should return 12 items, and searching for "checkout" within that topic should return 3. Reset should bring back the original output. Open developer tools only if needed, but start by checking the visitor-facing behavior: active filter state, cards, counter, URL, no unnecessary scrolling, and working buttons.
After that, test the mobile layout. If the filters sit in a sidebar, they may end up above the catalog on mobile and take too much space. In that case, use a dedicated mobile layout in Bricks or an offcanvas panel, but keep the same rule: the Facet element must remain on the same page as the filterable content, and the target element must be chosen explicitly.
WooCommerce, Archives, and Pages with Multiple Result Sets
The knowledge base example shows the principle, but on real sites WP Grid Builder Bricks often ends up in a more complex environment: a store, a custom post type archive, a category template, a search page, a catalog with multiple sections, or a page that shows "all products," "popular," and "new arrivals" side by side. In those situations, what matters most is not the number of filters, but a clear boundary around each result set.
Filtering Products in WooCommerce
The official add-on page lists support for the Products element. Core WP Grid Builder also documents WooCommerce integration for products, related fields, and store-based filtering. But a WooCommerce catalog is rarely just title and category. It includes price, sale status, stock status, attributes, variable products, rating, sorting, and sometimes third-party brand or inventory-status plugins. Each data source should be checked separately.
Start with attributes WooCommerce already uses correctly: product category, global attributes, price, and stock status. If brand is implemented as a separate taxonomy, it is usually a good fit for a checkbox or dropdown. If brand is stored as free-form text in a meta field, verify value consistency: "Acme," "ACME," and "Acme Co" may end up as separate facet options. For price, make sure the source is truly numeric and indexed correctly.
Pagination matters especially in a store. If the user selects "in stock" and a price range, they should see page 1 of the filtered results, not remain on page 4 of an old catalog view. That is why a single results area should use either faceted pagination or Load More from WP Grid Builder. Keep separate Bricks or WooCommerce pagination outside that area, or disable it for the filterable setup.
Mini Test for a Store
Create a small control group of products: several products across different categories, with different attributes, prices, and stock statuses. Test filtering by one parameter and then by a combination. After each selection, check not just the number of cards, but the products themselves. If a product appears without the selected attribute, the issue may be the facet source, the index, or the fact that the target Query Loop is using a different post type or a different set of query parameters.
Custom Post Type and Category Archives
An archive template differs from a standard page because it already has a main query. WP Grid Builder's documentation on displaying archive results explains that when a grid is used as an archive template, the Query panel settings for that grid do not control the results the same way they do on a normal page, because the current archive query is being used instead. That matters for category pages, tag pages, custom post type archives, and the WooCommerce shop.
In Bricks, that means you should first determine whether you are working with an archive template or a normal page with a manually added Query Loop. If it is an archive template, do not try to fix the order or item count only through the WP Grid Builder grid settings when the main query is the source. Those parameters may be controlled by WordPress, WooCommerce, Bricks template settings, or PHP hooks. If it is a normal page with a Query Loop, configuration is closer to the Bricks Query controls.
Multiple Result Sets on One Page
On pages with multiple lists, each group of facets should control only its own area. For example, the main case-study catalog may sit on the left, "related resources" may appear below it, and "new articles" may appear on the right. If the Facet element is connected to the wrong element, the user will see odd behavior: a catalog filter changes a sidebar list or resets an unrelated block. That is why, after configuring each facet, you should verify which area is actually being updated.
A good practice is to give Bricks elements clear administrative names and avoid keeping several identical Containers in the tree with no context. That does not affect the public HTML directly, but it helps significantly when choosing the target element in the Facet element. In a complex template, a name like "Catalog query loop - resources" is far more useful than "Container 23."
Popup and Offcanvas as an Extra Layer of Complexity
Popup and offcanvas layouts are often useful for mobile filters or detail cards. But they should not be added before the basic setup is validated. In popup-based use cases, the official add-on allows manual entry of an element ID with the #brxe- prefix if the filterable element is not on the page. That makes the setup more fragile: the ID, template context, popup load timing, and scripts all need to line up correctly.
For a mobile panel, the safer choice is often to keep the Facet elements on the page itself, but present them visually inside an offcanvas panel opened by a button. After the user selects parameters, they apply the filters, the panel closes, and the catalog updates. If the filters stop changing the results after being moved into offcanvas, put them back in a standard layout and test again: the question is whether the issue is in WP Grid Builder and Bricks integration, or specifically in the offcanvas wrapper.
Limitations You Should Account for Before Launch
WP Grid Builder Bricks has clear limitations, and it is useful to treat them not as flaws, but as the boundaries of its reliable operating range. If you stay inside those boundaries, setup usually remains straightforward. If you try to make the add-on filter every possible Bricks structure, troubleshooting quickly turns into custom development.
Query Loop Inside Components
The official add-on page states that facets do not filter Bricks Query Loops placed inside Components. The reason is that a Component isolates its own query context, and WP Grid Builder cannot access the loop in the normal way required for filtering. Bricks Academy describes a similar rule for native Query Filters: filter elements and the target Query Loop should not be inside a Component if AJAX needs to reliably locate and render the correct element.
The practical conclusion is simple: if a catalog needs to be filtered by WP Grid Builder, do not hide the target Query Loop inside a Component. If you need a Component for card reuse, move the Query Loop up to the page or template level, and keep the reusable part inside the card only to the extent that it does not break detection of the target element.
Sliders, Carousels, and Infinite Scroll
Query Loops inside sliders and carousels are officially unsupported. Bricks Infinite Scroll is also not supported for the listed Bricks elements. This is a significant trap: visually, a catalog inside a slider may look like a standard list, but technically it runs on a different JavaScript mechanism. After filtering, the slider may lose state, fail to recount items, or not be found as the target loop at all.
If you need a horizontal "featured" block, leave it without WP Grid Builder facets. If you need a filterable catalog, build a regular grid and handle loading separately through a WP Grid Builder facet. For mobile UX, an offcanvas filter and Load More is a better choice than trying to combine a Query Loop in a slider with dynamic filtering.
Query Loop Cache and Facet Cache
For the Bricks add-on, the developer recommends keeping Cache query loop disabled to avoid query issues. That is a targeted setting within the Bricks context. WP Grid Builder itself has a separate Caching add-on that caches content and facets for asynchronous requests. It can be useful for heavy catalogs, but it is not universal: the official text for the caching add-on warns against using cache when content is rendered conditionally or in random order, because only one version will be stored.
Be especially careful with caching on a site that uses a Search facet. The official Caching add-on page recommends excluding Search facets from cache because the number of search combinations can be effectively unlimited. In a normal article, that detail is easy to miss, but in a live catalog it affects both cache size and freshness of results.
Archive Templates
WP Grid Builder can work with archive results. The documentation explains that in an archive template, the grid uses the current archive's main query, and the grid's own Query panel settings do not affect the output in that scenario. That matters for the Bricks add-on if you are building a category, shop, or custom post type archive template. Do not expect the same grid to control query settings the same way it does on a standard page: the archive is already being shaped by WordPress, WooCommerce, or the Bricks template.
If your goal is to filter archive results in Bricks, first verify that you are actually working with an archive template and the main query rather than a separate secondary Query Loop. Then configure facets and pagination within one consistent system. Do not use two independent pagination systems: that is a common source of conflicts.
Performance, SEO, and Visitor Experience
Filters can improve a site, but they can also make it worse if they turn the page into a heavy dynamic storefront with no clear navigation. A strong WP Grid Builder Bricks setup takes into account not just clicks in the editor, but also indexing, URL behavior, response time, mobile UI, and empty states.
Performance and Catalog Size
The official WP Grid Builder FAQ explains that faceted system performance depends on the indexer, the server, the number of posts, the number of facets, WordPress, the theme, and the quality of other plugins. It also includes a practical warning: large datasets can be filtered, but the more content you have, the more likely you are to hit server limits. So do not design facets as an endless "everything with everything" storefront.
For large catalogs, follow these rules:
- Reduce the original Query Loop to the actual set of items needed on the page.
- Do not render all posts at once if you need pagination or incremental loading.
- Limit the facet set to filters that genuinely influence user choice.
- Reindex facets after large data changes.
- Measure speed on the public page, not in the Bricks editor, and with admin mode disabled.
SEO and Filter URLs
WP Grid Builder supports browser history for faceted search: selected parameters can be reflected in the URL, and visitors can use the Back and Forward buttons. That is convenient for users and for support: a link to a specific filtered view can be sent to colleagues or clients. But not every filter combination should become an indexable SEO page.
If filters create thousands of near-duplicate URLs, indexing rules should be planned at the level of your SEO plugin, robots settings, canonicals, and internal linking. WP Grid Builder Bricks does not solve SEO strategy automatically. Its job is to provide a correct filtering interface. The site owner still needs to decide which archives and combinations are genuinely useful for search and which exist only as user state.
Accessibility and Empty Results
An empty result is a normal state in a faceted catalog, but it needs an explanation. In WP Grid Builder grid settings, there are messages for No Content and No Results. For a Bricks Query Loop, plan a similar state in the template. Visitors should not see a blank white area. They should see a clear message: nothing was found, reset the filters, or change the query.
For accessibility, check the contrast of selected options, the size of clickable elements, disabled state visibility, facet labels, and keyboard navigation order. WP Grid Builder positions the product as accessibility-aware, but the final page still depends on your Bricks styles, theme, custom CSS, and card structure.
Safe Improvements Without Editing Core Files
Any customization around filters should be reversible. Do not edit plugin, Bricks, or theme files directly. For small improvements, use a child theme, Code Snippets, Bricks settings, or Custom CSS and Custom JavaScript fields when appropriate. Code should be introduced only where it is actually needed to validate or support a setup reliably.
Shortcode as a Diagnostic Fallback
Even if you are working through a Bricks element, it is useful to understand WP Grid Builder shortcode syntax. The documentation shows that a grid is output with [wpgb_grid id="1234"], and a facet requires id and grid. For troubleshooting, you can temporarily create a clean page and verify whether the facet works outside a complex Bricks template.
[wpgb_facet id="1" grid="1234"]
[wpgb_grid id="1234"]
If the combination works on a clean page but not in Bricks, the issue is most likely the target element selection, a Component, query loop caching, a slider, third-party optimization, or a conflict with another filter system. If it does not work even on a clean page, go back to the facet itself, the data source, and the index.
Custom Query Binding for a Complex Bricks Case
WP Grid Builder documentation describes a method for filtering custom queries through the wp_grid_builder parameter and an identifier such as wpgb-content. When the Bricks add-on is available, the developer recommends using the add-on itself and leaving Filter Custom Content disabled for this use case. That is why a custom setup should not be your first-line solution.
Still, it is useful for developers to understand the principle: the facet must be bound to the same grid or content name that is added in the query argument or specified in the shortcode. Community material for Bricks shows a similar approach for older or nonstandard Query Loops, but that is already custom development territory. Use it only on a staging site and document why the standard Bricks add-on does not cover the requirement.
[wpgb_query id="wpgb-content-post-grid"]
[wpgb_facet id="1" grid="wpgb-content-post-grid"]
After a test like this, verify three things: the results container has the matching identifier or class, the query is actually receiving the WP Grid Builder parameter, and the facet points to the same grid name. Rollback is simple: remove the temporary shortcodes, restore the standard Facet element, and disable the experimental settings.
Mobile Filter Panel
For mobile UX, it is often tempting to move filters into an offcanvas panel. That is a valid interface idea, but it should be tested separately. First make sure filtering works correctly on a normal page. Then move the group of Facet elements into offcanvas and confirm that they still live on the same page as the target content, open before interaction, preserve their active state, and close correctly after being applied.
If there are many filters, consider using an Apply facet. That lets the visitor select several parameters, click Apply, and update the results once. It reduces unnecessary AJAX requests and makes the mobile interface feel more controlled.
Common WP Grid Builder Bricks Problems and How to Diagnose Them
Troubleshooting should move from simple causes to more complex ones. Do not start by editing PHP if the facet is simply attached to the wrong element. And do not blame cache if the facet index is empty after a product import. Below are the issues that are most specific to the combination of WP Grid Builder, Bricks, and dynamic Query Loops.
The Facet Is Visible, but the List Does Not Change
Symptom: the visitor selects a checkbox or dropdown, the active state appears, but the cards remain unchanged. Possible causes include the Facet element pointing to the wrong grid or element, the target Query Loop not being supported, the list living inside a Component, or another filtering system being active on the same results area.
Check the Select a grid or element to filter field, the Bricks tree structure, and whether Query Loop is enabled on the selected element. If the list is inside a Component, move the Query Loop out of the Component or create a separate test version without it. If Bricks Query Filters are enabled nearby, temporarily disable them for this results area.
Filter Options Are Empty or Outdated
Symptom: the facet displays, but expected categories, attributes, or custom field values are missing. A likely cause is that the facet is targeting the wrong content type, the data source does not match the Query Loop, the data is filled inconsistently, or the index was not updated after import.
Start by checking the facet settings: Content Type to Filter, Filter Content By, and the selected taxonomy or field. Then inspect the real content objects: are there published posts with those values? After large changes, run facet reindexing or the indexer from the WP Grid Builder dashboard. If values are stored in a complex serialized field, move the filterable value into a simple field or taxonomy instead.
Filtering Breaks After Cache Is Enabled
Symptom: after page optimization, the filter sometimes shows stale results, AJAX returns the wrong set, or identical states appear for different combinations. Possible causes include Cache query loop being enabled in Bricks, a caching plugin removing internal markers, or the Caching add-on caching a setup where content depends on conditions or random order.
Disable Cache query loop for the target setup. Clear the page cache and the WP Grid Builder cache if the Caching add-on is in use. For a Search facet, confirm that effectively unlimited search-query combinations are not being cached. If the catalog depends on user role, conditions, or random sorting, do not enable cache until you clearly understand which version of the output it is storing.
Pagination Shows the Wrong Pages
Symptom: after selecting a filter, the user lands on an empty results page, the active page becomes inconsistent, or the "next" button leads back to the old output. The usual cause is mixing Bricks or archive pagination with WP Grid Builder faceted pagination. Official WP Grid Builder materials recommend using a pagination facet to avoid conflicts with archive or third-party pagination.
Use a single pagination source for the filterable area. If WP Grid Builder facets control the output, use a pagination facet or a Load More facet. Disable or remove a separate Bricks Pagination instance for that same area, then test a direct filtered URL, page switching, and the browser Back button.
Query Loop Does Not Work in a Slider, Carousel, or Component
Symptom: filtering works in a regular grid, but stops working after the results are moved into a slider, carousel, or Component. This is not a random bug: the official add-on does not support query loops inside sliders and carousels, and Components have their own separate limitation.
The solution is to change the architecture. For a filterable catalog, use a regular grid, Container, Block, or Div in a supported setup. For a Component-based architecture, move the Query Loop up to the page or template level. For a slider, keep a static block without facets or use separate non-filterable content.
The Filter Behaves Differently in the Editor and on the Site
Symptom: elements look correct in the Bricks editor, but the public page behaves differently, or vice versa. Keep in mind that the editor and the public front end load different environments. The add-on improves the editor experience compared to shortcodes, but final AJAX behavior should always be validated on the public page.
Test in a separate window outside the builder, ideally while not logged in as an administrator and with cache cleared. If the problem appears only for guests, investigate cache and access rules. If it appears only in the editor, check whether the facet depends on data the editor does not render in the same way.
How to Tell When the Setup Is Ready to Publish
Before publishing, run a short acceptance test. This is not for formality. It is there to make sure the catalog does not break on the first real user workflow. The test is best performed on a copy of the page with real data, not on an empty template with three demo posts.
Checking the User Flow
- Open the page as a visitor and make sure the default output is understandable even without filters.
- Select one filter and confirm that only the target list changes, not the whole page.
- Select a combination of filters and compare the output with the expected set of items.
- Use Reset and confirm that the state returns to the original.
- Test pagination or Load More after applying a filter.
- Copy the URL with an active filter, open it in a new window, and verify that the state is restored.
- Repeat the key actions on a mobile screen.
If even one step behaves unpredictably, do not publish the catalog as finished. A filter that sometimes returns incorrect results is worse than having no filter at all, because the user makes decisions based on inaccurate output.
Checking Editorial Maintainability
The catalog will be easier to maintain if support is not limited to a single developer. Leave an internal note for the team: which facets control which page, which Query Loop is selected in Bricks, where to run reindexing, which cache settings must not be enabled, and which Bricks structures are unsupported. This can live in project documentation, a template description, or a team task.
If the site frequently updates products or posts through imports, add reindexing to the post-import workflow. If the content team changes taxonomies, make sure they understand that deleting or renaming terms affects facets and the URLs of selected filters.
WP Grid Builder Bricks FAQ
Do I need to create a grid in WP Grid Builder if the cards are already built in Bricks?
Not necessarily. If the cards and Query Loop are already built in Bricks, you can use the Facet element and select the target Bricks element for filtering. The Grid element is only needed when you want to output a grid created in WP Grid Builder itself.
Why does the Facet element need to be on the same page as the results?
The official add-on page states that, for correct behavior, the Facet Bricks element must be placed on the same page as the content being filtered. Otherwise, the integration has a harder time connecting facet state, the target element, and the AJAX update.
Can Bricks Infinite Scroll be used together with WP Grid Builder Bricks?
For supported Bricks elements, the official add-on does not support Bricks Infinite Scroll. Use a WP Grid Builder Load More or pagination facet instead, so loading remains part of the same filtering system.
What should I do if the Query Loop is inside a Component?
The official position of the add-on is that facets do not filter Bricks Query Loops inside Components. The best solution is to move the target Query Loop to the page or template level. A community workaround through custom query binding is possible only as a development task on a staging site, not as a standard setup.
Why does the filter show outdated options after a product import?
The likely reason is that the facet index has not been updated yet or was migrated along with stale data. Check the facet data source, confirm that the products are published and have the required values, then run reindexing in WP Grid Builder.
Can cache be enabled for a filterable catalog?
Standard page caching and optimization are possible, but they need to be tested carefully. For the Bricks add-on, the Cache query loop setting is best left disabled. The WP Grid Builder Caching add-on may be useful for heavy asynchronous requests, but not for conditional or randomized content, and Search facets are better excluded from cache.
Is WP Grid Builder Bricks suitable for WooCommerce?
Yes. The official add-on lists support for the Products element, and core WP Grid Builder includes WooCommerce integration for products and related fields. Before launch, test attributes, price, stock status, pagination, and filter combinations on the public store page.
Can WP Grid Builder Bricks be used together with Bricks Query Filters?
Not on the same results area. The official add-on page warns about conflicts with another filtering system, including Bricks. Choose one mechanism for a specific Query Loop and disable the other in that area.
When WP Grid Builder Bricks Is the Right Choice
WP Grid Builder Bricks is worth using when you are building more than a simple list of cards in Bricks and instead need a full filterable catalog with clear facets, indexing, incremental loading, reset behavior, sorting, and a testable outcome. It is especially well suited to sites that already use WP Grid Builder or need its broader system: grids, card builder, styles, facets, add-ons, and settings import and export.
It is not the best place to start if the job can be handled by two category links or native Bricks Query Filters without an external dependency. It is also not a good idea to force the add-on to filter a Query Loop inside a Component, slider, or carousel. And it should not be combined with another filtering system on the same results area. In those cases, it is better to simplify the architecture or choose a tool that directly supports the required setup.
Before publishing, verify the requirements, Bricks structure, data sources, index, target element, pagination, and cache behavior. If all tests pass, you can download WP Grid Builder Bricks and move on to a careful installation on your site. Start with one page and one clear setup, then expand the catalog with additional facets and mobile workflows as needed.
The key decision criterion is simple: after implementation, visitors should be able to find the right materials, products, or posts faster, and the team should clearly understand where data, facets, and layout are managed. If that chain is clear, WP Grid Builder Bricks turns a Bricks page into a manageable reference storefront instead of just adding another plugin to the dependency list.


