2010-01-22 5 views
0

J'ai deux catégories, visibles et HideMe ...Wordpress: Trouver tous les messages dans la catégorie 1 et non dans la catégorie 2

Je veux énumérer tous les postes de la catégorie visible, ce qui est assez facile. Cependant, en raison d'une erreur de l'utilisateur (ou d'un oubli), il peut y avoir des messages qui appartiennent aux deux catégories.

Comment puis-je tirer les messages qui sont dans la catégorie visible mais pas aussi dans la catégorie hideMe?

Voici ma solution actuelle. Je ne suis pas certain que la méthode get_posts est la moins coûteuse que je pourrais utiliser ...

$cat=get_cat_ID('visible'); 
$cat2=get_cat_ID('hideMe'); 
$myposts = get_posts(array('cat' => "$cat,-$cat2",'showposts' => 5)); 
if($myposts) 
{//do something} 

Répondre

1

Je ne suis pas sûr get_posts, mais vous avez vérifié query_posts?

Voir Template Tags/query posts

Il fonctionne de la même manière que get_posts, pas sûr si elle est moins « cher », mais lui donner un essai

$catnow = 13; //replace with category id you want to pull 
$exception = ',-19,-18'; //replace with category ids you want to exclude 
$post_args = array('cat'=>$catnow.$exception); 
query_posts($post_args); 
if (have_posts()): while (have_posts()): the_post(); 
//do something to the posts 
endwhile; 
else: 
//no posts found 
endif; 
Questions connexes