6

我创建了一个使用多个自定义页面模板的 Wordpress 主题。根据文档http://codex.wordpress.org/Pages#Creating_Your_Own_Page_Templates我只需在模板文件顶部设置注释即可完成此操作:

/* Template Name: MyCustomTemplate */

只要我记得,它就一直很好用(这不是我第一次使用自定义页面模板)。今天我们更新到 Wodrpress 3.4,突然选择自定义模板的选项从管理员中消失了(它曾经是右侧“页面属性”框中的下拉菜单)。但是,如果您在页面列表中使用“快速编辑”,“模板”下拉菜单仍然可见,但您只能选择“默认模板” - 我设置的自定义模板都没有。

根据这篇博文:http: //nacin.com/2012/03/29/page-templates-in-subdirectories-new-in-wordpress-3-4/ WP 3.4 增加了对子内自定义页面模板的支持-directory,但不清楚该目录是否需要命名为特殊名称,或者您是否仍需要文件顶部的“模板名称”注释。我尝试创建一个“页面”目录并首先在其中放入一个空的 .php 文件,但什么也没做。然后我尝试将我的一个自定义页面模板(带有“模板名称”-注释)放在那里,但这也无济于事。

值得注意的是,已经分配使用自定义页面模板的页面仍然使用该模板呈现 - 即使它在“快速编辑”中显示“默认模板”并且下拉列表中没有其他可用模板。

在互联网上几乎找不到任何东西,但我希望你们中的一个人会知道发生了什么。

4

3 回答 3

13

好吧,我们想通了。显然,从 3.4 开始,“模板名称”-注释需要如下所示:

/*
    Template Name: MyCustomTemplate
*/

如果它看起来像这样,它将不会显示在管理员中:

/* Template Name: MyCustomTemplate */

希望这对其他人有帮助。

编辑:“Wordpress”给我们发电子邮件说这是一个错误,将在下一个版本中修复。

于 2012-06-14T07:53:45.420 回答
0

呼,大项目上线,吓到一分钟!我不确定子目录模板,但正如最后一个人评论的那样,在模板名称之前和之后有一个换行符(在自己的行上有 /* 和 */ )就可以了。

在我工作的网站上,有 4 个用于不同社区的主要模板,包括不同的标题和导航。当自定义模板中断时,所发生的只是选择特定模板的下拉菜单消失了。网站功能没有受到干扰,所有页面都继续使用正确的模板。在 Dreamweaver 中更新模板文件修复了下拉选择器。

于 2012-06-23T21:38:03.840 回答
0

在 wordpress 3.4.2 中,我的主题中的以下代码破坏了模板选择框:

add_filter('stylesheet', 'theme_stylesheet');
function theme_stylesheet() {
    return 'img';
}
于 2012-10-01T20:27:56.987 回答