Skip to content
GPLWP Guides

How to create custom layouts for a WordPress theme

Design & Layout Time About 30–90 minutes 6 steps Updated 25 Sep 2026

DESIGN & LAYOUT
The short answer

You can create custom WordPress layouts in the Site Editor if you use a block theme, or with child-theme templates and CSS for a classic theme. For site-wide visual control without editing theme files, a theme-layout plugin is the fastest route.

The route
  1. 01Identify your theme type
  2. 02Plan the layout change
  3. 03Build it in the Site Editor
  4. 04Use a child theme manually
  5. 05Test every template condition
  6. 06Choose the fast visual route

What you need

  • Administrator access to WordPress
  • A current backup or staging site
  • A clear list of templates to change
  • A block or classic theme

Identify your theme type

Go to Appearance and check whether your site has Editor or Customize. A block theme uses the Site Editor for templates, template parts, styles, and patterns. A classic theme normally uses PHP template files, Customizer settings, CSS, or a child theme.

Do this check first because the same layout change can use completely different tools. Editing a PHP file will not change a layout that has already been customised and saved in the Site Editor.

Plan the layout change

Write down where the new layout should appear: one page, a post type, all posts, an archive, search results, or the whole site. Separate reusable areas such as the header, footer, sidebar, and query loop from page-specific content.

Check the layout on desktop, tablet, and mobile before building it. Decide which content must remain dynamic, such as post titles, featured images, author details, archive headings, or custom fields.

Build it in the Site Editor

With a block theme, open Appearance > Editor, then choose Templates or Patterns and Template parts. Edit an existing template or create a custom one using blocks such as Group, Columns, Query Loop, Post Content, Featured Image, and Navigation.

Use template parts for repeated areas such as headers and footers. A change made inside a template part is used wherever that part appears. Save the template, then assign a custom template to the relevant page or post when the editor offers that option.

Use a child theme manually

With a classic theme, create and activate a child theme before changing template files. Copy only the parent template files you need to alter into the child theme, keeping the same names and folder structure. Use the template hierarchy to target the narrowest location, such as a specific category archive before a general archive template.

Add layout CSS to the child theme rather than editing the parent theme. This preserves your changes when the parent theme updates, but copied templates can become outdated when the parent theme changes its markup. A missing file name, incorrect folder, or inactive child theme means WordPress will continue using the parent template.

Test every template condition

Preview the front page, a normal page, a single post, category and tag archives, search results, the 404 page, and any custom post types affected by the change. Confirm that dynamic content still appears, menus work, images have useful alternative text, and the layout does not overflow on a phone.

If your file changes appear to do nothing, check whether a user-saved Site Editor template has priority over the theme file. Clear page-cache and browser-cache layers, and check that the edited template actually matches the URL being viewed.

Choose the fast visual route

For a site-wide layout that would otherwise require several template overrides, use Beaver Themer with Beaver Builder. It provides visual templates for headers, footers, archives, singular content, and dynamic layouts, with display rules for deciding where each layout appears.

Choose this route when you need to build and maintain several layouts without editing PHP files. Keep the manual route for a small number of simple changes, especially when your theme already exposes the controls you need.

The fast route

Let Beaver Themer do it

Visual templates for headers, footers, archives, and dynamic content; choose it when Beaver Builder needs site-wide theme control.

Get Beaver Themer

Sources

  1. wordpress.org /documentation/category/theme-blocks/?utm_source=openai
  2. wordpress.org /documentation/article/template-editor/?utm_source=openai
  3. developer.wordpress.org /themes/templates/template-hierarchy/?utm_source=openai
  4. wordpress.org /documentation/article/template-part-block/?utm_source=opena…
  5. developer.wordpress.org /themes/classic-themes/basics/template-hierarchy/?utm_source…

Questions

Can I create custom layouts without coding?
Yes, you can create custom layouts without coding when your theme supports the Site Editor or a compatible visual layout tool. In a block theme, edit templates and template parts with blocks under Appearance > Editor. Classic themes usually provide fewer layout controls, so complex headers, archives, or conditional layouts may require a child theme or a theme-layout plugin.
What is the difference between a template and a template part?
A template controls the structure of a page type, such as a single post, archive, search page, or 404 page. A template part is a reusable section inside templates, commonly a header, footer, navigation area, or query loop. Editing one template part can update every template that uses it, which avoids rebuilding repeated sections.
Will a theme update delete my custom layout?
A theme update can delete changes made directly inside the parent theme files, so do not edit those files for permanent customisation. Use the Site Editor, a child theme, or a suitable layout plugin instead. A child theme protects copied templates and CSS, but you still need to review them after parent-theme markup or template changes.
Why is my custom template not appearing on the page?
Your custom template may not appear because the wrong template type, file name, folder, or theme is being used. In a block theme, a template saved in the database through the Site Editor can take priority over the theme file. In a classic theme, check the template hierarchy and confirm that the child theme is active before clearing caches and testing the correct URL.