Call Us Toll Free - US & Canada : +1-(888) 602-0119

How to Fix WooCommerce Shortcodes Not Working (2026 Guide)

Introduction

WooCommerce shortcodes help store owners place products across many pages. They can show product grids, categories, carts, and account areas. However, even a small error can stop proper shortcode output.

When WooCommerce shortcodes not working becomes an issue, start carefully. Do not change several settings at the same time. First, check what visitors actually see on the page. The visible result often points toward the real cause.

A shortcode may appear as plain text on-screen. It may also disappear and leave an empty space. Sometimes it works but displays completely different products. These problems may look similar at first. However, each one needs a different troubleshooting approach.

If you are new to these commands, our guide to using WooCommerce shortcodes explains how they work and where they can be used.

Identify Your WooCommerce Shortcode Problem First

Open the affected page in a private browser window. This shows the page much like a normal customer sees it. Then check how the WooCommerce shortcode behaves.

Shortcode Appears as Raw Text

You may see something like [products limit="4"] on-screen. This usually means WordPress did not process the shortcode. The problem often comes from its placement inside the editor.

The shortcode itself may still be correct. WordPress simply treats it like normal written content. This is common when using unsuitable editor blocks.

WooCommerce Shortcode Shows Nothing

Another common problem is a completely empty content area. The shortcode disappears, but no products replace it.

This can happen when no products match its conditions. Product status or catalog visibility may also affect results. A missing shortcode registration can create similar blank output.

Shortcode Displays the Wrong Products

A WooCommerce product shortcode may run but show unexpected items. It might display too many products or incorrect categories.

This usually points toward incorrect shortcode attributes. Missing quotes can also change how WooCommerce reads filters. Product sorting settings may produce unexpected results as well.

Check the WordPress Block Holding Your Shortcode

Gutenberg includes a dedicated Shortcode block for this purpose. Using this block helps WordPress process shortcode commands correctly.

Code and Preformatted blocks behave very differently. They are designed to display code as visible content. Therefore, a shortcode placed there can appear as plain text. The Custom HTML block may also behave differently with shortcode processing.

Open the page editor and select the shortcode area. Check which block contains the shortcode. Replace an unsuitable block with the Shortcode block.

Also inspect every quotation mark inside shortcode attributes. Copying content from documents can create curly quotation marks. These characters may look correct but break shortcode parsing.

When unsure, type the shortcode again manually. Check every bracket, quote, and attribute before testing again.

How to Fix WooCommerce Shortcodes Showing Nothing

Start with a simple shortcode on a blank page:

[products limit="4"]

If products appear, the original shortcode likely contains an error. If nothing appears, continue checking the store setup.

Check Whether WooCommerce Is Active

Open Plugins > Installed Plugins inside WordPress. Confirm that WooCommerce is installed and active.

WooCommerce provides its own shortcode functions. If the plugin is inactive, those functions cannot work normally.

Check Product Publication Status

Next, review the products used by your shortcode. Products should normally have a Published status.

Draft, private, or scheduled products may not appear publicly. Always check product status before changing shortcode attributes.

Check WooCommerce Catalog Visibility

Catalog visibility can also affect shortcode output. A hidden product may not appear in normal product displays.

Check whether each product should appear in search results, shop pages, or both. If needed, read our guide about how to hide products in WooCommerce. It explains how catalog visibility affects product access.

Verify Product Category Slugs

Category filters require the correct category slug. The visible category name may not work as expected.

For example, use:

category="winter-coats"

Avoid using:

category="Winter Coats"

Finally, confirm products match every filter used by the shortcode. Check category, featured status, sale status, SKU, and attributes.

Fix WooCommerce Shortcodes Showing the Wrong Products

Some shortcode problems do not create blank pages. Instead, the shortcode works but shows the wrong products.

When WooCommerce shortcodes not working correctly involves product results, inspect the attributes first. Small syntax mistakes can completely change the final product display.

Check Shortcode Syntax Carefully

