我正在运行Wordpress 3.3.1。
我正在编写一个修改默认二十四主题的子主题。一切看起来都很正常,但是当我添加自定义页面模板时,它不会出现在添加/编辑屏幕中(所以我无法使用它!)。
详细说明“正常”,这是什么工作: 我的孩子主题出现并正常激活。 我的CSS代码(在style.css中)正在出现。 我的模板层次结构中的文件正在运行(例如:front-page.php,page.php)
我已阅读并重读了codex,我的自定义页面模板文件(“coming-soon.php”)似乎有正确的标题:
<?php
/*
Template Name: Coming Soon
*/
那么为什么它不会出现在“模板”下拉列表中?
我已经添加了几十次自定义模板,从未遇到过这个问题。我能想到的唯一可能的差异是我正在编写一个儿童主题(即使编码说这不重要),或者也许这是WP最新更新的一个区别。
答案 0 :(得分:8)
我无法通过干净安装的WordPress 3.3.1复制您所看到的内容。我的主题只包含两个文件style.css
,其中包含:
/*
Theme Name: stackoverflow-8946077
Template: twentyeleven
Version: 0.0.1
*/
@import url("../twentyeleven/style.css");
和coming-soon.php
,包含:
<?php
/*
Template Name: Coming Soon
*/
get_header();
?><h1>Coming Soon</h1><?php
get_footer();
?>
第一部分是从你的问题中复制过来的。
我按预期看到模板:
我唯一能想到的就是仔细检查:
twentyeleven
目录中,它应该可以工作)twentyeleven
目录中没有相同名称的文件,(我认为)会优先使用.php
Template Name:
)如果失败,下拉列表将由get_page_templates
中的wp-admin/includes/theme.php
功能填充。可能值得在其中添加一些调试代码,以查看$templates
变量是否包含coming-soon.php
。
答案 1 :(得分:2)
这是一个老线程。但如果现在有人在寻找解决方案,那么可能是WP 4.9中的问题。更多详情:Templates not working properly
答案 2 :(得分:1)
在我的情况下,它最终成为文件权限。我把它设置为755或任何标准的WP权限(关于安全性)并且它有效!
答案 3 :(得分:0)
我的最终还是文件权限。
我把它设置为777,它就像一个魅力!