Live theme-styled preview
Sections render in an auto-sizing frame that loads your theme’s real stylesheet, not a gray placeholder.
GT Page Blocks Builder is a free page builder plugin for developers who want a CodePen-style workbench inside Gutenberg. Write or generate sections with HTML, CSS and JavaScript, preview them in your theme, save them to a reusable library, and place them across your site. Use your own OpenAI, Anthropic or Gemini key when you want an AI page builder, or build every section by hand. Your markup stays yours.
Use the HTML, CSS and JavaScript editors, switch preview widths, flip dark mode, and change the code. The same workflow runs inside the WordPress block editor with CodeMirror and your theme styles loaded.
In the plugin you also get CodeMirror with line folding, bracket matching and theme-class autocomplete via Ctrl+Space. A marketing page gets you a textarea. The preview pipeline is the same one.
There is no Pro tier hiding the editor, integrations or AI tools. Every feature below ships in the same free, GPL-2.0-or-later plugin.
Sections render in an auto-sizing frame that loads your theme’s real stylesheet, not a gray placeholder.
Line numbers, code folding, bracket matching, and undo history that doesn’t fight Gutenberg’s.
Type class=” and press Ctrl+Space. Suggestions are scanned from your theme’s CSS, so sections speak its design language.
Edit every section of a post on the actual page, with Emmet expansion and template switching. One click from the admin bar.
OpenAI, Anthropic, or Gemini. Describe a section and the HTML, CSS, and JS land in their own editors. Plain code you own.
Save a section once, reuse it everywhere. A card grid with live thumbnails, search, status filters, and bulk actions.
Header, hero, before and after content, sidebar, footer, 404. Assign blocks and render each region with one function call.
Pin blocks to wp_head, wp_footer, loop_start and friends with priority ordering, or drop [page_block id=”42″] anywhere.
Full CRUD under pbb/v1 with duplicate and server-render endpoints, plus a WP-CLI migration command. Automation is first-class.
Browse the same section library from the editor. Search by title, filter by status, insert a saved block, or copy its shortcode for another part of the site.
home-section-kinetic
social-proof-strip
featured-guides-blog
tools-section-on-homepage
faq-accordion
404-page
No blocks match. In the real library that’s your cue to write one.
These are real blocks from this site’s library, 161 and counting. Change picks a block like it does in the editor. The gray [page_block] chip copies the shortcode, same one the admin list shows for every block.
Version 2.6.0 adds 7 theme regions. Assign any library block to a region, render it with one line of PHP, and turn a lean theme into editable, versioned sections.
Nav bars, announcement strips, mega menus. One library block, rendered site-wide, versioned like everything else.
<?php gt_pb_region( 'header' ); ?>
Don’t want to touch theme files at all? Blocks can also hook straight into core actions like wp_body_open and wp_footer with priority ordering. Upgrading from the old block name? wp gt-pb migrate-blocks rewrites stored content in one pass, dry-run included.
Sections are stored as standard blocks in post_content, so nothing here is proprietary. Reach them from templates, shortcodes, HTTP, or the command line.
# Anywhere shortcodes run: widgets, templates, other plugins
[page_block id="42"]
# Or reference by slug, so IDs can change between environments
[page_block slug="cta-footer"]
# Everything in your library
curl https://example.com/wp-json/pbb/v1/page-blocks
# Create a section from a script or CI job
curl -X POST https://example.com/wp-json/pbb/v1/page-blocks \
-u admin:app-password \
-d title="CTA band" \
-d content="<section>...</section>" \
-d status=publish
# Server-rendered HTML for block 42
curl https://example.com/wp-json/pbb/v1/page-blocks/42/render
# See what a block-name migration would touch, safely
wp gt-pb migrate-blocks --dry-run
# Then rewrite stored content in one pass
wp gt-pb migrate-blocks
<?php /* header.php, the whole thing */ ?>
<?php gt_pb_region( 'header' ); ?>
<main>
<?php the_content(); ?>
</main>
<?php /* or render one block anywhere in PHP */ ?>
<?php echo do_shortcode( '[page_block id="42"]' ); ?>
<?php gt_pb_region( 'footer' ); ?>
No front-end framework, no builder runtime. Per block you choose inline or file output and JS in footer or inline. Everything is minified at render and section CSS lands in one style tag in <head>.
Per-block opt-in plus a site-level gt_pb_can_execute_php filter. When execution isn’t allowed, tags are stripped, never printed. REST writes require manage_options.
Deactivate everything and your sections are still ordinary markup in post_content. No shortcode soup, no orphaned wrappers, no ransom note.
What premium builders add
GT Page Blocks Builder
$0 forever
Upload the zip, activate, pick which post types get the builder in Page Blocks → Settings. That’s the whole setup.
Add a Page Block, write HTML, CSS and JS against the live preview. Or describe the section and let your own AI key draft it.
Push it to the library, insert it on any page, drop the shortcode in a widget, or assign it to a theme region site-wide.
These are the practical questions to answer before you put a code-first page builder on a production WordPress site.
Get the free plugin →Yes, any theme. Previews load your theme’s stylesheet automatically, and theme regions are optional one-line function calls. It started life inside Marketers Delight and now runs standalone.
Your sections are stored as standard blocks in post_content. Deactivate everything and the HTML is still your HTML. Nothing collapses into shortcode soup.
There is no front-end runtime. Section CSS is collected into a single style tag in the head, or written to cacheable static files if you prefer. HTML, CSS, and JS are minified at render.
Yes, and it’s double-gated on purpose: a per-block opt-in plus a site-level gt_pb_can_execute_php filter. When execution isn’t allowed, PHP tags are stripped, never printed. Only grant block-editing access to users you’d trust with code execution.
No. They’re off until you add your own OpenAI, Anthropic, or Gemini API key. Requests go straight from your server to your provider. Nothing is proxied through mine.
Yes. It is GPL-2.0-or-later. Get it free, read every line, fork it, and use it on client sites. There is no Pro version waiting behind a curtain.
The editor, the visual builder, the library, theme regions, the REST API, the AI assist. One free, GPL plugin, and every line of it is yours to keep.