使用自定义首页设置的WordPress支持的网站。在大多数情况下,首页的结构如下:
Cat 1 Title 来自类别的最新帖子
Cat 2 Title 来自类别的最新帖子
Cat 3 Title 来自类别的最新帖子
问题是,可以将帖子分配给多个类别。所以,我可以写一篇文章“Sample Post”并将其发布在Cat 1和Cat 2类别中。从这里开始,首页将在两个类别下显示该帖子,并且它也将是最新的帖子,因此它将在主页上作为样本帖子发布。
我试图让帖子只显示在主页上的一个类别下。关于这个问题的任何其他建议也会受到欢迎。
答案 0 :(得分:1)
我不确定您使用什么方法来检索结果,但您可以使用post__not_in
或exclude
参数从查询中排除某些帖子(即已经出现的帖子) 。
首先设置一个排除数组:
$exclude_this = array();
在循环内部,将帖子的ID添加到该数组中。例如,在循环内部:
$exclude_this[] = get_the_ID();
然后在每个查询中使用该数组来排除内部的任何帖子。例如,要获取ID为5的类别中的所有帖子,除了 $exclude_this
中的帖子
$query = new WP_Query( array(
'category__in' => array(5) ,
'post__not_in' => $exclude_this,
) );
我没有对上面的内容进行测试,但它应该可以工作。你可能需要确保$exclude_this
是一个整数数组,而不是它们的字符串表示。