Template Dropdown not showing up within Wordpress administrator page
Asked Answered
P

26

38

I am working on a Wordpress-based project, and I just added a new template to the installation by uploading a template file. I was creating a new page that will use my new template, when suddenly, the "Template" dropdown in the "Page Attributes" box is gone.

I am using Wordpress 3.0.1.

Update: I saw a site which told me to revert to the default template, and back to my custom template. Apparently it worked, but I am still baffled on what triggers this bug. Also, any additional knowledge or pointers on this bug would be a great help since my job requires me to patch this (and possibly submit the bug fix to Wordpress). Thanks!

Proa answered 21/10, 2010 at 13:10 Comment(3)
If you are using Gutenberg, before trying all weird solutions listed here (like I did), just note that the template dropdown is no more in page attribute box but in the box above!Meneses
Seems in WordPress 6.0 the template dropdown had its own panel, but in 6.1 it moved to the summary panel, best check all the panels before making any drastic changes, who knows where it will appear next!Muniz
Adding my comment to make the comment from @Muniz more visible. This was the solution for me.Karate
Z
38

If you have disabled or removed the style.css from the template directory then also it will not work.

So there must be the style.css on template directory then the templates directory will be shown. When you try to remove the style.css from the template directory or using style.css from css folder, then you must be put one style.css on template directory.

Thanks

Zohara answered 18/11, 2014 at 5:57 Comment(4)
I had the same problem. I had removed toolbar and that has disabled the Template dropdown as well. This was helpfulCartoon
This fixed my issue, upvoting because it's mentioned much less often than other suggestionsOrganotherapy
In my case it wasn't that the style.css wasn't there but that the version number did not match the version number on the template.Shrier
This was my problem. Adding a blank style.css file to the theme folder fixed it.Nordgren
G
27

Morichika is spot on. I had the same problem, but then it sorted itself out by doing:

<?php
    /**
    * Template Name: Front Page
    */
?>
Guru answered 19/2, 2014 at 0:33 Comment(1)
It even works when you dump it into the default page.php - then it starts displaying the option. Gutenberg developers should REALLY stop guessing what people "might" find handy...Blau
A
23

I have found a different solution for this. I reactivated my custom theme but then problem persisted.. then in the top most section of the code for the custom page template where it actually defines the name of the template like this:

<?php
    /*
     Template Name: Front Page
    */
?>

I did this:

<?php
    /**
    * Template Name: Front Page
    */
?>  

Then refreshed the admin panel and it appeared.Seems a bit weird but it worked for me. Feel happy to share this.

Ambros answered 19/5, 2012 at 18:24 Comment(1)
In my case it is vice-versa.Tojo
A
16

I tried many of the suggested answers. None worked in my case.

A possible reason for the Template Dropdown not showing is a missing index.php in your Theme folder.

Just create an empty one, in case your hierarchy does not need one. But the existance of that file enables the option to choose the page template and suppresses an error message in the Choose-Theme page btw

Afterdeck answered 12/7, 2018 at 9:24 Comment(2)
Exactly what happend here (Gutenberg FYI), but still I cleaned the folder to much. Adding an empy index.php did the trick!Amador
This just fixed my problem. After checking all the other potential causes listed in the answers here, I finally re-checked once again under the child theme folder and noticed there was indeed no index.php! Added an empty one as suggested and now Template drop-down has suddenly reappeared. Thanks!Jara
U
12

I managed to fix this by making sure the style.css in the theme root contained the theme comments. I deleted the whole stylesheet and it removed the templates dropdown.

Put this at the top of your theme root's style.css.

/wp-content/themes/YOUR_THEME/style.css

/*
Theme Name: Twenty Thirteen
Theme URI: http://wordpress.org/themes/twentythirteen
Author: the WordPress team
Author URI: http://wordpress.org/
Description: The 2013 theme for WordPress takes us back to the blog, featuring a full range of post formats, each displayed beautifully in their own unique way. Design details abound, starting with a vibrant color scheme and matching header images, beautiful typography and icons, and a flexible layout that looks great on any device, big or small.
Version: 1.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Tags: black, brown, orange, tan, white, yellow, light, one-column, two-columns, right-sidebar, flexible-width, custom-header, custom-menu, editor-style, featured-images, microformats, post-formats, rtl-language-support, sticky-post, translation-ready
Text Domain: twentythirteen

This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned with others.
*/

https://codex.wordpress.org/Theme_Development#Theme_Stylesheet

Or if you have a custom theme...

/*
Theme Name: My Wordpress Theme
Theme URI: https://example.tk
Author: Me
Author URI: https://example.tk
Description: This is my custom theme
Version: 1.0
*/
Uzzia answered 5/3, 2017 at 1:1 Comment(1)
I had this exact same issue, use sass to compile my css and it was removing the comments. For some reason the only related issue is that page templates stop working - very strange.Tarsus
D
12

