---
title: "How to Display WooCommerce Products on Custom Page in WordPress?"
url: https://nexterwp.com/docs/display-woocommerce-products-on-custom-page-in-wordpress/
date: 2023-08-09
modified: 2026-09-22
lang: en
author: "Aditya Sharma"
description: "Products are useful outside the shop. A landing page, an about page, a campaign page all sell better with the actual products on them. The Product Listing block works on..."
image: https://nexterwp.com/wp-content/uploads/2024/05/display-woocommerce-products-on-custom-page-in-wordpress-1024x519.jpg
word_count: 490
---

# How to Display WooCommerce Products on Custom Page in WordPress?

## Key Takeaways

- Product Listing block funciona en cualquier página porque ejecuta su propia consulta y no depende de la tienda; con Nexter Blocks Pro desactivado, no renderiza nada.
- WooCommerce activo y productos publicados son necesarios antes de empezar, y el bloque puede filtrar por categoría, etiqueta, destacados, en oferta o IDs específicos.
- Cada listado usa una consulta propia y muestra datos en vivo, así que varias listas en una página añaden coste y el texto de la página puede quedar desactualizado si repite precios.

Products are useful outside the shop. A landing page, an about page, a campaign page all sell better with the actual products on them.

The Product Listing block works on any page, because it runs its own query rather than relying on the shop.

[LIVE BLOCK LINK](https://nexterwp.com/nexter-blocks/listing/wordpress-product-listing/)

## 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

- Edit the page where you want products to appear.

![The custom page](https://nexterwp.com/wp-content/uploads/2023/08/product-listing-content-layout-normal-new.png)

- Add the **Product Listing** block.

- Choose which products to show, by category, tag, featured or specific IDs.

- Set the layout and how many products appear.

- Publish and check the real page.

## How It Behaves

The block is self-contained, so it does not need to be on a shop page to work.

- **It runs its own query.** Measured, the listing rendered products on an ordinary page with no shop context at all, which is the whole point.- **All the selection options are available**: by category, by tag, featured only, on sale only, or specific product IDs.- **Every card carries its own data.** Measured on a published page, each product renders as an `article` whose classes include its category (`product_cat-...`), its tags (`product_tag-...`), its stock state (`instock` or `outofstock`) and whether it is on sale.- **Add to cart works from anywhere**, so a landing page can sell directly without sending the visitor to the shop first.- **The exception is related products**, which need a single product page — see [show related products](https://nexterwp.com/docs/show-related-products-on-a-product-page-in-wordpress/).- **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.- **Products on many pages means many product queries.** Each listing is its own query, so scattering them across the site has a cost.- **Prices and stock are live.** A landing page that mentions a price in its copy will go out of date while the listing stays correct, which looks worse than either alone.- **A hand-picked selection needs maintaining** — see [show products by ID](https://nexterwp.com/docs/show-woocommerce-product-by-product-id-in-wordpress/).- **Archive and related modes do not apply here**, because an ordinary page has neither context.

## Troubleshooting

### The listing is empty on my custom page

No published products match the query. Check any category, tag or featured restriction.

### Related mode shows nothing

Expected. Related needs a single product page. Measured on an ordinary page it correctly returns nothing.

### The prices in my page text are wrong

The listing shows live prices while your typed copy does not. Avoid repeating prices in the copy.

### The page is slow

Each listing is a product query. Reduce the number of products, or the number of listings on the page.

## Related Docs

- [Show a WooCommerce product by product ID](https://nexterwp.com/docs/show-woocommerce-product-by-product-id-in-wordpress/)- [Display featured products in WooCommerce](https://nexterwp.com/docs/display-featured-products-in-woocommerce-in-wordpress/)- [Create a WooCommerce product archive page](https://nexterwp.com/docs/create-a-woocommerce-product-archive-page-in-wordpress/)- [Advanced tab settings](https://nexterwp.com/docs/use-advanced-tab-in-nexter-blocks/)

## Frequently Asked Questions

**Q: What do I need before I can display WooCommerce products on a custom page in WordPress?**
A: Nexter Blocks Pro is required, and the Product Listing block has to be enabled under Nexter &gt; Blocks in your WordPress dashboard. WooCommerce also needs to be active with published products, because the block reads your real catalogue. That matters on empty stores too: if there are no published products, the listing renders empty instead of showing placeholders.

**Q: Can I show WooCommerce products on a landing page without using the shop page?**
A: The Product Listing block is built for that exact use case. It runs its own query, so it works on any ordinary page and does not depend on shop context. That makes it useful for landing pages, about pages, and campaign pages where you want products to sell directly without sending visitors to the shop first.

**Q: What product filters can I use in the Product Listing block?**
A: The block supports category, tag, featured only, on sale only, and specific product IDs. That gives you enough control to build a focused page instead of dumping the whole catalogue onto it. For hand-picked sets, product IDs are the most precise option, while category and tag work better when you want the list to stay tied to catalogue structure.

**Q: Why is my custom page showing an empty product listing?**
A: The usual cause is that no published products match the query. A category, tag, featured-only filter, or ID-based selection can all narrow the result set down to nothing. Since the block reads the live catalogue, an empty store or unpublished products will also produce an empty listing rather than a fallback layout.

**Q: Why does related products show nothing on a normal page?**
A: Related products only work on a single product page because they depend on product context. On an ordinary page there is no product context to relate against, so the result is correctly empty. If you need related items in that scenario, this block is not the right mode; [show related products](https://nexterwp.com/docs/show-related-products-on-a-product-page-in-wordpress/) is for product pages only.

**Q: How do I keep a custom WooCommerce product page fast?**
A: Each Product Listing block runs its own product query, so speed depends on how many listings and how many products you place on the page. Fewer listings and smaller product sets reduce the cost. Nexter’s smart CSS/JS loading helps keep pages under 0.5s overall, but scattered product queries still add work on top of that.
