事实上,你走错了方向。不筛选中的帖子functions.php
, 而是定义自定义循环和include them when needed.
在一个简化的示例中,假设您的主题只有header.php
, footer.php
, sidebar.php
, 和index.php
对于结构文件。你的index.php
看起来像:
<?php get_header(); ?>
<div id="content">
<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
<h2><?php the_title();?></h2>
<div id="main">
<?php the_content(); ?>
</div>
<?php endwhile; else: ?>
<p><?php _e(\'Sorry, no posts matched your criteria.\'); ?></p>
<?php endif; ?>
</div>
<?php get_sidebar(); ?>
<?php get_footer(); ?>
非常简单。您在外部文件中有一个页眉、一个侧边栏和一个页脚,并且在主文件中定义了主页内容。
但是,您可以在这里添加一些逻辑,而不是每次都包含一个通用循环,您可以为所有内容创建一个自定义循环。因此,你的index.php
看起来像:
<?php get_header(); ?>
<div id="content">
<?php
if( is_home() ) {
get_template_part( \'loop\', \'home\' );
} else if ( is_single() ) {
get_template_part( \'loop\', \'single\' );
} else {
get_template_part( \'loop\' );
}
?>
</div>
<?php get_sidebar(); ?>
<?php get_footer(); ?>
然后在中定义自定义循环
loop-home.php
,
loop-single.php
, 和
loop.php
. 这些自定义循环页面可以定义您可以想到的任何自定义查询。