使用Single.php的自定义帖子类型正在查找不存在的模板

时间:2018-03-21 作者:Charles

我有一个自定义帖子类型列表,其中包括一个名为“Tall\\u Homes”的帖子类型和一个由六个不同自定义帖子类型摘录生成的六个框组成的主页。他们都成功链接到内容单一。php,通过single。php何处

$post_type = get_post_type( $post->ID );

用于写入每页。他们都在工作,除了高大的房子,这是不涉及单身。php页面。相反,它会生成以下错误:

Warning: include(.../post-template-tallhomes.php): failed to open stream: No such file or directory in ...\\wp-includes\\template-loader.php on line 74

但是,没有“tallhomes.php”模板,“tallhomes”的这种拼写在自定义帖子类型设置中找不到。我不知道它是从哪里来的。

哪个register\\u post\\u type项或参数包含用于生成模板名称的信息?你知道怎么解决这个问题吗?

ThanksCharles公司

1 个回复
最合适的回答,由SO网友:Cedon 整理而成

在看不到更多代码的情况下,表面上它看起来像是某个地方的拼写错误,因为{$posttype} 可能是tall_homes.

您可以尝试在主题的functions.php 但应该绕过以下问题:

function tall_homes_override( $template ) {
    global $wp_query;
    $post_type = get_query_var( \'post_type\' );

    if ( $wp_query->is_single && $post_type == \'tall_homes\' ) {
        return locate_template( \'single.php\' );
    }
    return $template
}
add_filter( \'template_include\', \'tall_homes_override\' );
这应该做的是,当WordPress查找要使用的模板时,它将测试并查看这是否是一篇文章,以及post_type 是如果它是单一的且post\\u类型为tall_homes 然后将其设置为使用single.php 相反

结束

相关推荐