在wordpress中的两个类别之间交替

时间:2015-04-14 07:29:05

标签: php wordpress

我想知道是否有办法在wordpress中列出2个类别的帖子,这样每五个帖子来自不同的类别。这就是我的意思

 Category B
 Category A
 Category A
 Category A
 Category A
 Category B
 and so on....

每个类别的排序将基于日期(降序)

1 个答案:

答案 0 :(得分:2)

它的声音非常复杂,你找不到一个确切的方法来做到这一点,但你可以解决它。例如,在您的查询中,您可以从2个类别中获取帖子,然后在循环中您可以计算它们,如果计数小于5显示类别A,则显示类别B.但问题是您不知道有多少帖子它是从每个类别中获取的。它可以从类别A中获取2个帖子,从类别B中获取3个帖子。所以如果使用2个不同的循环并将所有数据保存在数组中,则会更好。

<?php 
    $args1 = array( 'posts_per_page' => -1, 'category' => 1 );
    $args2 = array( 'posts_per_page' => -1, 'category' => 2 );

    $posts_of_category_A = get_posts( $args1 );
    $posts_of_category_B = get_posts( $args2 );
    $check = 0;
    foreach($posts_of_category_B as $posts_B){
         // This will only show 1 post of category B; 
         // echo $posts_B->title (var_dump it)

       for($i = $check; $i<$check+4; $i++ ){
          // This will Show only first 4 posts of Categroy A
          // Convert object to array, something $posts_B[$check]->title
       }
       $check += 3;
    }

它只是一个概念,可能会对此脚本进行一些更改。我知道这种做法很糟糕,但我想不出更好的方法。