我想将page.php用于所有页面(所以我不必在所有页面模板中重复使用get_header()和#section-top),然后使用get_template_part()根据页面模板调用内容。现在我有我的page.php和两个内容部分,一个设置为标准,'content-flexible.php'(如果没有设置页面模板),另一个用于显示帖子的内容posts.php ”。
这是我的page.php文件:
<?php get_header(); ?>
<main id="page-main" role="main" class="main">
<?php
?>
<section id="section-top" class="header cf">
<h2><?php the_title(); ?></h2>
</section>
<div id="content-wrap" class="wrap cf">
<div id="inner-content" class="wrap cf">
<?php
//Use page-templates for content
if( $post->post_parent !== 0 ) {
get_template_part('page-parts/content', 'posts');
} else {
get_template_part('page-parts/content', 'flexible');
}
?>
</div> <!-- /inner-content -->
</div> <!-- end /content-wrap -->
</main>
<?php get_sidebar(); ?>
<?php get_footer(); ?>
现在else语句有效(调用content-flixible.php),但是当我将页面模板设置为“帖子页面”时,它只使用content-posts.php,因为它遵循WordPress正常层次结构。我怎样才能覆盖这个,所以我总是使用'page.php'来根据管理页面中使用的页面模板来交换内容?