If you're working with a custom WordPress theme and wondering “Why don’t I see the Template dropdown in the Page Editor?”, you're not alone. This is a common confusion, especially when working with Gutenberg (block editor) and classic PHP-based themes.
In this article, we’ll explain why it happens, and exactly how to fix it.
The Template dropdown in the Gutenberg sidebar lets you assign a specific layout to a page — like a homepage layout, a landing page, or even a blank page without a header/footer.
You’ll find it here:
Go to Pages > Edit Page
In the right sidebar → Under the “Page” tab → Look for “Template”
If it’s missing, here’s how to bring it back.
For WordPress to detect a custom template:
The PHP file must be in your theme’s root folder
The file must start with a specific comment block:
<?php/** * Template Name: Homepage with Banner & 3 Columns */
✅ Make sure it’s not inside folders like template-parts/
or template/
.
❌ WordPress won’t scan subfolders for page templates.
Custom templates are available only on Pages, not Posts.
If you're editing a post, you won’t see the “Template” option at all.
Your theme must be correctly registered. Check that your theme includes:
style.css
with proper theme header
functions.php
index.php
Your style.css
must start with this (adjust to your theme name):
/*Theme Name: My Custom ThemeAuthor: YouVersion: 1.0*/
In some cases, the “Template” panel is hidden. You can re-enable it:
Open the Gutenberg Editor
Click the three dots (⋮) in the top right corner
Choose Preferences → Panels
Turn on ✅ “Template”
If your theme has a theme.json
file and no page.php
, you may be using a Full Site Editing (FSE) theme.
These themes handle templates differently — through the Site Editor (Appearance > Editor), not through PHP template files.
To check:
If you see “Editor” under Appearance, you’re in an FSE/block theme
Consider switching to a classic theme if you're working with PHP-based layouts
Create a custom template in your theme’s root:
<?php/** * Template Name: Custom Landing Page */get_header();the_post();the_content();get_footer();
Save it as:
📁 /wp-content/themes/your-theme/page-custom.php
Go to Pages > Add New or Edit existing
In the sidebar under “Template” → Choose Custom Landing Page
Save and view the page!
You can use the main template file just to load modular parts like:
<?php/** * Template Name: Homepage with Banner & 3 Columns */get_template_part('template-parts/header');get_template_part('template-parts/banner');get_template_part('template-parts/three-columns');get_template_part('template-parts/footer');
Just remember — this page-home.php
must still live in the root of your theme.
The “Template” option is a powerful WordPress feature — but it only appears when you follow the right file structure and conventions.
If it's missing:
Check your file location and naming
Confirm you're editing a Page, not a Post
Ensure your theme is properly structured
Once it’s in place, your page templates will show up automatically — no plugin needed.