Consulta de postagens: como excluir resultados se a postagem estiver em várias categorias

4

Digamos que eu tenha 3 categorias: A, B, C e outra categoria D em que as postagens em A, B, C também podem ser atribuídas. D é para denotar o post em destaque para a categoria e, teoricamente, apenas um post para cada (A, B, C) também será atribuído D.

Eu posso encontrar a postagem em destaque para cada categoria usando a categoria e.

Eu preciso fazer uma lista do restante da categoria menos a postagem em destaque à direita da postagem em destaque na página inicial. Por exemplo, quero obter uma lista da categoria A, mas quero excluir a postagem em destaque que seria marcada como categoria A e categoria D.

Eu tentei usar "category_ em" seguido por "category _not_in" pensando que isso seria possível, mas a "category__not_in" parece substituir e encontrar tudo em todas as categorias, exceto na categoria excluída. / p>

Se eu tiver algo estruturado errado, por favor me avise. Eu estou tentando simplificar as coisas para o proprietário do site, não tendo que lembrar de inserir texto para uma tag (postagem em destaque). Eu prefiro que apenas marque as caixas de seleção na lista de categorias.

Resumindo, meu código precisa fazer duas coisas. Por exemplo:

Encontre a "postagem em destaque": ENCONTRE A e D. Isso está feito. Encontre tudo na categoria EXCETO pós-postagem: Localize A, exclua (A e D).

Qualquer ajuda seria muito apreciada. Eu sou novo no Wordpress mas não codifico. Apenas tentando se familiarizar com a funcionalidade.

    
por Craig Coston 18.07.2012 / 21:45

1 resposta

1

Esta provavelmente não é uma maneira "pura" de fazer isso, mas esse código cria uma série de IDs de postagem em destaque e os exclui de get_posts futuros.

$featuredPosts = get_posts('category'=>'D','numberposts'=>'-1');
$fPId = array();
foreach ($featuredPost as $currentPost)
{
  array_push($fPId,$currentPost->ID);
}
$aPosts = get_posts('category' => 'a', 'exclude'=>$fpId);
$bPosts = get_posts('category' => 'b', 'exclude'=>$fpId);
$cPosts = get_posts('category' => 'c', 'exclude'=>$fpId);
    
por fdsa 19.07.2012 / 02:25