Mentre stavo configurando questo sito, mi si è presentato il problema di dover escludere una determinata categoria (e i relativi post) dall’elenco dei post recenti: questi ultimi sono visibili sia nativamente tramite le funzioni di WordPress, sia – come nel mio caso – tramite widget (apposito o integrato nel tema).
Dopo aver cercato t/provato diverse soluzioni, molte delle quali prevedevano implementazioni nel codice del file functions.php di WP, modifiche e tagli nei codici dei widget oppure l’utilizzo di determinate plugin, ho deciso di fare da me.
Armato di pazienza e di santa voglia smanettona, alla fine, dopo n tentativi, ho trovato la soluzione:
Dunque: nel momento in cui viene fatta la richiesta new WP_Query() e parte la query, basta filtrarla indicando quale categoria va esclusa (ID_cat va sostituito quindi con l’ID della o delle categorie da non visualizzare, in questo caso si avrà cat=-ID-cat1,-ID-cat2,-ID-cat3 e così via). La modifica va fatta nel file .php del widget, plugin o anche di WP che si occupa della visualizzazione dei post recenti. Attenzione! Affinché funzioni, la stringa della categoria da escludere va messa per prima! Ho perso ore e ore per rendermene conto…
Per visualizzare, invece, solo determinate categorie, basta togliere il segno meno davanti ID_cat, seguendo lo stesso procedimento di cui sopra; la posizione della stringa, invece, è in questo caso indifferente. Mah! 🙂