After searching I have found a stupid solution that was obvious because. Couldn't catch it because the templates were put in other place of interface attaching screenshotenter image description here

Dotard answered 20/12, 2022 at 18:49 Comment(4)
Commenting to help visibility. This was the solution for me.Karate
ahhhh sh*t! 🤦🤦Krenn
Yes, I found it under summary section Thanks :)Daphinedaphna
ahhhhhhh. thanksAncheta
A
11

Put style.css in your theme directory, instead of the css folder. Or

<?php
    /*
     Template Name: Front Page
    */
?>

There must not space between "Template Name:".

Ardell answered 24/11, 2015 at 13:40 Comment(1)
You're right, that fixed it. No space at the left of the colon.Guanajuato
H
6

Try this. template will be available for both page & post

<?php
/**
 * Template Name: Blog Post
 * Template Post Type: post, page
?>
Heredes answered 30/9, 2020 at 21:45 Comment(0)
W
6

In WordPress 5.8 they have moved the selectable custom templates out from under the Page Attributes section so no matter what you do you won't find it there (even if you spend 2hrs troubleshooting like I did, lol).

Custom selectable templates have now been moved into their own box call "Template". For me, it was at the top of my right-hand sidebar in the WP admin page editor. It's possible it may not show if it has been unchecked in your screen options settings which are now found under the three dots in top-right --> Preferences --> Panels --> Ensure "Templates" is checked.

I'm not sure if I just overlooked it for 2hrs straight or if it appeared only after I changed to a different theme then changed back.

Wasp answered 30/9, 2021 at 19:36 Comment(1)
A very big thank you :) I just waste 30 minutes and probably would have wasted more if I hadn't read your commentSchauer
R
5

I know is super late for this question, but I fix it adding

Version: 0.1 alpha

in the comments of the themeFolder/style.css

This is my style.css complete for my theme

/*
  Theme Name: Stockout Theme
  Theme URI: http://stockout.com.uy/myTheme
  Author: MauriPastorini
  Author URI: http://stockout.com.uy
  Description: This is a theme for stockout page
  Version: 0.1 alpha
*/

I hope someone find this useful

Rabaul answered 23/11, 2017 at 22:30 Comment(1)
Very useful indeed! just updating the version in my style.css has made the trick. many thanks!Musca
H
4

I had the exact same problem with WordPress 3.2.1. I added a new template and the menu disappeared from the page add/edit screen. The solution was to switch back to the default twentyeleven theme end then right back to my custom theme. The templates drop-down began appearing again.

BTW, you said "revert to the default template, and back to my custom template" but I'm pretty sure you meant theme. I'm guessing where you saw this was here:

http://wordpress.org/support/topic/template-file-drop-down-not-appearing

Looks like this bug has existed for a couple of years at least. I filed a report: http://core.trac.wordpress.org/ticket/18324

Herrera answered 4/8, 2011 at 2:49 Comment(0)
G
3

The Template Dropdown is now moved To Page Section and is located just between the Static and Visibility and Permalinks dropdown. But you will be able to see it if you are naming your custom file like

page-Yourfilename.php

and adding a comment on the top of the file

<?php
 /*
   Template Name: YOUR TEMPLATE NAME     
 */
?>

Name Your File Like This See second dropdown. Its Template

Garay answered 27/10, 2021 at 21:2 Comment(0)
H
2

I had this problem a while back and found one janky solution after a lot of search--sometimes switching to another theme in your install and then switching back to you primary theme will make your templates appear. I know that sounds weird, but worked for me for a while.

Hearttoheart answered 21/10, 2010 at 13:10 Comment(0)
U
1

I've had this problem for two days. This forum and a couple of tests later did the work. Here is what was missing for my part.


Be sure that there is a style.css in your theme folder.

The style.css must have a valid comment section at the top of the file. This means at least this:

/*!
Template: your-theme
*/

If you're using SASS or LESS, make sure that you have a "!" just after declaring your comment. It's to prevent SASS or LESS to delete your comment section.

To be sure that everything is settled fine. You may go to "Appearance > Themes". After the listing of themes, if there is nothing, than everything should be fine. Otherwise, it'll be written "Broken Themes" and you'll still have some issues to solve.

Unnatural answered 5/2, 2017 at 19:36 Comment(0)
P
1

sass had deleted the content in my child style.css. The template drop down shows again once I added back the comments. /* Theme Name: Sometheme Child Description: Child theme for Sometheme. Template: sometheme Version: 1.1 Text Domain: sometheme-child */

Pectoral answered 12/7, 2018 at 19:52 Comment(1)
To avoid SASS or Gulp deleting the comments add and exclamation mark eg /*! Comments */ to your comment tagsTurboelectric
G
1

You will not see the dropdown if you have added 0 custom template files in your theme root.

When at least 1 template is available, the WordPress ecosystem picks it up and the dropdown will become visible.

Add this in your theme root to try it.