One missing quote can change how WooCommerce reads a command. The shortcode may still run, but its output becomes incorrect.

Check each opening and closing quotation mark carefully. Also confirm every shortcode attribute uses the correct spelling.

Understand Common Product Shortcode Settings

The limit value controls how many products appear. The columns value controls the product grid layout.

The orderby option controls how products get sorted. The order option controls ascending or descending order.

If these settings are missing, default behavior may apply. This often explains unexpected product numbers or sorting.

Check Conflicting Product Filters

Product filters should also be combined with care. Options like on_sale, best_selling, and top_rated target different product groups.

Adding too many filters can create confusing results. Keep the query simple while testing the problem.

Display Featured Products Correctly

For featured products, a common format is:

[products visibility="featured"]

Product SKUs also need an exact match. Spaces, characters, or leading zeros can affect the result.

Start testing with a simple shortcode:

[products limit="4"]

Then add one attribute at a time. Test after each change. This process quickly identifies the setting causing trouble.

Check Legacy WooCommerce Shortcodes

Older WooCommerce stores often contain shortcodes added years ago. Some pages may still use formats from older tutorials.

You might find shortcode formats such as [featured_products], [sale_products], or [recent_products]. Older content may also contain [best_selling_products] or [top_rated_products].

Modern product displays can often use the main [products] shortcode instead.

For featured products, use:

[products visibility="featured"]

For sale products, use:

[products on_sale="true"]

For recent products, use:

[products orderby="date" order="DESC"]

Do not only check recently created pages. Older shortcodes may remain inside landing pages and widgets.

They can also appear inside sidebars, footer areas, category descriptions, or old page-builder layouts.

Check Theme and Plugin Shortcode Changes

Not every WordPress shortcode belongs directly to WooCommerce. Themes and plugins can register their own shortcode commands.

If you remove the related plugin, that shortcode may stop. Changing themes can cause the same problem with theme-specific shortcodes.

Think about when the problem first appeared. Did you recently change your WordPress theme?

Was a plugin removed, replaced, or updated? Did the problem begin after changing the PHP version?

The timing of the failure provides a useful troubleshooting clue. Check recent changes before making unrelated adjustments.

Check Where the WooCommerce Shortcode Is Used

A valid shortcode may fail inside certain website areas. Its location can matter as much as its syntax.

Post Excerpts

WordPress excerpts may remove or ignore shortcode output. A shortcode working inside full content may fail inside listings.

Email Templates

WooCommerce email content follows a different rendering process. Standard page shortcodes should not be expected everywhere inside emails.

Product Category Descriptions

Category description behavior can depend on the active theme. Test the shortcode before relying on this location.

Page Builders

Elementor, Divi, WPBakery, and other builders use special content modules. Choose their dedicated shortcode element when one is available.

Custom WordPress Templates

A custom theme template may process content differently. This can explain why one shortcode works elsewhere.

When a shortcode fails only on one template, compare both templates. That difference can reveal the real issue quickly.

Fix WooCommerce Shortcodes Not Working on Cart and Checkout Pages

Product shortcodes are only one part of WooCommerce. Core store pages also use special store functions and shortcodes.

These areas include Cart, Checkout, My Account, and order tracking. Problems here require more careful testing.

Check Important WooCommerce Page Shortcodes

The Cart page can use:

[woocommerce_cart]

The Checkout page can use:

[woocommerce_checkout]

The account area can use:

[woocommerce_my_account]

Order tracking can use:

[woocommerce_order_tracking]

These store pages work differently from normal product displays. They also rely on the correct WooCommerce page setup.

If these pages are already causing wider problems, review our guide about WooCommerce cart and checkout pages not working.

Check WooCommerce Page Assignments

Open WooCommerce > Settings > Advanced inside your dashboard. Check the assigned Cart, Checkout, and My Account pages.

A deleted or wrongly assigned page can create strange behavior. Customers may see blank pages or incorrect store content.

