-
Notifications
You must be signed in to change notification settings - Fork 5
Home
Complete reference documentation for developing blocks in the DesignSetGo WordPress plugin.
Never contributed before? Start with these guides in order:
-
GETTING-STARTED.md ⭐ Start here!
- Complete setup walkthrough
- Prerequisites and installation
- Making your first change
- Common workflows
-
ARCHITECTURE.md - Understand the codebase
- Project structure
- How blocks work
- Build system
- Data flow
-
../CONTRIBUTING.md - Contribution workflow
- Code standards
- Testing requirements
- Pull request process
- Read BEST-PRACTICES-SUMMARY.md for quick patterns
- Review BLOCK-DEVELOPMENT-BEST-PRACTICES-COMPREHENSIVE.md for deep understanding
- Check WordPress Block Editor Best Practices when creating new blocks
This plugin was built 100% with AI assistance!
-
AI-ASSISTED-DEVELOPMENT.md ⭐ Complete AI development guide!
- How this plugin was built with Claude Code
- Available slash commands (/add-block, /lint, /test, etc.)
- Best practices for AI-assisted development
- Common workflows and examples
- Tips, tricks, and limitations
-
../.claude/CLAUDE.md - Development patterns and context
- Critical patterns AI follows
- WordPress best practices
- Project-specific conventions
-
BEST-PRACTICES-SUMMARY.md - Quick reference
-
BLOCK-TEMPLATE-EDIT.js - Block template to copy
The documentation is organized into the following categories:
- README.md - This file, your navigation hub
- GETTING-STARTED.md - Complete setup and onboarding guide
- ARCHITECTURE.md - Deep dive into project architecture
API references and technical documentation:
- ABILITIES-API-GUIDE.md - WordPress Abilities API integration guide
- ABILITIES-API.md - Core Abilities API reference
- DRAFT-MODE-API.md - Draft Mode API reference
- INTERACTIVE-BLOCKS.md - Interactive block patterns
Block audits and analysis documents:
- CARD-BLOCK-AUDIT.md - Card block audit and improvements
- scroll-accordion-stacking-notes.md - Scroll accordion analysis
User-facing documentation for blocks:
Container Blocks (3):
- GRID.md - Responsive CSS Grid layouts
- ROW.md - Horizontal flexbox containers
- SECTION.md - Vertical stacking sections
Interactive Blocks (12):
- ACCORDION.md - Collapsible content panels
- TABS.md - Tabbed interface with deep linking
- SLIDER.md - Image/content carousel
- FLIP-CARD.md - Two-sided flip cards
- REVEAL.md - Hover-triggered content reveal
- IMAGE-ACCORDION.md - Expandable image panels
- SCROLL-ACCORDION.md - Scroll-triggered sticky cards
- SCROLL-GALLERY.md - Scroll-based marquee gallery
- COMPARISON-TABLE.md - Feature comparison tables
- TIMELINE.md - Chronological event timelines
- COUNTER-GROUP.md - Animated statistics
- PROGRESS-BAR.md - Animated progress indicators
Icon Blocks (3):
- ICON.md - SVG icon display
- ICON-BUTTON.md - Buttons with icons
- ICON-LIST.md - Lists with custom icons
Content/UI Blocks (7):
- CARD.md - Content cards with layouts
- PILL.md - Inline badges and tags
- DIVIDER.md - Content separators
- COUNTDOWN-TIMER.md - Live countdowns
- BLOBS.md - Organic animated shapes
- BREADCRUMBS.md - Navigation breadcrumbs with Schema.org
- TABLE-OF-CONTENTS.md - Auto-generated TOC from headings
Utility Blocks (3):
- MAP.md - Interactive maps (OSM/Google)
- MODAL.md - Modal dialogs and popups
- MODAL-TRIGGER.md - Modal trigger buttons
Forms (1):
- FORM-BUILDER.md - Complete form system (11 field types)
Documentation for all 15 block extensions that enhance any WordPress block:
Animation & Effects:
- BLOCK-ANIMATIONS.md - Entrance/exit animations
- ANIMATION.md - Animation framework (advanced)
- REVEAL-CONTROL.md - Hover reveal effects
Scroll Effects:
- SCROLL-PARALLAX.md - Vertical/horizontal parallax
- TEXT-REVEAL.md - Scroll-triggered text reveal
- EXPANDING-BACKGROUND.md - Scroll-driven expanding backgrounds
Layout & Positioning:
- STICKY-HEADER.md - Sticky header behavior
- MAX-WIDTH.md - Content width constraints
- GRID-SPAN.md - Grid column spanning
- GRID-MOBILE-ORDER.md - Mobile grid item reordering
Interaction:
- CLICKABLE-GROUP.md - Clickable containers
- BACKGROUND-VIDEO.md - Video backgrounds
Responsive & Styling:
- RESPONSIVE-VISIBILITY.md - Device-based visibility
- CUSTOM-CSS.md - Custom CSS per block
- TEXT-ALIGNMENT-INHERITANCE.md - Alignment inheritance
Accessibility and compliance documentation:
- ACCESSIBILITY-COLOR-CONTRAST-GUIDE.md - Color contrast standards
- GDPR-COMPLIANCE.md - GDPR compliance guide
Development guides and best practices:
- AI-ASSISTED-DEVELOPMENT.md - AI-assisted development guide
- BEST-PRACTICES-SUMMARY.md - Quick reference guide
- BLOCK-DEVELOPMENT-BEST-PRACTICES-COMPREHENSIVE.md - Comprehensive guide
- BLOCK-CONTROLS-ORGANIZATION.md - Inspector controls patterns
- CONTROL-REORGANIZATION.md - Control reorganization strategies
- DESIGN-SYSTEM.md - Design system and tokens
Design patterns and architectural strategies:
- COLOR-CONTROLS-PATTERN.md - Color control patterns
- CUSTOM-CSS-FILTERS.md - CSS filter patterns
- PERFORMANCE-CSS-STRATEGY.md - CSS performance optimization
- WIDTH-CSS-STRATEGY-IMPLEMENTATION.md - Width strategy implementation
- WIDTH-LAYOUT-PATTERNS.md - Layout width patterns
Roadmaps, strategy, and future planning:
- BLOCK-EXTENSION-STRATEGY.md - Extension strategy
- BLOCKS-FUTURE-IDEAS.md - Future block ideas
- BLOCKS-ROADMAP.md - Blocks roadmap
- EXTENSION-VS-CUSTOM-BLOCKS.md - Strategic decisions
- JTBD.md - Jobs to be Done framework
- ROADMAP.md - Overall project roadmap
Code templates and boilerplate:
- BLOCK-TEMPLATE-EDIT.js - Block edit.js template
Testing documentation and strategies:
- TESTING-ABILITIES-API.md - Abilities API testing
- TESTING.md - General testing guide
Debugging and problem-solving guides:
- HANDLING-LINT-ERRORS.md - Lint error solutions
- TROUBLESHOOTING.md - General troubleshooting
Complete step-by-step guide for new contributors:
- Software prerequisites: Node.js, Git, Docker Desktop
- Understanding the stack: What technologies we use and why
- Step-by-step setup: From fork to first contribution
- Your first change: Hands-on example walking through a real code change
- Development tools: npm scripts, VS Code integration, browser DevTools
- Common workflows: Daily development, updating fork, fixing issues
- Troubleshooting: Solutions to common setup problems
- Next steps: Learning resources and finding issues to work on
When to use: First time setting up the project or helping someone else get started.
Deep dive into project architecture and code organization:
- High-level overview: Technology stack and core components
- Complete directory structure: Every folder explained with purpose
- Block architecture: Anatomy of a block, file-by-file breakdown
- Build system: Webpack, asset compilation, dependency management
- Data flow: How data moves from editor to database to frontend
- Extension system: How extensions modify existing blocks
- PHP backend: Server-side architecture and registration
- Testing infrastructure: E2E and unit test setup
- AI integration: WordPress Abilities API architecture
When to use: Understanding how the codebase works, onboarding to the project, or making architectural decisions.
Complete contribution guide and workflow:
- Development setup: Prerequisites and step-by-step installation
- Project architecture: Quick overview with links to detailed docs
- Development workflow: Creating branches, making changes, testing
- Code standards: WordPress patterns, project-specific rules
- Testing requirements: What to test before submitting
- Submitting changes: Pull request process and checklist
- Getting help: Where to ask questions and report issues
When to use: Ready to contribute code or submitting a pull request.
Complete guide to AI-assisted development (how this plugin was built):
- Why AI-assisted development: Benefits and use cases
- Getting started with Claude Code: Installation and setup
- Available slash commands: /add-block, /lint, /test, /deploy, and more
- Best practices: Effective prompts, iteration, validation
- Common workflows: Creating blocks, debugging, refactoring with AI
- Using other AI tools: ChatGPT, GitHub Copilot, Abilities API
- Tips and tricks: Context management, learning patterns
- Limitations and validation: When AI makes mistakes, validation checklist
When to use: Using AI tools (Claude Code, ChatGPT, Copilot) to contribute, or curious about how this entire plugin was built with AI.
Location: ../.claude/CLAUDE.md
Rule: ALWAYS use ColorGradientSettingsDropdown, NEVER use PanelColorSettings
// CORRECT - Modern WordPress pattern
import {
__experimentalColorGradientSettingsDropdown as ColorGradientSettingsDropdown,
__experimentalUseMultipleOriginColorsAndGradients as useMultipleOriginColorsAndGradients,
} from '@wordpress/block-editor';
export default function Edit({ attributes, setAttributes, clientId }) {
const colorGradientSettings = useMultipleOriginColorsAndGradients();
return (
<InspectorControls group="color">
<ColorGradientSettingsDropdown
panelId={clientId}
title={__('Colors', 'designsetgo')}
settings={[
{
label: __('Text Color', 'designsetgo'),
colorValue: textColor,
onColorChange: (color) =>
setAttributes({ textColor: color || '' }),
clearable: true,
},
]}
{...colorGradientSettings}
/>
</InspectorControls>
);
}Why This Matters:
- All 13 existing blocks use this pattern (migrated 2025-11-08)
- PanelColorSettings is deprecated and will be removed
- Places controls in Styles tab (better UX, WordPress standard)
- Use for: Quick reference during development
- Contains: Critical rules, decision trees, copy-paste patterns
- Read time: 5-10 minutes
- Use for: Deep understanding of patterns and rationale
- Contains: 15 major topics with real-world examples
- Read time: 30-45 minutes
- Use for: Starting point for new blocks
- Contains: Fully commented template with all critical patterns
- Copy this file when creating new blocks
WordPress block editor and FSE compatibility:
- Block.json configuration
- Supports properties
- Testing checklist
- Pattern creation
Inspector controls organization:
- Settings tab vs Styles tab
- Block Supports usage
- Panel structure
- Copy BLOCK-TEMPLATE-EDIT.js to
src/blocks/{block-name}/edit.js - Update block.json with proper supports (see WordPress Block Editor Best Practices)
- Implement save.js matching edit.js structure
- Add color controls using ColorGradientSettingsDropdown pattern
- Test in editor and frontend
- Add imports:
import { __experimentalColorGradientSettingsDropdown as ColorGradientSettingsDropdown, __experimentalUseMultipleOriginColorsAndGradients as useMultipleOriginColorsAndGradients, } from '@wordpress/block-editor';
- Add
clientIdto function signature - Add
useMultipleOriginColorsAndGradients()hook - Replace PanelColorSettings with ColorGradientSettingsDropdown in Styles tab
See BLOCK-TEMPLATE-EDIT.js for complete example.
- Check file line count:
wc -l src/blocks/{block-name}/edit.js - If >300 lines, extract components and utilities
- Extract components into
components/directory - Extract utilities into
utils/directory - Keep index.js focused on registration only
- Total blocks: 48 (across 6 categories)
- Container blocks: 3 (Row, Section, Grid)
- Form blocks: 13 (Form Builder + 11 field types)
- Interactive blocks: 12 (Accordion, Tabs, Slider, Flip Card, Reveal, Scroll Accordion, Image Accordion, Counter Group, Progress Bar, Scroll Marquee, Comparison Table, Timeline)
- Content/UI blocks: 10 (Icon, Icon Button, Icon List, Card, Pill, Divider, Countdown Timer, Blobs, Breadcrumbs, Table of Contents)
- Modal blocks: 2 (Modal, Modal Trigger)
- Location blocks: 1 (Map)
- Extensions: 15
- Color controls: 100% modern (all blocks using ColorGradientSettingsDropdown)
- Zero PanelColorSettings instances remaining in codebase
- File size target: < 300 lines per file
→ ../.claude/CLAUDE.md or BLOCK-TEMPLATE-EDIT.js
→ BEST-PRACTICES-SUMMARY.md or BLOCK-DEVELOPMENT-BEST-PRACTICES-COMPREHENSIVE.md
→ WordPress Block Editor Best Practices
→ Best Practices Summary (see file size and extraction patterns)
→ BLOCK-CONTROLS-ORGANIZATION.md
- Read BEST-PRACTICES-SUMMARY.md - Critical rules
- Copy BLOCK-TEMPLATE-EDIT.js - Build first block
- Read WordPress Block Editor Best Practices - Make it compatible
- Read BLOCK-DEVELOPMENT-BEST-PRACTICES-COMPREHENSIVE.md - Deep understanding
- Review BLOCK-CONTROLS-ORGANIZATION.md - Better UX patterns
- Study Design System - Proper styling
- Review Block Extension Strategy - Extension architecture
- Study Color Controls Pattern - Advanced patterns
- Contribute patterns back to ../.claude/CLAUDE.md
When you discover new patterns or best practices:
- Critical patterns → Add to ../.claude/CLAUDE.md
- Quick reference → Add to BEST-PRACTICES-SUMMARY.md
- Deep explanations → Add to BLOCK-DEVELOPMENT-BEST-PRACTICES-COMPREHENSIVE.md
- Specialized topics → Create new guide or update existing specialized guide in appropriate folder
Last Updated: 2026-02-06 Plugin Version: 1.4.1 WordPress Compatibility: 6.7+
Auto-generated from
docs/README.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