您可以将查询配置移动到一个配置数组中,并循环该配置数组以查询帖子和呈现内容节。在内容部分中,您将有另一个帖子循环。
这里的神奇成分是第三种$args
可用于的参数get_template_part()
. 使用它将数据传递到部分文件。
$configs = array(
array(
\'query\' => array(
\'post_type\' => \'diagram\',
\'tax_query\' => array(
array(
\'taxonomy\' => \'diagram-category\',
\'terms\' => \'stratocaster-wiring-diagrams\',
\'field\' => \'slug\',
)
)
),
\'template_name\' => \'wiring-diagram\',
\'heading\' => \'Some heading text\',
),
// more configs...
);
foreach ( $configs as $config ) {
$config[\'query\'] = new WP_Query( $config[\'query\'] );
if ( ! $config[\'query\']->posts ) {
continue;
}
get_template_part( \'template-parts/content-section\', null, $config );
}
第部分,
<h2 class="main-heading gold-line"><?php echo esc_html( $args[\'heading\'] ); ?></h2>
<div class="wiring-diagram-results grid-4">
<?php
while( $args[\'query\']->have_posts() ) {
$args[\'query\']->the_post();
get_template_part( \'template-parts/content\', $args[\'template_name\'] );
}
wp_reset_postdata();
?>
</div>
配置数组也可以放在单独的文件或函数中,而不必在模板文件中硬编码。