Duplicate store pages can also cause confusion. WooCommerce follows the pages assigned inside its settings.

A broader WooCommerce checkout process issue can sometimes look like a shortcode failure. Check the complete checkout flow when the shortcode itself looks correct.

Check Problems That Look Like WooCommerce Shortcode Errors

Sometimes, the shortcode is not the real problem. Caching can make a corrected page still appear broken.

Caching Problems

A page cache can store old shortcode output. Hosting and CDN caching can do the same.

Browser cache may also display outdated page content. Clear each cache layer before testing the shortcode again.

WooCommerce Session Problems

Cart and checkout pages use changing customer information. They should not behave like normal static pages.

Aggressive caching can interfere with dynamic store sessions. This may create symptoms that resemble shortcode problems.

Plugin Conflicts

Product filters, page builders, and optimization plugins can change queries. WooCommerce extensions may also modify product results.

Theme Conflicts

Some themes modify WooCommerce product queries or template output. These changes can affect shortcode results on selected pages.

Custom PHP Problems

Custom code can also change shortcode behavior. Check theme functions and code snippet plugins carefully.

How to Troubleshoot WooCommerce Plugin Conflicts Safely

Before conflict testing, create a current website backup. Include both website files and the database.

For active stores, a staging website is much safer. It provides a separate place for troubleshooting without disturbing customers.

On staging, disable non-essential plugins one at a time. Test the affected shortcode after each plugin change.

If the shortcode starts working, investigate the last disabled plugin. Re-enable other plugins to confirm your findings.

Theme testing can follow the same approach. Test a compatible default theme on staging.

If the shortcode starts working there, inspect your active theme. Avoid testing major changes directly on a busy store.

Test WooCommerce Shortcodes After Making Changes

Never assume a shortcode works because administrators can see it. Customers may receive different results from logged-in users.

Log out and open the page privately. This provides a cleaner view of actual customer behavior.

Clear WordPress, hosting, CDN, and browser caches. Then reload the page and test the shortcode again.

Check desktop and mobile layouts too. Product grids can behave differently on smaller screens.

You can also review the page source. Search for the shortcode brackets inside the generated source.

If shortcode text remains visible, WordPress did not process it. If it disappears without output, no content was returned.

Finally, verify the products themselves. Check count, category, sorting, stock, and catalog visibility.

How to Prevent WooCommerce Shortcodes From Breaking

Fixing a shortcode solves the current problem. Preventing another failure protects your store for much longer.

Regular checks can reduce many common shortcode problems. Updates, plugins, themes, and page edits can all affect output.

Keep WordPress and WooCommerce Updated

Keep WordPress, WooCommerce, themes, and plugins on supported versions. Updates often include security and compatibility improvements.

However, avoid major updates without testing them first. Changes can affect themes, plugins, or custom website code.

Use a staging site before installing major changes. Then review product grids and important store pages.

Avoid Old or Unsupported Shortcodes

Older stores may contain shortcodes created many years ago. Some depend on old plugins or removed theme features.

Review old landing pages and product sections regularly. Replace outdated shortcode formats when a supported option exists.

Keep your shortcode syntax simple. Too many filters make later troubleshooting much harder.

Keep Category Slugs and SKUs Stable

Category slugs and product SKUs may appear inside shortcode filters. Changing them can affect existing product displays.

If you change either value, review related shortcodes immediately. This prevents product sections from becoming unexpectedly empty.

Check Shortcodes Before Removing Plugins or Themes

Before removing software, determine whether pages depend on its shortcodes. Search pages, widgets, templates, and older content.

Theme changes need the same care. Theme-specific shortcodes can disappear after activating a different design.

Keep WooCommerce Core Pages Properly Assigned

Review Cart, Checkout, and My Account page assignments regularly. This is especially important after migrations or redesigns.

Also avoid incorrect caching on dynamic store pages. Cart and checkout information changes between customer sessions.

Test Important Pages After Major Changes

Test shortcode pages after WordPress and WooCommerce updates. Also test after theme, plugin, PHP, or hosting changes.

