web-dev-qa-db-fra.com

Exclure les publications qui ont uniquement la catégorie "Non classé"

Je souhaite exclure les publications qui only ont la catégorie Uncategorized (c'est-à-dire la catégorie 1), mais si un message est classé (à tort) dans la catégorie "Uncategorized" mais comporte également d'autres catégories, je souhaite l'inclure.

Toutes les solutions que j'ai trouvées jusqu'à présent excluent toutes les publications de la catégorie Sans catégorie, qu'elles aient ou non d'autres catégories. J'ai essayé:

'category__not_in' => array('1')

et

'cat' => -1

dans les arguments de requête, mais je ne reçois pas les résultats dont j'ai besoin. Y a-t-il un moyen de contourner ceci?

4
SinisterBeard

À partir de la réponse de Pieter Goosen à cette question , la solution consiste à créer une liste de toutes les catégories sauf celle que vous souhaitez exclure, puis à rechercher les publications qui les incluent. De cette façon, si un message a la catégorie exclue mais également d'autres catégories, il sera inclus. Donc, dans mon cas:

$args = array ('exclude'=>1,'fields'=>'ids');   
$exclude_uncategorized = get_terms('category',$args);

et ensuite inclure les éléments suivants dans le $args pour le wp_query:

'category__in' => $exclude_uncategorized,
8
SinisterBeard