This is an info Alert.
x402 Logo
  • Product
    • Become Agent-Ready
      • Merchants
        Agentic Commerce — list your store across ChatGPT, Gemini, Claude & Perplexity
      • Publishers
        Monetize your content when AI agents read, cite, or train on it
      • SaaS Companies
        Treat AI agents as first-class customers with agent-priced checkout
    • Monetize
      • Monetize MCP Server
        Charge per call on any MCP server in 2 minutes
      • Monetize AI Agents
        Turn n8n, Zapier, Activepieces workflows into revenue
      • Agent Feed
        Pay-per-query access to licensed publisher content for your agents
  • Resources
    • xpay Ecosystem
      • xpay✦ Tools
        1,000+ pay-per-use tools for your AI agents
      • Agent-Ready SaaS Index
        25,481 SaaS scored on agent-buyability
      • SaaS Pricing Database
        Pricing pages indexed across 1,000+ categories
      • Shopify Apps Directory
        Every Shopify app, with its full review history
      • WooCommerce Plugins Directory
        Every WooCommerce plugin, scored on how well it is maintained
      • GitHub
        Open source repositories
    • Agent Building
      • Agent Frameworks
        AI frameworks for building multi-agent systems
      • x402 Integration
        AI frameworks with x402 payment integration
      • Networks
        Blockchain networks supporting x402
    • Company
      • About xpay✦
        Our mission, products, and protocols
      • Blog
        Latest insights and updates
      • Docs
        Complete xpay documentation
  • Pricing
  • Blog
  • Docs
Get Started
  1. xpay✦ Commerce

  2. Directory

  3. WooCommerce plugins

  4. Zero Blocks Given

Zero Blocks Given

Zero Blocks Given turns off WooCommerce / WP block frontend output at the code level. Five tiers, optional settings, no paywall.

10+ active installsFree on WordPress.org
View on WordPress.orgSupport forum
Will this break my store?

What the WordPress.org registry says about keeping Zero Blocks Given running.

WordPress compatibility
Tested to 7.0.2
Tested against the WordPress branch in use today.
Last updated
10 days ago
Requires PHP
8.0
Your host must be running at least this version.
Requires WordPress
6.0
Contributors
1
A single maintainer. Worth knowing if the plugin is load-bearing for your store.

10+ active installsWordPress.org reports installs in bands, not exact counts.
Maintenance & trust

Scored on how Zero Blocks Given is looked after — not on how many stores run it.

Well maintained
Not enough public feedback to put a confident number on this one. Little public feedback — score rests mostly on release activity. What we can see is below.

Maintenance
35 / 35
Updated 9 days ago.
WordPress compatibility
20 / 20
Tested to WP 7.0.2 (current).
Support responsiveness
Not enough data
Only 0 support thread(s) — not enough to judge.
Merchant satisfaction
Not enough data
No ratings yet.
Listing transparency
7 / 10
Provides: screenshots, description
2 of 5 measures had too little evidence to score. They are left out of the total rather than counted as zero — otherwise a plugin would be marked down for being small rather than for being poorly kept.Measured 2026-08-01 from the WordPress.org plugin registry.
Ratings

No one has rated this plugin on WordPress.org yet. That is a statement about the ratings page, not about the plugin — plenty of well-kept plugins never collect them.

Most WooCommerce stores ship 80-150 KB of block CSS and JS that the store never actually renders. The WC BlockPatterns scanner is the one that bugs me most – it hits the filesystem on every request to scan a directory of pattern templates you don’t use. Then add core WP global-styles, wp-block-library and font-faces on top, and you’re loading a Gutenberg frontend you probably switched off a long time ago.

Zero Blocks Given turns it off at the source, through WooCommerce’s own dependency injection container. No CSS dequeue band-aid, no UI checkboxes, no PRO upsell. One constant in wp-config.php, pick a tier, done.

How it works

Here’s the thing – WC registers its block hooks as closures wrapping instance methods on container-managed objects. So you can’t remove_action() them by string. You have to fetch the same instance back from the DI container and pass it in as the callable. That’s what this does:

$bp = \Automattic\WooCommerce\Blocks\Package::container()->get( BlockPatterns::class );
remove_action( 'init', [ $bp, 'register_block_patterns' ] );

The DI-container path is the one that survives WC upgrades cleanly. String-callback matching and dequeue tricks tend to drift every release, so I went with the container.

Five modes. Three ways to set them.

Mode
What it turns off
When to use it

patterns
WC BlockPatterns directory scanner only
Block-based Cart/Checkout – keeps all blocks rendering, just skips the file-I/O scan

blocks
patterns + BlockTypesController + Notices styles + wc-blocks-style handle
Classic-shortcode WC stores

keep-styles
blocks + WC Product Filter pattern scan (ProductFilterAttribute)
Stores that don’t use WC blocks but keep Gutenberg styling – kills the expensive scans, leaves global-styles and core block rendering alone. Pixel-perfect.

all
keep-styles + WP global-styles pipeline + theme.json + font-faces + head <style> strip
Sites with no Gutenberg frontend at all

