Select one or more tags, then press “Search Plugins”

Find Plugin with any / all of the selected criteria
Search Plugin

Zero Blocks Given Wordpress Plugin - Rating, Reviews, Demo & Download

Zero Blocks Given Preview Wordpress Plugin - Rating, Reviews, Demo & Download
No ratings yet
Free
Follow for free plugins, new theme releases and theme news

Plugin Description

A typical WooCommerce store ships 80–150 KB of block CSS and JS that 90% of stores never render. WC’s BlockPatterns scanner alone hits the filesystem every request, scanning a directory of pattern templates you don’t use. Add core WP global-styles, wp-block-library, and font-faces, and you’re paying for a Gutenberg frontend you may have shut off long ago.

Zero Blocks Given kills it 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, three tiers of aggression, done.

How it works

WC registers its block hooks as closures wrapping instance methods on container-managed objects. You can’t remove_action() them by string — you have to fetch the same instance from the DI container and pass it back as a callable. Zero Blocks Given does that:

$bp = AutomatticWooCommerceBlocksPackage::container()->get( BlockPatterns::class );
remove_action( 'init', [ $bp, 'register_block_patterns' ] );

Because WC registers via closures, the DI-container path is what survives WC upgrades cleanly — string-callback matching and dequeue tricks tend to drift each release.

Four modes. Three ways to configure.

Mode
What it kills
Use case

patterns
WC BlockPatterns directory scanner only
Block-based Cart/Checkout — keep all blocks rendering, skip the file-I/O scan

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

all
blocks + 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: all. Pick the mode you want via any of:

  1. <dialog> settings — click the Settings link on the Plugins screen. Native HTML dialog, four radios, save. No menu items, no admin pollution.
  2. Constant in wp-config.phpdefine( 'ZEROBLG_MODE', 'patterns' );. Wins over the dialog. Devops escape hatch.
  3. Filter in a theme/mu-plugin — add_filter( 'zeroblg/mode', fn() => 'blocks' );. Used when neither constant nor dialog has set a value.

Resolution order: constant settings filter all. Invalid values at any step fall through.

Real-world examples

  • Service-form site on WC — You sell consultations, not products. No cart, no checkout. mode=all strips every block stylesheet site-wide.
  • Classic-shortcode WC store[woocommerce_cart] and [woocommerce_checkout] shortcodes, no block UI. mode=blocks kills the block frontend without breaking your classic flow.
  • Block-checkout store with bloated patterns — You use the new Cart/Checkout blocks but never the WC pattern library. mode=patterns skips just the directory scanner — saves the disk hit, keeps your checkout intact.
  • FrankenPHP / worker mode — All hooks are idempotent, no $GLOBALS writes, Throwable catches around DI lookups. Worker-safe.
  • Elementor / Divi WC stores — Page builders render their own checkout. mode=all strips WC + WP block CSS your theme never uses.

Why this plugin?

  • Zero configuration — Activate it. It works on mode=all by default.
  • No settings page — One constant or one filter. That’s the entire API.
  • Lightweight — Pure PHP. No database rows, no admin scripts, no frontend JS.
  • GDPR-friendly — Zero external requests, zero tracking, zero phone-home.
  • Container-aware — Uses the same Package::container() lookup as WC core, so it tracks WC’s own object lifecycle.
  • Worker-safe — FrankenPHP / Roadrunner / Swoole compatible. No die, no exit, no session writes.
  • mu-plugin friendly — Drop the folder into wp-content/mu-plugins/ and it auto-loads.
  • GPL, no upsells — No PRO tier, no Freemius, no admin notices begging for a review.

From the maker of Tiny Simple AdBlock Detector

This plugin is built by the same developer behind Tiny Simple AdBlock Detector — a 2 KB ad blocker detector with the same “no settings, no upsell” philosophy. If you run sites with ads, check it out.

Screenshots

  1. The entire configuration API — one <code>define()</code> line in <code>wp-config.php</code>.

    The entire configuration API — one define() line in wp-config.php.

  2. Query Monitor "Hooks & Actions" panel showing <code>BlockPatterns->register_block_patterns</code> removed from <code>init</code>.

    Query Monitor “Hooks & Actions” panel showing BlockPatterns->register_block_patterns removed from init.

  3. Optional <code><dialog></code> settings on the Plugins screen — four radios, one save button, no menu item.

    Optional <dialog> settings on the Plugins screen — four radios, one save button, no menu item.


Reviews & Comments