个性化阅读
专注于IT技术分析

无法将自定义页面模板添加到我的子主题

我正在运行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();
?>

第一部分是从你的问题中复制的。

我按预期看到了模板:

WordPress模板

我唯一想到的就是仔细检查:

  • 该文件存在于你正在运行的服务器上
  • 该文件位于子模板的目录中(尽管如果位于二十一个目录中, 它应该可以工作)
  • 二十一个目录中没有同名文件, (我认为)该文件优先
  • 文件名以.php结尾
  • 你在”模板”和”名称:”之间只有一个空格(使用的正则表达式包含文字模板名称:)

失败的话, 下拉菜单由wp-admin / includes / theme.php中的get_page_templates函数填充。可能值得在其中添加一些调试代码, 以查看$ templates变量是否包含comeing-soon.php。


#2


这是一种旧思路。但是, 如果现在有人在寻找解决方案, 这可能是WP 4.9中的问题。更多详细信息:模板无法正常工作


#3


以我的情况, 最终是文件权限。我将其设置为755或任何标准WP许可(关于安全性), 它都有效!


#4


我的也最终成为文件权限。

我将其设置为777, 它就像一个魅力!

赞(0)
未经允许不得转载:srcmini » 无法将自定义页面模板添加到我的子主题

评论 抢沙发

评论前必须登录!