我试图在一个单独的布局中突出显示最新的帖子,并在一个砌体索引中突出显示其余的帖子。每页有5篇帖子,我在之前的帖子页面上也得到了最新的5篇帖子。
我把所有的帖子都放在一个单圈的砖石索引下。我尝试通过css的第一个类型属性使砌体索引的第一个元素具有不同的宽度,但这会干扰砌体布局。然后我决定对第一篇文章使用一个单独的循环,对其余的文章使用带有砖石布局的第二个循环,但我最终得到了每个页面上显示旧文章的前5篇文章。请告知如何解决此问题。提前感谢!
<?php
//First Query
$args1 = array(
\'posts_per_page\' => 1,
\'post_type\' => \'albums\',
\'post_status\' => \'publish\',
);
$query1 = new WP_Query($args1);
//First Loop
if ( $query1->have_posts() ) {
while ( $query1->have_posts() ) {
$query1->the_post();?>
<?php get_template_part( \'entry-slide\',get_post_type(\'albums\') ); ?>
<?php comments_template();
}
}
wp_reset_postdata();
echo\'<div id="masonry-index">\';
//Query2
$args2 = array(
\'offset\' => 1,
\'post_type\' => \'albums\',
\'post_status\' => \'publish\',
\'suppress_filters\' => true );
$query2 = new WP_Query( $args2 );
//loop2
if ( $query2->have_posts() ) {
while( $query2->have_posts() ) {
$query2->the_post();?>
<div class="listalbums">
<?php get_template_part( \'entry\',get_post_type(\'albums\') ); ?>
</div>
<?php comments_template();
}
} //end second loop
echo \'</div><!--End Masonry Index-->\';
get_template_part( \'nav\', \'below\' );?>
</div><!--End Main Content-->
</div><!--End Col-->
<div class="col-md-3">
<?php get_sidebar(); ?>
</div>
</div></div><!--End Container Fluid-->
</div><!--End Content Area-->
<?php get_footer(); ?>
UPDATE #1:哇!这很有效(我在循环之前添加了$paged变量):
$paged = ( get_query_var(\'paged\') ) ? get_query_var(\'paged\') : 1;
然后在args中,我删除了偏移量并添加了以下内容:
\'paged\' => $paged
但现在我得到了一个重复的最新帖子,因为删除了第二个循环中的偏移量。请分享您对如何删除副本的想法。这是否可行:如果是第一页,请在$args2的第二个循环中添加偏移量?让我试试,我将分享这是如何工作的。
UPDATE #2我添加此代码是为了在第1页上添加偏移量并删除重复的最新帖子:
if ( $paged == 1 ){
$offset=1;
} else{
$offset=\'\';
}
这很有帮助,但我在以前的帖子中得到了一个重复的帖子。我还没有弄清楚为什么会这样(如果你能分享你的想法,我将不胜感激)。好好休息吧。
最合适的回答,由SO网友:user3628554 整理而成
这有助于消除前5篇帖子在所有页面上重复出现的问题:
$paged = ( get_query_var(\'paged\') ) ? get_query_var(\'paged\') : 1;
然后在args中,我删除了偏移量并添加了以下内容:
“paged”=>$页
要避免在第一页中出现帖子重复,请执行以下操作:
if ( $paged == 1 ){
$offset=1;
} else{
$offset=\'\';
}
这篇文章在前几页中仍有重复。所以我还没有得到一个完整的解决方案。