Review product sections, Cart, Checkout, and My Account pages. Check both desktop and mobile versions.

When testing checkout changes, following a full WooCommerce checkout testing process helps confirm the customer journey works from cart through order completion.

Quick WooCommerce Shortcode Troubleshooting Checklist

When a shortcode fails, begin with the simplest checks. Confirm WooCommerce is active and the shortcode syntax is correct.

Check whether the shortcode sits inside the correct block. Review all quotation marks, brackets, and shortcode attributes.

Next, check product publication and catalog visibility settings. Make sure category slugs and SKUs match real products.

Review whether old shortcode formats are still being used. Check recent plugin, theme, PHP, or WooCommerce changes.

Then clear every available cache layer. Test the page again while logged out.

If the problem remains, compare it with a working page. Differences in templates or plugins can provide useful clues.

When WooCommerce Shortcodes Not Working Needs Technical Troubleshooting

Some shortcode problems go beyond standard WordPress settings. A shortcode may work everywhere except one custom template.

This can happen when theme code changes WooCommerce queries. Plugin filters may also change which products get returned.

Custom PHP inside functions.php can affect shortcode output. Code snippet plugins can create similar conflicts.

WordPress debug logs may reveal hidden errors. PHP error logs can also show compatibility or code failures.

The WooCommerce status report is another useful place to check. It can reveal template overrides and environment information.

Hooks and filters deserve attention when product results appear incorrect. Custom query changes may also require code-level review.

If standard troubleshooting fails, avoid changing random PHP code. Controlled testing is much safer for an active store.

Conclusion: Fix and Prevent WooCommerce Shortcodes Not Working

WooCommerce shortcodes not working can mean several different things. The shortcode may appear as text, return nothing, or show incorrect products.

The best fix starts with identifying that exact symptom. From there, check block placement, syntax, product status, and visibility.

For product shortcodes, review categories, SKUs, filters, and sorting settings. Older shortcode formats should also be checked on long-running stores.

Cart and checkout shortcode problems need extra care. Correct page assignments, customer sessions, and caching all matter there.

Plugin and theme conflicts can make valid shortcodes fail unexpectedly. Testing changes on staging helps protect the live shopping experience.

Prevention is just as important as fixing current problems. Keep your software updated and review shortcode pages after major changes.

Always test important pages while logged out. Check both desktop and mobile views before considering the problem solved.

A methodical approach makes shortcode errors much easier to diagnose. It also reduces the chance of creating new store problems.

For more practical WooCommerce guides and troubleshooting resources, explore WP Customify.

How to Fix WooCommerce Product Variations Not Working (2026 Guide)

A store with WooCommerce product variations not working loses sales quietly, and the cause is nearly always one of five things. Four are setup mistakes. One is a script conflict. They look identical from the shop page, which is why people fix the wrong one. This 2026 guide starts with a two-minute check. It tells you which fault you have. Then it gives you the exact steps for that fault, and what to try when the obvious fix does nothing.

Run This Two-Minute Check First

Open the product page as a customer would. Use a private browser window. What you see there tells you the cause.

No dropdowns at all. The page shows one plain price and a normal Add to cart button. Your product is not set as a Variable product, or the attribute is not marked for variations.

Dropdowns appear but stay empty. The select boxes are there. They contain nothing to choose. Your attribute has no terms assigned to this product.

Dropdowns work, but no price or button appears. You pick a size and colour. Nothing loads underneath. Your variations have no price set.

You get an error message. Note the exact wording. Two different messages point at two different faults, covered in their own sections below.

Nothing responds at all. The dropdowns are dead. Selecting a value changes nothing on screen. This is a broken script, not a setup problem.

Pick the line that matches. Then read only that section. Skipping this step is how a ten-minute fix turns into a whole morning.

Why WooCommerce Product Variations Are Not Working After Setup

Variations need four separate things to be true. Miss any one and the front end goes quiet. Most stores miss the same one.

