Skip to content
GPLWP Guides

How to create custom page layouts in WordPress

Design & Layout Time About 30–60 minutes 6 steps Updated 4 Sep 2026

DESIGN & LAYOUT
The short answer

You can create custom WordPress page layouts with the Site Editor and blocks, or with a custom page template in a child theme. The block-editor route is fine for most sites; a visual builder is faster when you need reusable layouts without writing PHP or CSS.

The route
  1. 01Choose the right layout route
  2. 02Create a custom block template
  3. 03Build the classic-theme template
  4. 04Add reusable layout sections
  5. 05Check the special page cases
  6. 06Use the fast visual route

What you need

  • Administrator access to WordPress
  • A recent backup of the site
  • A block theme or access to a child theme
  • A clear layout plan for the page

Choose the right layout route

Check Appearance > Editor. If you see the Site Editor and Templates, your block theme supports visual template editing. You can create layouts with blocks, adjust spacing and typography, and change headers or footers without editing theme files. Block themes are built to edit the site structure with blocks.

If your theme is a classic theme, use a child-theme template when the layout needs a different structure. You can also use the normal page editor for content-only changes, but that will not always remove the theme’s header, sidebar or footer.

Create a custom block template

With a block theme, open Pages > Add New or edit an existing page. In the page settings sidebar, select the template name, choose the option to add a template, and create a descriptive Custom Template, such as Full Width or Landing Page. Build the layout in the Template Editor with blocks such as Group, Columns, Cover, Image, Buttons and Query Loop. Save the template and the page when finished.

Use a custom template when the layout should be selectable for different pages. Do not confuse it with a page-specific template such as a template created for a particular page or post type, because those may not appear in the template switcher for an arbitrary page.

Build the classic-theme template

For a classic theme, create or activate a child theme before changing template files. A child theme lets you override templates while keeping the parent theme available for updates.

Copy the theme’s existing page.php into the child theme, give the copy a distinct filename such as page-templates/landing.php, and add a template-name comment at the top. Put the layout markup and the normal WordPress loop in that file, then select the template from the page editor’s template or attributes setting. For one page only, a file named page-{slug}.php or page-{ID}.php can be used instead, but those files are not general-purpose templates.

Add reusable layout sections

Save repeated sections as block patterns, such as a call-to-action, testimonial row or pricing section. You can insert a pattern into a page and customise its content instead of rebuilding the same block structure each time. WordPress also supports synced patterns when the same section must stay consistent across pages.

Keep global elements such as the header and footer in template parts when using a block theme. This prevents you from maintaining separate copies of the same navigation or footer in every page layout.

Check the special page cases

Preview the layout as a normal page, on a phone and at tablet width. If the page is assigned as the site’s static front page, edit the Front Page template rather than assuming the ordinary Pages template controls it. The blog posts index uses the Blog Home template when that template applies, so a custom page layout assigned to the page selected as the Posts page may not control the posts archive.

If your custom template is missing from the selector, check that you created a selectable custom template, that the active theme supports the editor you are using, and that the template file is in the correct theme location. In a classic theme, page templates can be stored in the theme root or a first-level folder, but nested template folders are not supported.

Use the fast visual route

If you want to design several custom layouts without editing PHP files, use GutenBricks. It provides a block-based drag-and-drop workflow, pre-designed blocks and templates, responsive styling controls, and per-block options for colours, typography and spacing.

Install and activate the plugin, open it from the WordPress editor, choose a starting layout, then replace the demo content and check the responsive views before publishing. This is the quicker route when you want visual control over page sections and reusable designs without learning the theme template hierarchy.

The fast route

Let GutenBricks do it

Block-based drag-and-drop builder with templates and responsive styling, suited to users who want visual design without coding.

Get GutenBricks

Sources

  1. wordpress.org /documentation/article/template-editor/?utm_source=openai
  2. developer.wordpress.org /themes/advanced-topics/child-themes/?utm_source=openai
  3. developer.wordpress.org /themes/classic-themes/templates/page-template-files/?utm_so…
  4. wordpress.org /documentation/article/block-pattern/?utm_source=openai
  5. wordpress.org /documentation/article/template-part-block/?utm_source=opena…

Questions

Can I create a custom WordPress layout without a plugin?
Yes, you can create custom layouts without a plugin by using the Site Editor with a block theme or by creating a page template in a child theme. The block route needs no PHP, while the classic-theme route requires template files and usually some CSS. A plugin is useful when you want a visual builder without changing theme files.
What is the difference between a page and a page template?
A page contains the content visitors read, while a page template controls the structure used to display that content. A template can define the header, footer, sidebar, content area and other blocks around the page. A custom template can be assigned to multiple pages, whereas a file such as <code>page-about.php</code> targets one page slug.
Why does my custom template not appear in WordPress?
Your custom template may not appear because the active theme does not support the Template Editor, you created a page-specific template instead of a selectable custom template, or a classic-theme template is in an unsupported folder. With block themes, create a Custom Template; with classic themes, confirm the file has a template-name comment and is in the theme root or a first-level folder.
Will a custom layout be lost when the theme updates?
A layout saved through the Site Editor is stored as a site customisation, but edits made directly to a parent theme’s files can be overwritten by updates. For classic themes, put custom templates and code in a child theme so parent-theme updates do not remove them. Always back up before changing templates or switching themes.