Ciao Enrico.
Nell'ipotesi che ho fatto io l'utente compie la scelta una sola volta (la prima, a meno che non modifichi in seguito la sua scelta), poi sarà sufficiente che faccia il login.
Ribadisco che questa è una possibilità su cui ragionare, non è l'unica e non è detto che sia la più adatta al caso tuo.
Il tempo te lo dedico con piacere anche subito, per parlarne e confrontarci (c'è un malinteso: *aggiungiamo *l'argomento e studiamo il problema, non aggiungiamo l'estensione), magari provare a stabilire una traccia, ma non posso di certo realizzare il componente. Te lo dico perché se aspetti da me l'estensione completa, il rischio che l'attesa si protragga oltre il tempo di permanenza gentilmente concessoci su questa terra è decisamente elevato.
Scherzi a parte, si tratta di un componente di una certa complessità.
La prima soluzione secondo me è più semplice e mi spiego. Immagina di avere nella pagina del profilo utente (frontend) un menu a tendina, di quelli a scelta multipla, che legge le categorie dal database. Ogni utente può selezionare dalla pagina del profilo una o più categorie. La homepage è fatta in modo da mostrare tutte le categorie, ma applica un filtro per il quale se e solo se trova la corrispondenza nel db tra la categoria e l'utente mostra nel flusso gli articoli di quella categoria. Il tutto ovviamente funziona soltanto se l'utente è loggato.
Ora tu dirai: sì, ma devo modificare il template. Sì e no. Con un po' di creatività si risolve.
Se tu ad esempio lo stream degli articoli lo crei con un modulo, il modulo te lo fai come più ti garba. A me, ad esempio, piace di dirgli che deve applicare un filtro per gestire la famosa corrispondenza tra categorie e utente, che poi è una select per il db.
Francesco