Open the product and look at the Product data dropdown. It must read Variable product. Simple product is the default, and it cannot hold variations at all. Change it and the tabs on the left change with it.

Next, open the Attributes tab. Add your attribute, then add its values. Now find the checkbox labelled Used for variations. Tick it. Click Save attributes and wait for the panel to reload. This checkbox is the single most missed step in WooCommerce. Without it the attribute is treated as plain product information. It shows in the description table and does nothing else.

Then open the Variations tab. Attributes alone create nothing. You must generate the combinations. Use Generate variations to build them all, or add them one at a time.

Finally, give every variation a price. This is the fourth condition and the quietest one. A variation without a price is treated as unavailable. It will not appear, and it throws no warning.

Free items trip people up here. Leaving the price box empty does not mean free. Type a zero instead. Then the variation is valid and customers can add it to the cart.

Fix Variations That Never Appear on the Product Page

You saved everything and the dropdowns are still missing. Work through these three checks in order.

Check that the attribute terms are on this product

Global attributes behave differently from custom ones. A global attribute lives at Products > Attributes and holds its own list of terms. Adding the attribute to a product does not add its terms. You have to select them in the Attributes tab, on that product. An attribute with no terms selected renders an empty dropdown or none at all.

Custom attributes work the other way. Their values are typed into the product itself, separated by a vertical bar. They are quick to set up but cannot be filtered or reused. Convert them to global attributes if you plan to grow the catalogue.

Check the variation stock status

Open the Variations tab and expand each row. Look at Stock status. A variation set to Out of stock still shows in the dropdown. It just cannot be bought. If every variation is out of stock, the whole product reads as unavailable. Managed stock is stricter. A variation with a quantity of zero and backorders off behaves the same way.

There is a setting worth knowing here. Under WooCommerce > Settings > Products > Inventory you can hide out of stock items from the catalogue. Turn that on and sold-out variations vanish from the dropdowns rather than showing as unavailable.

Check the product is actually visible

If the product itself is hidden, nothing on it will render. Look at Catalog visibility in the Publish box. Also confirm the product is Published, not draft or private. A scheduled product behaves like a draft until its date arrives, and it gives no warning on the front end. Our guide on how to hide products in WooCommerce explains what each visibility option really does. If whole sections of your catalogue are missing, read our fix for the WooCommerce shop page not showing products instead.

Fix “No Products Matched Your Selection”

The full message reads “Sorry, no products matched your selection. Please choose a different combination.” It means the customer picked a set of options that has no matching variation.

Sometimes that is correct. You may genuinely not stock a red item in extra large. More often it is a gap you did not intend.

Go to the Variations tab and count. Two attributes with four values each need sixteen variations for full coverage. If you built ten, six combinations are dead. Every dead combination shows this message.

There are two ways to close the gaps. Regenerate all combinations, then delete the ones you do not sell. Or use the Any option. Setting an attribute to Any on a variation makes it match every value of that attribute. One variation with Any Colour and size Large covers every colour in Large. This keeps large catalogues manageable.

Watch for a subtler cause. If you edit or rename attributes after building variations, the links break. The variation still exists but points at a value that is gone. Rebuild the variations after any attribute change. This is the most common reason a working product suddenly stops working.

Fix “Please Select Some Product Options”

This message appears on Add to cart. The full text is “Please select some product options before adding this product to your cart.” WooCommerce is saying it did not receive a full selection.

The honest cause is the common one. Your product has two attributes and the customer only chose one. Both must be set. Nothing to fix there.

The frustrating cause is different. The customer did choose everything, and the message still appears. That means the form value did not reach the server. Check the attribute slug first. Go to Products > Attributes and look at the slug column. Accented letters, ampersands, slashes and spaces in a slug can break the form field name. Rename the slug to plain lowercase letters and hyphens. Then rebuild the variations, because the old ones point at the old slug.

