我正在运行Wordpress 3.3.1。
我正在写一个修改默认的二十一岁主题的子主题。一切似乎都很正常, 除了添加自定义页面模板时, 它没有出现在添加/编辑屏幕中(因此我无法使用它!)。
要详细说明”正常”, 这是起作用的方法:我的孩子主题出现并正常激活。我的CSS代码(在style.css中)出现了。我的模板层次结构文件正在运行(例如:front-page.php, page.php)
我已经阅读并重新阅读了抄本, 而我的自定义页面模板文件(” coming-soon.php”)似乎具有正确的标题:
<?php
/*
Template Name: Coming Soon
*/
那么, 为什么它不显示在”模板”下拉菜单下呢???
我已经添加了数十次自定义模板, 却从未遇到过这个问题。我能想到的唯一可能的区别是, 我正在编写一个儿童主题(即使法典认为这无关紧要), 或者可能是WP的最新更新中的区别。
#1
全新安装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();
?>
第一部分是从你的问题中复制的。
我按预期看到了模板:
我唯一想到的就是仔细检查:
- 该文件存在于你正在运行的服务器上
- 该文件位于子模板的目录中(尽管如果位于二十一个目录中, 它应该可以工作)
- 二十一个目录中没有同名文件, (我认为)该文件优先
- 文件名以.php结尾
- 你在”模板”和”名称:”之间只有一个空格(使用的正则表达式包含文字模板名称:)
失败的话, 下拉菜单由wp-admin / includes / theme.php中的get_page_templates函数填充。可能值得在其中添加一些调试代码, 以查看$ templates变量是否包含comeing-soon.php。
#2
这是一种旧思路。但是, 如果现在有人在寻找解决方案, 这可能是WP 4.9中的问题。更多详细信息:模板无法正常工作
#3
以我的情况, 最终是文件权限。我将其设置为755或任何标准WP许可(关于安全性), 它都有效!
#4
我的也最终成为文件权限。
我将其设置为777, 它就像一个魅力!
评论前必须登录!
注册