如何干预post循环输出,以交替标记显示3篇文章,然后继续?
我有一个post循环调用我的post card模板片段,card-pair_top.php
, 要这样显示。。。
但是,当帖子数量很高时,它看起来是重复的。所以,在关键点,我想改变视觉变化的布局。我想使用我的“功能”
card-overlay.php
主题片段。。。
我想使用相同的单个WP\\U查询结果执行此操作,
$posts_topic_remainder
, 而不是进行多个查询,部分原因是我希望保持整齐的分页。
具体而言,在while
have_posts
loop,我想把柱子弄断div
s、 甚至是争吵div
, 并插入一个新的嵌套行标记集,该标记集本身应使用card-overlay.php
.
然后,它应该恢复标记并使用恢复显示循环内容card-pair_top.php
, 直到下一次休息。
这是原始循环输出。。。
<!-- Posts row -->
<div class="row px-2">
<?php
$i=0;
// Post Loop
while ( $posts_topic_remainder->have_posts() ) {
$posts_topic_remainder->the_post();
// Impose an offset, skip same number used in features above
$i++;
if($i<=$num_features) continue;
// set_query_var( \'tax_slug_to_do\', $this_terms_tax_slug );
set_query_var(\'columns\', $post_classes);
// Get Loop template
get_template_part(\'partials/loops/card\', \'pair_top\');
}
wp_reset_postdata();
?>
</div><!-- end .row -->
下面是一些代码,我使用一个基本条件来打破
div
并引入一个新行。。。
<!-- Posts row -->
<div class="row px-2">
<?php
$i=0;
// Post Loop
while ( $posts_topic_remainder->have_posts() ) {
$posts_topic_remainder->the_post();
// Impose an offset, skip same number used in features above
$i++;
if($i<=$num_features) continue;
if ($i == 19 OR $i == 31 OR $i == 43) { ?>
</div><!-- break .row of .pair_tops -->
<div class="row showcase pt-4 pb-4">
<!-- CONTENT COLUMN -->
<div class="col-12 col-sm-12 col-md-12 col-lg-12 col-xl-12">
<!-- Posts row -->
<div class="row posts-row">
<?php
/* *********************************** */
/* Features */
/* *********************************** */
echo \'<div class="col-xs-12 col-sm-12 col-md-4 col-lg-4 col-xl-4">\';
set_query_var(\'queried_object\',$queried_object);
set_query_var(\'use_byline\', \'true\');
if ( $queried_object->slug == \'essays\') {
set_query_var(\'use_source\', \'true\');
} else {
set_query_var(\'use_source\', \'false\');
}
if ($queried_object->name == \'session\') {
$card_type = \'overlay_session\';
} else {
$card_type = \'overlay\';
}
get_template_part(\'partials/loops/card\', $card_type);
echo \'</div>\';
?>
</div>
</div>
</div>
<div class="row px-2"><!-- resume .row of .pair_tops -->
<?php
}
// Tell loop template which taxonomy to loop through (set above ^)
set_query_var(\'columns\', $post_classes);
// Want to hide last N items for responsive-space reasons? Pass these vars
// Get Loop template
get_template_part(\'partials/loops/card\', \'pair_top\');
}
wp_reset_postdata();
?>
</div><!-- end .row -->
这让我想到了这一点,这是一半。。。
我的代码存在以下问题。。。
虽然我成功地引入了一个备用行并显示了一个帖子,但我需要显示三个帖子。我该怎么做?(这是“功能”div
在…内.row .posts-row
必须为三篇文章呈现)那么,我该如何阻止这三篇文章被转载card-pair_top.php
随后,标准布局循环何时恢复我对方法的改变持开放态度。