Long attribute names cause the same failure. WordPress limits taxonomy names to 32 characters. An attribute name that runs past that limit gets truncated behind the scenes. The form then submits a value the product does not recognise. Keep attribute names short and this never happens.

What Changes Above Thirty Variations

Variation behaviour changes once a product passes a threshold. By default that number is thirty. This surprises store owners who add a size and suddenly find the page acting differently.

Below the threshold, WooCommerce loads every variation into the page. The dropdowns are smart. Choose Red and the sizes you do not stock in red grey out immediately. Customers cannot pick a dead combination.

Above the threshold, that data is too heavy to send. WooCommerce switches to loading each variation on demand instead. The dropdowns now show every value all the time. Nothing greys out. The customer only learns a combination is unavailable after selecting all of it, and then they see the no-match message.

Nothing is broken here. It is a deliberate trade for page speed. If your product has forty variations and you want the smart dropdowns back, a developer can raise the threshold with the woocommerce_ajax_variation_threshold filter. Raise it carefully. Every extra variation adds weight to the page, and slow product pages cost more sales than clumsy dropdowns do. Products with hundreds of variations are usually better split into several simpler products.

Rule Out Cache, Theme and Script Conflicts

If the dropdowns are completely dead, your setup is probably fine. A script is failing before it can run.

Start with the browser console. Right-click the product page, choose Inspect, then open the Console tab. Reload the page. A red error naming a missing file or an undefined function tells you where to look. The variation form depends on a WooCommerce script called add-to-cart-variation. If that file fails to load, every dropdown goes inert.

The usual culprit is optimisation. Combining or minifying JavaScript can reorder files and break dependencies. Deferring scripts can run the variation form before its libraries exist. Turn off JavaScript optimisation for product pages and test again. If that fixes it, add the variation script to your optimiser’s exclusion list.

Caching plugins cause a slower version of the same problem. A page cached before you added variations keeps serving the old markup. Clear every layer. That means the plugin cache, any server cache, and any network cache in front of the site. Then test in a private window.

If the console is clean, do a conflict test. Switch to a default WordPress theme. If variations work, your theme overrides the variation template. If they still fail, disable other plugins one by one. Filter, swatch and speed plugins are the usual suspects. For pages that will not render at all, see our guide on not being able to view WooCommerce product pages.

Get Expert Help With Your WooCommerce Store

Broken variations are expensive in a quiet way. The product page still loads. Nothing looks obviously wrong. Customers simply cannot buy, and most of them leave without telling you. A single unpriced variation can hide a whole product line for weeks.

The good news is that the causes are few and they repeat. An untouched Used for variations checkbox. A variation with no price. A renamed attribute that orphaned its combinations. A minifier that broke one script. Run the two-minute check at the top of this guide and you will land on the right one straight away.

It is also worth tidying the product pages while you are in there. Clear option labels and a good summary reduce the questions that reach your inbox. Our guide on how to add a short product description in WooCommerce covers that part.

If your variations still refuse to behave, we can take a look. Our team fixes WooCommerce stores every day. We check the product setup, the attribute data, your theme templates and your script stack. Then we tell you plainly what is wrong and what it takes to fix it. Visit WP Customify for expert WooCommerce support today.

How to Fix WooCommerce Shop Page Not Showing Products (2026 Guide)

A blank shop page is a scary sight. Your products sit safely in the admin area. Yet the shop page shows nothing at all. Every minute it stays empty, you lose sales. The good news is simple. This problem almost always has one small cause. Most store owners fix it in under ten minutes.

This guide covers every common reason for a WooCommerce shop page not showing products. We start with the fast checks. Then we move to the deeper ones. Work through the steps in order. Reload your shop page after each step. That way you learn exactly what fixed it.

Why Your WooCommerce Shop Page Is Not Showing Products

A WooCommerce shop page not showing products is a symptom, not a fault on its own. WooCommerce builds that page from a database query. If anything blocks that query, the page loads but stays bare. The layout still appears. The product grid does not. Some stores show the message no products were found matching your selection where the grid should be. Others load a completely empty space.

