我想知道是否有办法在wordpress中列出2个类别的帖子,这样每五个帖子来自不同的类别。这就是我的意思
Category B
Category A
Category A
Category A
Category A
Category B
and so on....
每个类别的排序将基于日期(降序)
答案 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;
}
它只是一个概念,可能会对此脚本进行一些更改。我知道这种做法很糟糕,但我想不出更好的方法。