我想在category.php模板中创建一个帖子页面。 我希望第一个帖子是一个600px到600px的块,然后是所有295px到295px旁边的4个帖子和前4个块下面的行和1个大块等等。 所以它看起来像这样:
可以通过
实现<?php while (have_posts()) : the_post(); ?>
循环?
感谢。
答案 0 :(得分:2)
是的,你可以这样做,但你会想要看一下get_posts。看看那里的例子,他们会给你一些工作。
答案 1 :(得分:1)
是。您只需要跟踪大图像是左侧还是右侧,并运行计数以告诉您在网格/行中的哪个帖子...然后关闭循环结束时div标记。这些方面的东西:
<?php
$big_left = true;
$items_displayed_in_this_row = 0;
while( have_posts() ){
if( $big_left ){
if( 0 == $items_displayed_in_this_row ){
// Code to put the big image on the left
the_post();
} else {
// Code to put the small images on the right
the_post();
}
} else {
if( 4 == $items_displayed_in_this_row ){
// Code to put the big image on the right
the_post();
} else {
// Code to put the small images on the left
the_post();
}
}
$items_displayed_in_this_row++;
if( 5 == $items_displayed_in_this_row ){
if( $big_left ){
$big_left = false;
} else {
$big_left = true;
}
$items_displayed_in_this_row = 0;
}
}
// While loop just ended. Close out whatever divs might be open.
// eg, if $items_displayed_in_this_row > 0, you're in the middle of a row
// and should close it.
?>
无论如何,它会变得漫长而丑陋。但是在主循环中执行此操作而不是自定义查询将允许您利用分页,上一个/下一个等。