A plain grid gives every card in a row the same height, so a product with a short name and no rating leaves white space beneath it.
Masonry lets each card keep its own height and packs them together instead.
Before You Start
- Edition: Pro — the Product Listing block needs Nexter Blocks Pro.
- Block to enable: Product Listing, switched on under Nexter > Blocks in your WordPress dashboard.
- WooCommerce active, with published products. The block reads your real catalogue, so an empty store renders an empty listing.
Steps
- Select your Product Listing block.

- Set the layout to masonry.

- Set the columns, and set them again for smaller screens.
- Publish and check the real page.
How It Behaves
Masonry is a layout mode plus a script that positions the cards once their heights are known.
- Measured on a published page: the wrapper rendered
data-layout="masonry"and carried thetpgb-isotopeclass that does the packing. - Positioning happens after load, because card heights cannot be known until the product images have arrived.
- It suits catalogues with varied cards, such as a mix of rated and unrated products, or names of very different lengths.
- Every card carries its own data. Measured on a published page, each product renders as an
articlewhose classes include its category (product_cat-...), its tags (product_tag-...), its stock state (instockoroutofstock) and whether it is on sale. - Measured with Nexter Blocks Pro deactivated: the block renders nothing at all — no wrapper, no products, no prices. This is a Pro-only block.
Limitations
- Pro only — measured with Nexter Blocks Pro deactivated, nothing renders.
- Cards can jump as the page loads, because heights are measured as images arrive. Consistent image sizes reduce it.
- It only helps when heights genuinely differ. A tidy catalogue with uniform cards looks identical to a grid.
- Shoppers compare by row. Masonry breaks the row alignment, which can make side-by-side price comparison slightly harder.
- On a single-column phone layout there is nothing to pack.
Troubleshooting
It looks exactly like a grid
Your cards are the same height, so there is nothing to pack.
The cards jump around while loading
Product images are arriving at different times. Standardise image dimensions.
Nothing packs at all
Check Nexter Blocks Pro is active. Measured with Pro off, the block renders nothing.
Prices are hard to compare
That is the trade-off with staggered rows. A plain grid is better for price comparison.










