LTD is back · Limited time only

How to Disable All WooCommerce Widgets in WordPress

Last updated on July 24, 2026

Key Takeaways

• Single toggle, no nested options

• Simplified widget admin area (fewer widgets to choose from)

• Prevents accidental widget use (e.g., adding a Cart widget to a non-shop page)

• Cleaner widget management for stores that don’t use WooCommerce widgets

What Is the Disable all WooCommerce widgets feature?

WooCommerce registers several widgets (Cart, Product Search, Product Categories, Recent Products, Featured Products, etc.) for the WordPress widget areas. For stores that don’t use these widgets, this feature removes them from the widget admin area, simplifying widget management.

Why You Need It

WooCommerce widgets can clutter the widget admin area, especially for sites that use the classic editor or don’t display WooCommerce content in widget areas. Disabling the widgets reduces confusion and prevents accidental widget use.

How to Disable All WooCommerce Widgets in WordPress

Step 1: Navigate to Settings

Click into the Classic Monks plugin settings in your WordPress dashboard.

Step 2: Go to the WooCommerce Tab

Click on the WooCommerce menu, then click the Optimization subtab.

Step 3: Enable the Feature

Toggle on Disable all WooCommerce widgets.

Step 4: Save Changes

Click Save Changes.

Step 5: Test

Go to Appearance > Widgets. The WooCommerce widgets (Cart, Product Search, etc.) should not be visible.

Configuration Options

Option Description Default
Disable all WooCommerce widgets Master toggle. Off

No nested options.

What Gets Affected

  • WooCommerce widgets are removed from the widgets admin area
  • Existing WooCommerce widgets on the front-end are also removed (if any)
  • The widget admin area is cleaner

What Does NOT Get Affected

  • WooCommerce’s shop functionality (orders, products, etc.)
  • WooCommerce’s shortcodes (they can be used in pages and posts independently)
  • The customer-facing shop

Advanced Options (Developers)

This feature registers 1 WordPress hook in woocommerce-functions.php:

Actions:

  • wp_dashboard_setup calls cm_disable_woocommerce_status_meta_box() (Removes WooCommerce status dashboard widget)
// Hooked in woocommerce-functions.php
add_action( 'wp_dashboard_setup', 'cm_disable_woocommerce_status_meta_box' );

The feature modifies WooCommerce behavior by registering or removing hooks. Disabling it reverses those changes.

Common Use Cases

Headless E-commerce Stores

For stores using a headless approach (custom React/Vue frontend with WordPress as the backend), the WordPress widget area is rarely used by the customer. The customer interacts with the custom frontend. Disabling the WC widgets simplifies the WordPress admin without affecting the customer experience.

Block-based widget areas

WordPress 5.8+ uses block-based widget areas. The legacy WC widgets may not render correctly. Disabling them avoids confusion.

Template-based widget usage

Stores that include the cart widget in their theme templates (header.php) don’t need the WC widget in the widget admin.

Custom widget areas

Stores that use custom widget areas (e.g., from the theme) don’t need the WC widget in the standard widget admin.

Stores using full-page templates

Stores that use the cart widget in template code (not the widget area) don’t need the WC widgets in the widget admin.

Headless WooCommerce stores

Stores using custom frontends (React, Vue) don’t use WordPress widgets. Disabling them simplifies the widget admin.

Cleanup for new staff

When onboarding new staff, fewer widgets means less confusion about which widgets to use.

Troubleshooting

The feature is not taking effect

Cause: The toggle is off, or a caching plugin is serving the old page.
Fix: Verify the toggle is on. Clear all caching layers (page cache, object cache, CDN).

I want the feature to apply only to specific pages

Cause: The toggle is global.
Fix: Use a small custom plugin that checks the current page and conditionally enables the feature (e.g., via the filter above).

A third-party plugin is breaking after enabling

Cause: Some plugins depend on the disabled feature.
Fix: Disable the toggle and find an alternative (e.g., conditional loading via a performance plugin).

The change is not visible to customers

Cause: The feature is admin-only or affects specific page types that the customer doesn’t visit.
Fix: Verify the feature is working in the appropriate context (e.g., admin pages, non-WooCommerce pages, etc.).

Sumit Your Ideas or Feature Requests

All submissions go through a manual review, so not every idea will be published. That said, the most upvoted ideas are given priority on our official roadmap.Please check if your idea already exists before submitting. If you find it, simply upvote it to help us prioritize it.