事实上,你走错了方向。不筛选中的帖子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. 这些自定义循环页面可以定义您可以想到的任何自定义查询。