Salut,
Pour la couleur du fond tu peux créer un CSS dynamique avec du php et modifier le background-color en fonction du choix enregistré par exemple dans un cookie. la difficulté va être de faire choisir la couleur. Plus tu voudra donner de choix, plus ce sera dur. Avec disons 3 couleurs tu peu placer les boutons « couleur du fond » dans un petit coin et charger un css différent selon le choix.
Pour le stockage des articles, il faut que tu crée un nouveau champ dans ta BDD : tableau des utilisateurs dans lequel tu vas stocker les ID des articles sélectionnés. Par exemple séparés par une « , » et ensuite tu n’a qu’a les sortir avec une requête et un query_posts.
Pour la sélection des articles tu peux créer une case à cocher « marquer cet article comme favori »
Il y a peut être des add-on qui font cela, je te conseille de chercher avant de te lancer dans le codage du truc ^^