<?php

/*
 Template Name: Front Page
*/
Gasman answered 10/6, 2020 at 10:43 Comment(0)
G
0

I was just facing the same issue so, the problem is in spacing between 'Template Name' and that colon.

/*
  Template Name: template-name
*/

Make sure there is no spacing before the colon.

Gobang answered 25/7, 2017 at 11:4 Comment(0)
P
0

Jack Nicholson was right! You need to make sure your style.css contains the full comment. Example below:

Previously mine was:

/*
Theme Name: Acadata
Theme URI: https://www.factorypattern.co.uk
Description: Custom
Author: Factory Pattern
Version: 1
License: GNU General Public License
License URI: license.txt
*/

Then I changed it to the below and now I can see all my templates.

/*
Theme Name: Acadata
Theme URI: https://factorypattern.co.uk/
Description: Custom
Author: Factory Pattern
Author URI: https://factorypattern.co.uk/
Description: The Acadata theme for WordPress.
Version: 1.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Tags: black, brown, orange, tan, white, yellow, light, one-column, two-columns, right-sidebar, flexible-width, custom-header, custom-menu, editor-style, featured-images, microformats, post-formats, rtl-language-support, sticky-post, translation-ready
Text Domain: acadata

This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned with others.
*/
Pneumectomy answered 27/11, 2017 at 12:11 Comment(0)
T
0

I found the root of the problem. It is the style.css file inside the theme root.

  1. It must be in "UNIX encoding".

  2. It must have all comments with "Theme Name", "Version", etc.

Thisbe answered 27/11, 2017 at 21:47 Comment(0)
Y
0

Please set properly you style.css file specially if you are working on child-theme

/*
Theme Name: Theme Name
Theme URI: http: //mysite.com/
Description: This is a custom child theme for xxx theme
Author: My Name
Author URI: http: //mysite.com/
Template: template_name_in_lowercase
Version: 0.1
*/
Yves answered 25/1, 2018 at 22:0 Comment(0)
A
0

This below is work for me and show template option in page attributes.Just place .php file in theme root folder.

<?php
/* template name: my custom template */
?>
Alienable answered 20/4, 2018 at 10:23 Comment(0)
D
0

There are a lot of great answers on this question, but one obvious solution, which initially escaped me, was to double-check that in Dashboard > Settings > Reading you want to set "Your homepage displays" to "Static Page" and then leave the "Posts Page" unselected.

While themes and a properly coded theme file play a role in the situation, the reason that the page attributes area on the edit page screen doesn't show the templates drop-down may be because you selected a particular page to be your "Posts Page", and so WordPress is not asking you for a custom template to use because it's already using front-page.php or home.php (See WordPress Template Visual Hierarchy).

Hope this helps someone like me who had a properly coded template file but didn't realize this setting had been selected.

Demurral answered 27/6, 2019 at 3:59 Comment(0)
M
0

This was also a problem for me and it was because of folder structure. The Theme Handbook told me a should organize my theme folder and files like so:

assets (dir)
    - css (dir)
    - images (dir)
    - js (dir)
inc (dir)
template-parts (dir)
    - footer (dir)
    - header (dir)
    - navigation (dir)
    - page (dir)
    - post (dir)
404.php
archive.php
comments.php
footer.php
front-page.php
function.php
header.php
index.php
page.php
README.txt
rtl.css
screenshot.png
search.php
searchform.php
sidebar.php
single.php
style.php

The page template I was trying to load was in /template-parts/page/template-contactus.php

I guess that was too deep for WordPress so I got ride of those directories and now my file structure looks like this:

assets (dir)
    - css (dir)
    - images (dir)
    - js (dir)
inc (dir)
template-parts (dir)
    - section-content.php
    - template-contactus.php
404.php
archive.php
comments.php
footer.php
front-page.php
function.php
header.php
index.php
page.php
README.txt
rtl.css
screenshot.png
search.php
searchform.php
sidebar.php
single.php
style.php

I am now able to see the template drop-down and add templates.

Hope this helps someone.

Meyer answered 7/4, 2020 at 23:32 Comment(0)
Q
0

In my case, I had called the template schedule-template-v2.php which won't work, the file name needs to be schedulev2-template.php. A simple mistake.

Quiet answered 22/4, 2020 at 14:58 Comment(3)
does file naming matter when creating a page-template? @archieMonobasic
Yes definitely Dalton.Quiet
my problem was, the templates were deeper in the folder tree, so I put them in the root of the theme /page-templates/Monobasic
B
0

In addition to all of the above, make sure that you have 'page attributes' checked in the screen options panel in the top right, otherwise the page attributes section wont show regardless.

enter image description here

Banerjee answered 14/9, 2020 at 10:28 Comment(0)
D
0

If you are trying todo with blog page the GOTO Dashboard > settings > and remove post page from select menu :)

Dikmen answered 15/4, 2021 at 15:52 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.