Ecco un aggiornamento: se la categoria che seleziono contiene essa stessa un prodotto lo script funziona. Se invece il prodotto è contenuto in una sottocategoria della categoria selezionata estrae comunque i dati ma ignora completamente il return! Perchè fa così?