nuclear
all + unregister_block_type() for every core block
Page-builder sites – strips the editor inserter clean

Default is all. Set the mode you want with any of these:

  1. The <dialog> settings – click the Settings link on the Plugins screen. Native HTML dialog, four radios, save. No menu items, nothing else added to your admin.
  2. A constant in wp-config.php – define( 'ZEROBLG_MODE', 'patterns' );. This wins over the dialog. Good devops escape hatch.
  3. A filter in a theme or mu-plugin – add_filter( 'zeroblg/mode', fn() => 'blocks' );. Used when neither the constant nor the dialog set a value.

Resolution order: constant, then settings, then filter, then all. An invalid value at any step just falls through to the next.

A few real cases

  • Service-form site on WC. You sell consultations, not products – no cart, no checkout. mode=all strips every block stylesheet across the site.
  • Classic-shortcode WC store. You use [woocommerce_cart] and [woocommerce_checkout], no block UI. mode=blocks turns off the block frontend without touching your classic flow.
  • Block-checkout store with bloated patterns. You run the new Cart/Checkout blocks but never the WC pattern library. mode=patterns skips just the directory scanner – saves the disk hit, leaves your checkout alone.
  • Themed store with a layered-nav filter, pixel-perfect requirement. Woodmart or similar, WC layered nav, no Product Filter block in any post. The ProductFilterAttribute pattern scan can cost ~100ms a request on its own. mode=keep-styles kills that scan and the rest of the block registration, but leaves every inline global-styles rule in place – so the shop renders pixel-for-pixel the same. all would shave the same milliseconds but strips theme.json styles too, which moves pixels.
  • FrankenPHP / worker mode. All hooks are idempotent, no $GLOBALS writes, \Throwable catches around the DI lookups. Safe in a worker.
  • Elementor / Divi WC stores. The page builder renders its own checkout, so mode=all clears the WC and WP block CSS your theme never uses anyway.

Why I built it this way

  • Activate it and it works – mode=all is the default, no setup needed.
  • No settings page to learn. One constant or one filter is the whole API.
  • Pure PHP. No database rows, no admin scripts, no frontend JS.
  • No external requests, no tracking, nothing phoning home. GDPR is a non-issue.
  • It uses the same Package::container() lookup as WC core, so it follows WC’s own object lifecycle instead of guessing.
  • Worker-safe – FrankenPHP, Roadrunner, Swoole. No die, no exit, no session writes.
  • mu-plugin friendly. Drop the folder into wp-content/mu-plugins/ and it loads itself.
  • GPL, no upsells. No PRO tier, no Freemius, no admin notice nagging you for a review.

From the maker of WP Multitool

This plugin handles the frontend block bloat. If you also want the backend cleaned up, that’s what WP Multitool does – slow queries, autoload bloat, the database bottlenecks that caching plugins just hide instead of fixing. Most optimization plugins guess at the problem. WP Multitool runs EXPLAIN and shows you. 14 tools in there – slow-query analyzer, autoload optimizer, index suggestions, fatal-error recovery – and a free site scanner if you want to see what’s slow before paying for anything. If Zero Blocks Given earned a spot in your stack, that one probably will too.

Which WooCommerce versions does it support?

WC 7.x through 10.x – anywhere the DI container (Automattic\WooCommerce\Blocks\Package::container()) is stable. If a future WC release renames a method, the per-method \Throwable catches mean Zero Blocks Given degrades quietly instead of throwing a fatal.

Will it break my Block-based Cart/Checkout?

mode=patterns is safe – it only turns off the directory scanner, not the block UI. mode=blocks and mode=all will break Block-based Cart/Checkout, which is the whole point of those modes. Pick the one that matches your site.

How do I switch tiers?

Add define( 'ZEROBLG_MODE', 'patterns' ); (or 'blocks' or 'all') to wp-config.php. The constant wins over the filter. Invalid values fall back to 'all'.

Does it work as a must-use plugin?

Yes. Drop the whole zero-blocks-given/ folder into wp-content/mu-plugins/, then add a one-line loader like mu-plugins/zero-blocks-given-load.php with require WPMU_PLUGIN_DIR . '/zero-blocks-given/zero-blocks-given.php'; in it. WordPress loads it on every request.

Is it GDPR compliant?

Yes. It doesn’t collect, store, send or process any user data. No external requests, no cookies, no options written to your database.

Is it safe for FrankenPHP / worker mode?

Yes. No die/exit, no $GLOBALS writes, no session_start, every hook is idempotent, every DI lookup is wrapped in a \Throwable catch. Tested on FrankenPHP worker mode.

How do I uninstall?

Deactivate and delete from the WordPress admin. It writes nothing to the database, so uninstall is a real no-op.

Does `keep-styles` need a specific version?

Yes – keep-styles shipped in 1.3.0. On 1.2.2 or older it’s an unknown value, so the resolver falls back to the default all – which DOES strip global-styles and can move pixels. Set keep-styles only on 1.3.0+. Watch the edge case where a forced reinstall or downgrade leaves you on an older build: the mode silently becomes all until you update, so your styles disappear without an error. Confirm the active version before relying on keep-styles.

