我正在尝试通过wordpress中通过类别链接的帖子显示相关帖子,但我无法过滤结果。
此处是我的代码:
$current_post = $post->ID;
$i = 0;
$categories = get_the_category();
foreach ($categories as $category) {
$posts = get_posts('numberposts=4&category='. $category->term_id . '&exclude=' . $post->ID);
foreach($posts as $post) {
// DO BASIC ECHO POST CONTENT STUFF
$i++;
if ($i == 3) break;
}
}
wp_reset_query();
我的代码存在的问题是,当一个帖子属于3个类别时(即使这不是很好的网络练习),这个循环回显12个帖子(每个类别4个帖子),如果不同的文章属于同一个3个类别,显示3次(重复)。我想展示MAX 4帖子,并且没有重复。
我认为$ i == 3休息;在第一次'全球'4结果之后会停止。但它不是吗?我怎样才能做到这一点,结果中没有重复的结果?
答案 0 :(得分:1)
您可以创建显示的帖子数组,然后检查此数组中的帖子是否显示。
$show_array = array();
// ...
foreach($posts as $post) {
if (!in_array($post['id'], $show_array)) {
// show post
$show_array[] = $post['id'];
}
}
答案 1 :(得分:0)
$current_post = $post->ID;
$i = 0;
$categories = get_the_category();
foreach ($categories as $category) {
$posts = get_posts('numberposts=4&category='. $category->term_id . '&exclude=' . $post->ID);
foreach($posts as $post) {
// DO BASIC ECHO POST CONTENT STUFF
$i++;
if ($i == 3) break 2;
}
}
wp_reset_query();