0

我已经寻找了一段时间,但还没有找到适用于此的解决方案。

我希望能够使用 Wordpress 函数“get_posts()”来检索属于两个不同类别的任何帖子(我的意思是 AND 不是 OR)。如果我用这样的逗号分隔:

'category'=>'1,2';

它似乎检索属于 CAT 1 或 CAT 2 的帖子,而不是 CAT 1 和 CAT 2。如何使用 get_posts 执行此操作?

我认为这是一个解决方案,但它似乎对我不起作用:

'category__and' => array(1,2)

谢谢。

4

1 回答 1

0

我认为你不能这样做,get_posts()因为get_posts()只会调用 1 个查询(没有子查询),你需要一个子查询来确定根据所需条件跳过哪些行。

您必须遵循以下代码片段:

$desiredCategory = array( 2, 6 );
$finalPostID = array();
$allPosts = get_posts( array('category__and' => $desiredCategory) );

foreach ($allPosts as $postVariable)
{
  $categories = get_the_category($postVariable->ID);
  if( in_array($desiredCategory, $categories) )
    $finalPostID [] = $postVariable;
}

// Now you can use $finalPostID as your collection of posts.
于 2013-10-25T09:34:28.793 回答