-
Notifications
You must be signed in to change notification settings - Fork 5
Guides Block Exclusion Guide
The Block Exclusion System allows you to prevent DesignSetGo (DSG) extensions from being applied to specific third-party blocks. This is particularly useful for resolving compatibility issues with server-side rendered blocks like Gravity Forms, MailPoet, WooCommerce, and Jetpack.
Use the exclusion system when you encounter:
- REST API validation errors with third-party blocks
- Unexpected behavior when DSG extensions are applied to certain blocks
- Conflicts between DSG features and block-specific functionality
- Performance issues with specific block types
- Block validation errors in the editor
- "This block contains unexpected or invalid content" warnings
- Failed block saves or updates
- Missing block attributes after save
- Console errors mentioning REST API validation
- Navigate to WordPress Admin > DSG Settings > Blocks & Extensions
- Click the Exclusions tab
- Enter the block name in one of two formats:
-
Exact match:
gravityforms/form(excludes only this specific block) -
Namespace wildcard:
gravityforms/*(excludes all Gravity Forms blocks)
-
Exact match:
- Click Add
- Click Save Changes at the bottom
Valid formats:
-
namespace/blockname- e.g.,gravityforms/form -
namespace/*- e.g.,woocommerce/*
Invalid formats:
- Missing namespace separator:
gravityformsform❌ - Special characters:
gravity-forms/form!❌ - Uppercase letters:
GravityForms/Form❌ (block names are case-sensitive)
New installations automatically exclude these commonly problematic blocks:
-
gravityforms/*- All Gravity Forms blocks -
mailpoet/*- All MailPoet blocks -
woocommerce/*- All WooCommerce blocks -
jetpack/*- All Jetpack blocks
Existing installations maintain their current behavior with no automatic exclusions. You can manually add exclusions as needed.
-
gravityforms/*- Gravity Forms -
mailpoet/*- MailPoet -
wpforms/*- WPForms -
formidable/*- Formidable Forms -
ninja-forms/*- Ninja Forms
-
woocommerce/*- WooCommerce blocks -
edd/*- Easy Digital Downloads -
bigcommerce/*- BigCommerce
-
jetpack/*- Jetpack blocks -
yoast/*- Yoast SEO blocks -
hubspot/*- HubSpot blocks
-
elementor/*- Elementor blocks (if using Elementor with Gutenberg) -
beaver-builder/*- Beaver Builder blocks
When you exclude a block, DSG will not apply ANY of the following extensions to it:
- Background Video - Video backgrounds behind blocks
- Block Animations - Entrance animations and scroll-triggered effects
- Clickable Group - Make entire blocks clickable
- Custom CSS - Per-block custom CSS
- Expanding Background - Scroll-driven expanding backgrounds
- Grid Span - Grid column/row spanning
- Max Width - Maximum width controls
- Responsive - Device-specific visibility
- Reveal Control - Progressive content reveal
- Sticky Header Controls - Sticky positioning
- Text Alignment Inheritance - Alignment inheritance
- Text Reveal - Scroll-triggered text reveals
- Vertical Scroll Parallax - Parallax scroll effects
Important: The block itself will continue to work normally - only DSG extensions are prevented from being applied.
- Clear browser cache - DSG settings are cached in JavaScript
- Refresh the editor - Reload the WordPress editor page
- Check exact block name - Ensure you used the correct namespace and block name
-
Verify format - Block names must be lowercase with
/separator
Method 1: Block Inspector
- Select the block in the editor
- Open browser DevTools (F12)
- Look for
data-typeattribute in the HTML - this is the block name
Method 2: Code Editor View
- Select the block
- Click the three dots (⋮) in the toolbar
- Select "Edit as HTML"
- Look for the comment like
<!-- wp:namespace/blockname -->
Method 3: Console
// In browser console while block is selected
wp.data.select('core/block-editor').getSelectedBlock().nameThis is usually NOT an exclusion issue. Exclusions only affect the editor. Check:
- Theme compatibility
- CSS conflicts
- JavaScript errors in browser console
- Block's own frontend rendering
- Verify you clicked Save Changes - Settings aren't saved until you click the button
- Check for typos - Block names are case-sensitive
-
Try namespace wildcard - Use
namespace/*instead of specific block name - Clear exclusion cache - In rare cases, refresh the page
The exclusion check is highly optimized:
- Cached results: Each block name is checked once and cached
- Minimal overhead: Less than 0.1ms per check
- Smart defaults: Pre-populated exclusions for common conflicts
import { shouldExtendBlock } from '../../utils/should-extend-block';
// Check if a block should receive DSG extensions
if (shouldExtendBlock('gravityforms/form')) {
// Safe to extend
} else {
// Block is excluded
}import { clearExclusionCache } from '../../utils/should-extend-block';
// Clear the exclusion cache (useful for testing)
clearExclusionCache();All DSG extensions check exclusions in 4 places:
-
Attribute Registration (
attributes.js)export const extendBlockAttributes = (settings, name) => { if (!shouldExtendBlock(name)) { return settings; } // Add attributes... };
-
Edit Controls (
index.js- edit)if (!shouldExtendBlock(blockName)) { return null; }
-
Editor Styles (
index.js- editor styles)if (!shouldExtendBlock(blockName)) { return null; }
-
Save Props (
index.js- save props)if (!shouldExtendBlock(blockName)) { return extraProps; }
No. Exclusions only prevent DSG extensions from being applied. The block itself will continue to function normally.
Yes, but it's rarely necessary. Core blocks are well-tested with DSG extensions. Only exclude if you experience specific conflicts.
Not necessarily. You can exclude specific blocks (e.g., gravityforms/form) or all blocks in a namespace (e.g., gravityforms/*). Use wildcards only if multiple blocks from the same plugin cause issues.
No. Your custom exclusions are stored in the WordPress database and persist across plugin updates.
Yes, via the WordPress REST API or by directly modifying the designsetgo_settings option in the database (not recommended).
- Start specific, go broader if needed - Exclude specific blocks first, use wildcards only if needed
- Document your exclusions - Keep a note of why you excluded certain blocks
- Test after excluding - Verify the block works as expected without DSG extensions
- Review periodically - After DSG updates, test if exclusions are still necessary
- Report conflicts - If you find a consistent conflict, report it to DSG support
If you encounter issues not resolved by exclusions:
- Check the documentation - Review DSG extension docs for known conflicts
- Test with default theme - Rule out theme conflicts
- Disable other plugins - Identify plugin conflicts
- Contact support - Provide block name, DSG version, and error messages
Last Updated: January 30, 2026 DSG Version: 1.3.1+ For Questions: GitHub Issues
Auto-generated from
docs/guides/BLOCK-EXCLUSION-GUIDE.md. To update, edit the source file and changes will sync on next push to main.
- Accordion
- Blobs
- Breadcrumbs
- Card
- Comparison Table
- Countdown Timer
- Counter Group
- Divider
- Flip Card
- Form Builder
- Grid
- Icon
- Icon Button
- Icon List
- Image Accordion
- Map
- Modal
- Modal Api Reference
- Modal Auto Triggers
- Modal Fse Compatibility
- Modal Gallery Navigation
- Modal Next Phase
- Modal Performance Fixes
- Modal Security Audit
- Modal Security Fixes Summary
- Modal Trigger
- Pill
- Progress Bar
- Reveal
- Row
- Scroll Accordion
- Scroll Gallery
- Section
- Slider
- Table Of Contents
- Tabs
- Timeline
- Animation
- Background Video
- Block Animations
- Clickable Group
- Custom Css
- Expanding Background
- Grid Mobile Order
- Grid Span
- Max Width
- Responsive Visibility
- Reveal Control
- Scroll Parallax
- Sticky Header
- Text Alignment Inheritance
- Text Reveal
- Ai Assisted Development
- Best Practices Summary
- Block Controls Organization
- Block Development Best Practices Comprehensive
- Block Exclusion Guide
- Control Reorganization
- Design System
- Wordpress Block Editor Best Practices
- Color Controls Pattern
- Custom Css Filters
- Performance Css Strategy
- Width Css Strategy Implementation
- Width Layout Patterns
- Antigravity Audit
- Card Block Audit
- Claude Audit
- Comprehensive Audit
- Cursor Audit
- Scroll Accordion Stacking Notes
- Security Review 1.2.1
- 2026 02 11 Icon Search Aliases Design
- 2026 02 14 Overlay Header Design
- 2026 02 15 Deactivation Block Migrator Design