Modifiche a in_category in WP 4.7?
Dopo l'aggiornamento alla versione 4.7, questa linea di codice non restituisce più il risultato atteso:
function foo(bar){
global $post;
if(in_category("my-test-category", $post)) return;
echo "Non nella categoria my-test-category";
}
C'è stato qualche cambiamento con il filtro in_category?
Nota: "my-test-category" è una sottocategoria di "Uncategorized"

Ho identificato il problema. Stavo utilizzando un filtro su list_terms_exclusions specificamente per rimuovere tutti i figli di "Uncategorized" dalla visualizzazione sul sito pubblico.
add_filter('list_terms_exclusions', 'my_list_terms_exclusions',10,2);
Tuttavia, utilizzando in_category() ottenevo ancora corrispondenze su quelle categorie, che era esattamente quello che volevo. Avevo bisogno di nascondere quelle categorie dagli elenchi di categorie, ma dovevo comunque sapere quando un post specifico aveva una o più di quelle categorie presenti. E quindi potevo usare in_category() per quello scopo.
Questa tecnica ha funzionato bene per tutto il tempo che ricordo fino alla versione 4.7
Tuttavia, dalla versione 4.7 (e forse prima), la funzione in_category() viene filtrata da list_terms_exclusions. Quindi non restituisce più nessuna delle mie categorie sotto Uncategorized.