There are seven usual causes. The shop page setting points at the wrong page. Your products are drafts instead of published items. Catalog visibility is set to hidden. Permalinks are stale after a move or an update. A cache is serving an old copy of the page. A plugin or theme is filtering the query. Or the product lookup tables have fallen out of sync, which more often distorts sorting and filtering than empties the page completely.

Notice what is missing from that list. Losing your products is very rare. The data is almost always safe in the database. Something is simply stopping it from reaching the screen. You are hunting a blocked query, not lost data.

One more tip before you start. Open your shop page in a private browser window. Logged-in admins often see a different version of a page. A private window shows you what real shoppers see.

Step 1: Check the Shop Page Setting in WooCommerce

In our support work this is the first thing worth checking. WooCommerce needs to know which page is your shop. If that link is empty or wrong, the page renders as a plain, blank page.

Go to WooCommerce → Settings → Products → General. Look at the field marked Shop page. It should name your real shop page. If the box is blank, pick the right page from the dropdown. Then click Save changes at the bottom.

What to do if the shop page is missing

Sometimes the page itself was deleted. Check Pages → Trash first. If it sits there, restore it. If it is gone for good, create a new page called Shop. Leave the content area empty. WooCommerce fills the page for you. Then point the setting at that new page and save.

Now reload your shop page. If products appear, you are done. If the page still looks bare, move to the next step. Do not undo this change. A correct shop page setting matters for the rest of the fixes too.

Step 2: Fix Product Status and Catalog Visibility

Two settings explain most cases of WooCommerce products not showing on the front end. WooCommerce hides products that are not published, and products marked as hidden. Both are easy to miss because they look fine in the admin list.

Open Products → All Products. Look at the counts along the top of the screen. You will see links such as All, Published, Draft and Trash. If the Published count is zero, that is your answer. Your items are drafts or pending review. Tick the boxes next to them. Choose Edit from the Bulk actions menu and click Apply. Set the status to Published and update.

Check catalog visibility on each product

Catalog visibility is a separate setting. A product can be published and still stay hidden. Open any product for editing. In the Publish box on the right, find Catalog visibility. Click Edit next to it. Choose Shop and search results. Click OK, then Update the product.

You can fix many products at once. Select them on the All Products screen. Use Bulk actions, then Edit. A Catalog visibility dropdown appears in the panel. Set it to Catalog & search and click Update. If you have deliberately hidden items in the past, our guide on how to hide products in WooCommerce explains each visibility option in detail.

Step 3: Reset Permalinks and Clear Every Cache

WordPress stores its URL rules in the database. Those rules can break after a site move, a plugin update or a core update. When they break, the shop page loads the wrong template. The result is a page with no products.

The fix takes ten seconds and is completely safe. Go to Settings → Permalinks. Do not change anything. Just click Save Changes. That single click rebuilds all the rewrite rules. Now reload the shop page.

Clear your caches in the right order

Caching is the second half of this step. A cache can keep serving the broken version of your page long after you fix it. Clear them in this order for the best result.

Start with your caching plugin and purge everything. Next, clear your host’s server cache from your hosting panel. Then purge your CDN if you use one. Finally, clear your own browser cache, or just open a private window. Test the shop page after each purge.

Step 4: Find the Plugin or Theme Conflict

If the page is still empty, something is filtering the product query. A WooCommerce plugin conflict is the likely culprit, and your theme is the next suspect. Conflict testing sounds risky, but it is safe when you do it properly.

Never test on a live store during busy hours. Use a staging copy if you have one. If you must test live, pick your quietest hour and work fast.

How to run the conflict test

Deactivate every plugin except WooCommerce. Reload the shop page. If products appear, a plugin is the cause. Now switch them back on one at a time. Check the shop page after each one. The plugin that breaks the page is your answer.

If the page is still empty with only WooCommerce active, the theme is next. Switch to a default WordPress theme for a moment. Reload the shop page again. If products appear, your theme is filtering them out. Switch back to your own theme right after the test. Then contact the theme author with what you found.

