Wordpress自定义循环帖子

时间:2014-04-14 18:55:44

标签: php wordpress loops grid block

我想在category.php模板中创建一个帖子页面。 我希望第一个帖子是一个600px到600px的块,然后是所有295px到295px旁边的4个帖子和前4个块下面的行和1个大块等等。 所以它看起来像这样:enter image description here

可以通过

实现
<?php while (have_posts()) : the_post(); ?>

循环?

感谢。

2 个答案:

答案 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.

?>

无论如何,它会变得漫长而丑陋。但是在主循环中执行此操作而不是自定义查询将允许您利用分页,上一个/下一个等。