WordPress主题中唯一需要的模板是index.php
. 和acomments.php
如果支持注释。遵循template hierarchy, 所有其他文件,包括page.php
, 将退回到index.php
.
当主题没有page.php
, 看看index.php
. 在那里,您可以找到其内容的基本结构。在您的示例中index.php
如下所示:
<?php get_header(); // Loads the header.php template. ?>
<main <?php hybrid_attr( \'content\' ); ?>>
<?php if ( !is_front_page() && !is_singular() && !is_404() ) : // If viewing a multi-post page ?>
<?php locate_template( array( \'misc/loop-meta.php\' ), true ); // Loads the misc/loop-meta.php template. ?>
<?php endif; // End check for multi-post page. ?>
<?php if ( have_posts() ) : // Checks if any posts were found. ?>
<?php while ( have_posts() ) : // Begins the loop through found posts. ?>
<?php the_post(); // Loads the post data. ?>
<?php hybrid_get_content_template(); // Loads the content/*.php template. ?>
<?php if ( is_singular() ) : // If viewing a single post/page/CPT. ?>
<?php comments_template( \'\', true ); // Loads the comments.php template. ?>
<?php endif; // End check for single post. ?>
<?php endwhile; // End found posts loop. ?>
<?php locate_template( array( \'misc/loop-nav.php\' ), true ); // Loads the misc/loop-nav.php template. ?>
<?php else : // If no posts were found. ?>
<?php locate_template( array( \'content/error.php\' ), true ); // Loads the content/error.php template. ?>
<?php endif; // End check for posts. ?>
</main><!-- #content -->
<?php get_footer(); // Loads the footer.php template. ?>
您可以剥离所有与多帖子相关的代码和注释模板调用。以及不必要的PHP标记和注释(
叹气)。剩下的是:<?php get_header(); ?>
<main <?php hybrid_attr( \'content\' ); ?>>
<?php
if ( have_posts() )
{
while ( have_posts() )
{
the_post();
hybrid_get_content_template();
}
locate_template( array( \'misc/loop-nav.php\' ), true );
}
?>
</main>
<?php get_footer();
这使得一个很好的可读性page.php
. 现在可以替换hybrid_get_content_template();
具有woocommerce_content();
或者插件需要的任何东西。但是等等!不要更改主题,create a child theme 取而代之的是,将您的更改放在该中。现在,您仍然可以更新父主题,而不会丢失自定义设置。
对于每个主题和每个插件,您都可以遵循这些步骤。如果index.php
如果有效,您可以使用它在子主题中创建新模板。