Skip to content
ThemesIonic — home
Block Themes

What Is a WordPress Block Theme? Block vs Classic Explained

Block themes replace PHP templates with HTML block markup and move styling into theme.json, so the whole site is editable visually. Here is what changes in practice.

4 min read beginner

In one sentence: a block theme builds every part of the site — header, footer, archives, single posts — from blocks stored as HTML templates, so the Site Editor can change any of it without touching PHP.

Classic themes keep those parts in PHP files that only a developer can edit. That is the whole difference, and everything below follows from it.

What is inside a block theme

theme/
├── style.css          # header comment only; styling lives elsewhere
├── theme.json         # colours, typography, spacing, layout
├── templates/
│   ├── index.html
│   ├── single.html
│   ├── page.html
│   └── archive.html
└── parts/
    ├── header.html
    └── footer.html
  • theme.json defines the design system: palette, font sizes, spacing scale, layout widths, and which controls editors are allowed to change. WordPress generates CSS from it.
  • templates/ holds full-page templates as block markup — HTML with block comments, not PHP.
  • parts/ holds reusable pieces, typically the header and footer, referenced by templates.

A classic theme instead has header.php, footer.php, single.php, functions.php and a large style.css.

What changes day to day

Task Classic theme Block theme
Edit the header Edit header.php Edit the header template part in the Site Editor
Change colours Customizer or CSS Global Styles, backed by theme.json
Add navigation Appearance → Menus Navigation block in a template part
Sidebars Widget areas Blocks placed directly in a template
Change the blog layout Edit index.php Edit the Query Loop block visually
Custom CSS Additional CSS or child theme Still available, but often unnecessary

The practical consequence: much more of the site is editable by someone who does not write code, and the Customizer disappears — which is disorienting the first time. Where the menus went is covered in WordPress menu not showing.

What you gain

  • Visual editing of the whole site, not just post content.
  • One design system. Colours and typography defined in theme.json apply everywhere, and editors pick from that palette rather than inventing hex codes.
  • Less CSS. Spacing, colour and layout controls are built into blocks.
  • Consistency, because theme.json can restrict which controls are exposed.
  • Better editor fidelity — the editor renders closer to the front end than classic themes typically manage.

What you give up

  • The Customizer, and any plugin setting that lived in it.
  • Widget areas, replaced by placing blocks directly in templates.
  • Mature classic-theme ecosystems, including some commercial themes with years of options built into the Customizer.
  • Familiarity. Anyone who knows the classic admin has to relearn where things are.
  • Some page-builder integrations, which target classic templates. If a site is built with a builder, a block theme adds a second system rather than replacing the first.

Hybrid themes

A classic theme can adopt individual block-theme features — block template parts, or a theme.json for colours and spacing — without becoming a block theme. This is common on established commercial themes and explains why a theme can show some Site Editor features but not others. It is a valid halfway position, not a broken state.

Should you switch?

Reasonable to switch when:

  • you are starting a new site;
  • non-technical people need to edit layout, not just content;
  • the current theme is abandoned and needs replacing anyway;
  • you want less custom CSS and a stricter design system.

Reasonable to stay when:

  • the site relies on a page builder that works well;
  • a commercial classic theme is actively maintained and does what you need;
  • a redesign is not on the roadmap and nothing is broken;
  • extensive Customizer-based functionality would have to be rebuilt.

"Block themes are newer" is not a reason on its own. A working site with a maintained classic theme is not a problem that needs solving.

Switching without breaking things

  1. Test on staging, never live.
  2. Expect to rebuild the header and footer as template parts.
  3. Recreate navigation in the Navigation block.
  4. Move widget content into blocks placed in templates.
  5. Re-check custom CSS — much of it becomes unnecessary, and some of it will target markup that no longer exists.
  6. Verify forms, cookie notices and third-party embeds, which often sat in widget areas.

The general process, including the parts that apply to any theme change, is in how to change a WordPress theme. If you want to build one yourself, see how to create a WordPress block theme.

Frequently asked

Look at the Appearance menu. A block theme shows Editor and hides Customize, Widgets and Menus; it also contains a templates folder with HTML files and a theme.json at its root.
Most do. The exceptions are plugins that depend on the Customizer or on registering widget areas, which block themes no longer provide by default.
Usually somewhat, because styling comes from theme.json rather than large stylesheets and there is less template overhead. Content and images still dominate real-world load time.

Related guides