Page template not displaying

时间:2014-02-24 作者:user12920

我不明白为什么这不起作用。我有一个自定义页面模板,页面政治。php。它应该类似于此页面:

banking transaction page

但它显示了这一点:

campaign contribution page

Ive双重、三重检查是否将正确的模板分配给了正确的页面。

page settings for campaign office page

5 个回复
SO网友:Matt van Andel

这不是一个答案,更多的是一种故障诊断帮助。。。将此功能添加到项目中(可能是functions.php) 然后从主题中每个模板文件的顶部调用它。。。

/**
 * Outputs the name of the file as an HTML comment for easy-peesy troubleshooting.
 *
 * @param string $file This function should always be passed the value of __FILE__
 */
function output_file_marker( $file )
{
    // Strip out system path (keeping only site-root-relative path)
    $file = preg_replace( \'|\' . preg_quote( ABSPATH ) . \'|\', \'\', $file );

    // Output an HTML comment with the current template path
    printf( "\\n\\n<!-- ".__( \'Template file: %s\', \'nvLangScope\' )." -->\\n\\n", \'/\'.$file );
}
这将通过在每个模板的开头输出HTML注释来帮助您确定正在加载哪个模板文件,并可以帮助您解决许多奇怪的“错误模板”问题。

第二,试试这个。。。

将页面属性>模板设置回默认值,然后根据页码而不是slug重命名模板文件(您可能还需要删除模板名称…以防万一)。例如,如果您的问题页面的post id为103,您可以将模板文件命名为page-103.php

如果要将模板保留为管理员可选择的替代模板,请使用不同的命名约定。我使用override-description.php 模板何时应该是管理员可选择的。

最后,确保所有插件都已禁用。插件可以通过覆盖模板来破坏模板。。。这对于某些电子商务包尤其如此。

SO网友:socki03

我不知道该页面上显示的内容是否是您的帖子,但您应该检查您的设置,看看该页面是否设置为“阅读”选项卡中的“帖子”页面。如果设置了该选项,它将覆盖模板并只加载索引。php而不是模板。

祝你好运!

SO网友:Christoph

检查您是否注册了一个自定义帖子类型,该类型的slug是politics(\'rewrite\' => array(\'slug\' => \'politics\')). 如果您使用与某个页面具有相同slug的自定义帖子类型,WordPress很可能会显示cpt的存档页面,而不是菜单中的页面。如果不需要cpt的存档,可以设置\'has_archive\' => false 用于此自定义帖子类型。

修改重写规则后刷新永久链接。

SO网友:Pieter Goosen

我在本地安装上测试了您的页面,它工作正常,但在调试模式下页面上有一个错误。这是你的错误,所以也许你也可以从这里开始工作

警告:number\\u format()要求参数1为双精度,字符串由C:\\xampp\\htdocs\\wordpress\\wp content\\themes\\tema2014\\page test给出。php第39行

需要注意的是,当您忙于设计主题时,请在wp config中将调试设置为true。php。这对修复错误有很大帮助

SO网友:Jane Yates

在某些模板中,它不在侧栏上,但如果你向下滚动到页面底部,在你所写的所有内容下,它会出现在页面底部。

结束

相关推荐

Pagination on Custom Loop

我想将最新帖子的样式与自定义页面上某个类别中的所有其他帖子的样式不同。到目前为止,我有下面的代码,它正是这样做的:<?php if (have_posts()) : ?> <?php query_posts(\"cat=4&showposts=1\"); ?> <?php while (have_posts()) : the_post(); ?> (Style1)<?php the_title(); ?><