恐怕你的问题不是特别清楚,但我觉得你好像在试图覆盖默认模板。例如,您仍然希望显示页面的内容,但不希望使用默认值page.php 样板
如果我是正确的(如果不是,请在评论中告诉我),那么有两种方法可以做到这一点。
使用模板层次结构覆盖,例如,如果您只有一个页面希望使用其他模板显示,您可以简单地命名该页面page-$slug.php 或page-$id.php.
例如,如果您有一个名为Example Page 带着一点example 和ID10, 您可以创建一个名为page-example.php 或page-10.php.
有关这方面的更多信息,请参阅Codex for the WordPress Template Hierarchy.
使用“template\\u include”过滤器覆盖如果第一种方法对您不好,还有另一种方法。
使用“template\\u include”过滤器,您可以检查要显示的页面,如果需要,还可以更改将使用的模板。
有关更多信息,请参阅Filter Reference for template_include
.
add_filter( \'template_include\', \'portfolio_page_template\', 99 );
function portfolio_page_template( $template ) {
if ( is_page( \'portfolio\' ) ) {
$new_template = locate_template( array( \'portfolio-page-template.php\' ) );
if ( \'\' != $new_template ) {
return $new_template ;
}
}
return $template;
}