Keep a note as you go. Write down each plugin name and what the shop page looked like after it.

Common conflict sources to check first

Some plugin types cause this far more often than others. Product filter and search tools rewrite the main query. Membership and role-based pricing tools can hide products from certain visitors. Multi-currency and regional tools sometimes hide items with no price in the active currency. Import tools can leave products in a half-finished state. Start your testing with these groups and you will usually find the cause quickly.

Recently updated plugins deserve a look too. Check your update history and note anything changed in the last week. That is often where the fault began. If one plugin turns out to be the cause, roll it back to the older version first. Then report the bug so the author can fix it properly.

Step 5: Fix Block Theme and Product Collection Issues

Block themes changed how the shop page works. With a block theme, the shop page is a template, not a classic page. WooCommerce fills it using the Product Collection block. That block has its own filters, and those filters can empty your grid.

Go to Appearance → Editor → Templates. Open the template named Product Catalog. Click on the product grid to select the block. Now open the settings panel on the right.

Check the block filters

Look at the Filters section. Common traps include a stock status filter set to In stock, a category filter pointing at an empty category, and an attribute filter with no matches. Remove any filter you do not need. Save the template and reload the shop page.

Watch the “Products per page” value too. A very high number can time out on a large catalog. Set it to 12 or 16 and test again. If the message reads “There are no products to display”, the block is working but the filters return nothing. That message is a clue, not a failure. It tells you the fault is in the filters, not in your data.

Step 6: Repair the WooCommerce Product Lookup Tables

WooCommerce keeps copies of key product data in lookup tables. These tables make the shop page load fast. They also break silently. A failed import or an interrupted update can leave them out of sync. When that happens, WooCommerce queries the tables, finds nothing, and shows an empty grid.

Go to WooCommerce → Status → Tools. Find the row called Product lookup tables. Click Regenerate. The button changes to show progress. Do not refresh the page while it runs. Large catalogs can take several minutes.

While you are on this screen, look for Reset product count cache as well. It rebuilds the counts shown against each category and attribute. Run it if your categories list numbers that do not match what the shop page displays.

If the regeneration gets stuck

The job runs through the scheduler in the background. If the scheduler is stalled, the job stalls too. Go to WooCommerce → Status → Scheduled Actions and check the Pending tab. A long queue of old pending actions means your cron is not firing. Ask your host to check the server cron, or trigger it manually.

While you are on the Status screen, open the System status tab. Look for red warnings about database tables. A missing table here explains a lot of odd behaviour across the store, including problems like product pages that will not open.

How to Keep Your Shop Page Working

Fixing the page is only half the job. Keeping it working is the part that saves you time later. A few habits make a real difference.

Update on staging first, never straight on the live store. Test the shop page right after every WooCommerce or theme update. Keep a short list of the plugins that touch products, so conflict testing starts in the right place. Set up simple uptime monitoring on the shop URL itself, not just the home page. A blank page still returns a healthy status code, so monitor the page content, not only the response.

It also helps to know the shortcode fallback. If your template is broken, you can drop the products shortcode onto any page. That gives you a working product grid while you repair the real one. Our guide to WooCommerce shortcodes lists the ones worth keeping to hand. Finally, take a backup before any conflict test.

Get Expert Help With Your WooCommerce Store

A WooCommerce shop page not showing products almost always comes down to one of the six steps above. Work through them in order and you will find the cause. If your WooCommerce shop page is still not working after all six steps, the fault usually sits deeper. A large catalog, heavy customisation or a stack of old plugins can hide the real fault. Broken product queries often sit alongside other store problems, such as issues in the checkout process, and those need a careful look.

If your shop page is still empty, do not keep guessing while sales slip away. Our WooCommerce experts fix these faults every day. We find the cause, repair it safely, and harden your store so it does not happen again. Talk to the WP Customify team today and get your products back in front of buyers.