你最好看看你给链接的帖子上的第二个答案。使用content-{post-type}.php
为每个帖子类型命名所有模板(如果你想知道如何将模板分解为content-{post-type}.php
, 那么请看一下第216个主题template-parts
目录并分析其模板体系结构)并在页面模板中按如下方式调用它们-
if ( have_posts() ) :
while ( have_posts() ) : the_post();
/**
* Would include CPT content template (content-teams.php) if it exists
* or content.php otherwise.
*/
get_template_part( \'content\', get_post_type( $post ) );
endwhile;
endif;
这样,您可以通过以下方式获取当前帖子的帖子类型
get_post_type( $post )
并将其分配给与帖子类型相关的内容。对于你的循环,它看起来有点像下面-
$your_post_types = array(
\'atoz_key\',
\'post_type_2\',
\'post_type_3\',
\'post_type_4\'
);
foreach($your_post_types as $p_type ) {
$args = array(
\'post_type\' => $p_type,
\'posts_per_page\' => 10
);
$loop = new WP_Query( $args );
while ( $loop->have_posts() ) : $loop->the_post();
get_template_part( \'template-parts/content\', $p_type );
endwhile;
}