Escludere post che hanno solo la categoria 'Non categorizzato'

2 giu 2015, 12:52:51
Visualizzazioni: 16.8K
Voti: 4

Voglio escludere i post che hanno soltanto la categoria Non categorizzato (cioè la categoria con ID 1), ma se un post è (erroneamente) categorizzato come "Non categorizzato" ma ha anche altre categorie, voglio includerlo.

Tutte le soluzioni che ho trovato finora escludono tutti i post con la categoria Non categorizzato, indipendentemente dal fatto che abbiano altre categorie o meno. Ho provato:

'category__not_in' => array('1')

e

'cat' => -1

negli argomenti della query ma non ottengo i risultati che mi servono. Esiste una soluzione alternativa?

2
Commenti

Trovato :-)

Pieter Goosen Pieter Goosen
2 giu 2015 13:01:33

Grazie, ho votato positivo lì, ma aggiungerò anche la mia risposta poiché la soluzione finale era leggermente diversa.

SinisterBeard SinisterBeard
2 giu 2015 13:24:35
Tutte le risposte alla domanda 1
1

Basandosi sulla risposta di Pieter Goosen a questa domanda, il modo per aggirare questo problema è creare una lista di tutte le categorie tranne quella che si desidera escludere, quindi cercare i post che le includono. In questo modo, se un post ha la categoria esclusa ma anche altre categorie, verrà comunque incluso. Quindi, nel mio caso:

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

e poi includere il seguente negli $args per la wp_query:

'category__in' => $exclude_uncategorized,
2 giu 2015 13:28:04
Commenti

Ho esaminato il mio e il tuo approccio, stupido me, ho dimenticato il parametro della tassonomia in get_terms. Goditelo :-)

Pieter Goosen Pieter Goosen
2 giu 2015 13:39:21