Changelogs

Follow the improvements and fixes in each product release.

GT Page Blocks Builder

A free WordPress page builder plugin for HTML, CSS and JavaScript, with optional AI, live previews, reusable sections and theme regions.

Explore Product

Release History

Permalink

2.4.0

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 paragraph – ul.menu>li.item\$*4>a[href="#"]{Link} → 4-item menu with auto-numbered classes – img.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 cssClasses config 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

View Full Release History