I removed a hook but `wp profile` still lists it – did it work?

Probably yes. wp profile hook can still show register_block_patterns as if it ran, because it wraps the callbacks it captured before the priority-0 removal fired. Don’t trust the profiler here – check the real request instead. Dump $wp_filter['wp_loaded'] (or the relevant hook) on an actual front-end load; if the callback is gone from there, it’s gone.

My pixel-diff shows changes I didn’t expect – is `keep-styles` moving pixels?

Check your screenshot widths first. Full-page screenshots taken at different viewport widths (say 2248px vs 2488px) produce a false diff that has nothing to do with the plugin. Re-shoot both the baseline and the test at identical dimensions before you trust the number. With matched dimensions, keep-styles leaves global-styles intact and the diff against baseline stays in the noise.

Why a constant first, settings UI second?

Keeping the tier in a wp-config.php constant means it lives in version control with the rest of your devops config. The dialog is there for sites where editing wp-config.php isn’t practical. Both end up in the same code path.

Categories
Page builders & blocksPrivacy & performance
Plugin details
Version1.3.2
Last updated2026-07-23 9:40am GMT
Added2026-05-30
Requires WordPress6.0
Tested up to7.0.2
Requires PHP8.0

Tags on WordPress.org
disable blocks
gutenberg
performance
woocommerce
zero blocks given
Alternatives
Other plugins in the same categories.
Essential Addons for Elementor – Popular Elementor Templates & Widgets
2M+ installs
4.9(4,102)
Dynamic Visibility for Elementor
50K+ installs
4.6(88)
Better Post & Filter Widgets for Elementor
3K+ installs
5.0(18)
Gutenberg Essential Blocks – Page Builder for Gutenberg Blocks & Patterns
200K+ installs
4.9(211)
No Gutenberg – Disable Blocks Editor and Global Styles – Back to Classic Editor
9K+ installs
5.0(16)
Element Pack Addons for Elementor – Elementor Widgets, Elementor Templates, Elementor Addons
100K+ installs
4.7(284)
x402 Logo

The agent-readiness stack for the AI shopping era — helping merchants, publishers and SaaS companies get discovered, cited and transacted with by ChatGPT, Perplexity, Claude, Gemini and the custom shopping agents underneath them.

CompanyAgentically Inc. (d/b/a xpay✦)1875 Mission St, Ste 103San Francisco, CA 94103, United Stateslegal@xpay.sh · privacy@xpay.sh
or ask your AI app
Company
About xpayAgency PartnersGitHubDiscordllms.txt
DevelopersDocumentationAPI ReferenceSDKs & LibrariesQuickstart GuideOpenAPI Spec
Stay Updated
Occasional product updates and agent-readiness playbooks from xpay (Agentically Inc.) — typically a couple of emails a month. Double opt-in: we email you a link to confirm before sending anything, and every email has one-click unsubscribe.
Social
  • For Publishers
    • News
    • Finance
    • Dev / Tech
    • Travel
    • View all verticals
  • Agent Feed
    • AI Search Engines
    • RAG Builders
    • Browser Agents
    • Vertical Research
    • Browse full catalog
  • Agent-Ready Index
    • SaaS Pricing Database
    • Agent-Ready SaaS Index
    • Verified band
    • AI & ML
    • Sales & CRM
  • Products
    • Pricing Widget
    • Monetize MCP Server
    • Paywall
    • Smart Proxy
    • Monetize AI Agents
    • xpay x402 Facilitator
  • Agentic Economy
    • Timeline
    • Resources
    • Manifesto
    • Stack
  • Agentic Commerce
    • Get listed
    • ChatGPT Ads
    • How ChatGPT Ads work
    • ChatGPT Ads · Apparel
    • ChatGPT Ads · Health & Beauty
    • xpay Listings · Amazon + Google
    • Pricing
    • Free audit
    • Shopify
    • WooCommerce
    • Apparel & Accessories
    • Health & Beauty
    • Overview
  • Commerce Index
    • Shopify apps directory
    • Agentic Commerce Ready Index
    • Methodology
    • Pet brands · WooCommerce
    • Pet brands · Shopify
  • Marketplace
    • 🛍️ xpay.deals — agentic storefront for deals
  • Protocols
    • Overview
    • x402
    • MPP
    • UCP
    • ACP
    • AP2
    • TAP
    • A2A
  • Agent Frameworks
    • Overview
    • LangChain
    • CrewAI
    • Claude MCP
    • AutoGPT
    • LangChain vs Mastra
    • LangGraph vs Pydantic AI
  • Company
    • About xpay
    • Blog
    • Docs
    • GitHub
  • Free prompts
    • Ecommerce prompts
    • Email marketing prompts
    • Product description prompts
    • Facebook ad prompts
    • Skincare prompts
    • Supplement prompts
    • Wine prompts
    • Electronics prompts

© 2025 Agentically Inc. All rights reserved.
Privacy PolicyTerms of UseAcceptable Use Policy