v2.4.0: Emmet expansion, typography, utilities, shortcode library
Bundles v2.1.0 through v2.4.0 — major feature release.
Emmet HTML Expansion (NEW)
Type an abbreviation in the HTML editor, press Tab, get expanded HTML:
div.hero>h1{Title}+p{Body}→ nested section with heading and paragraphul.menu>li.item\$*4>a[href="#"]{Link}→ 4-item menu with auto-numbered classesimg.avatar[alt=""]→ self-closing void tag
Supported: tags, .class, #id, [attr="val"], {text}, > child, + sibling, *N multiply, \$ numbering. Cursor auto-jumps to the first empty slot.
Removed: Unreliable HTML class autocomplete (replaced by Emmet).
Frontend CSS Layers (NEW)
Three independent toggles under Page Blocks → Settings → Frontend CSS:
- Semantic Reset (~1KB) — modern reset, accessible images,
prefers-reduced-motion - Typography (~3KB) — system-font stack (zero external requests), responsive headings via
clamp(), 65ch measure, styled lists / blockquotes / code / kbd / tables - Utility Classes — ~330 Tailwind-inspired classes (grid, flex, spacing, typography, colors, borders, shadows, transitions) +
sm:md:lg:responsive variants. Frontend inlines ONLY the classes actually used on the page — no bloat. Builder loads the full set for autocomplete.
Top-Level Page Blocks Admin (NEW)
Moved out of Settings to its own top-level menu:
- All Page Blocks — list table with bulk actions, search, status filter
- Add New — full edit form with Monaco editors, live preview, position picker
- Settings — existing settings page
- License — license management
Shortcode Library (NEW)
Reusable blocks stored in a custom database table (wp_gt_page_blocks):
[page_block id="123"]— embed by ID[page_block slug="hero-section"]— embed by slug- Theme-independent position hooks via
gt_pb_get_positions()filter (wp_head, wp_footer, the_content, loop_start, etc.)
Bug Fixes
- Fixed
cssClassesconfig being serialized as JSON object (array_unique key gaps) —Array.isArray()now passes on the JS side.
Compatibility
- WordPress 6.0+
- PHP 8.1+
- Works with any WordPress theme
- PHPStan level 5: 0 errors