Каким способом сделать звездочку закрашенной при добавлении в избранное?
Солидарен с предыдущим решением, реализация со спрайтами совершенно оправдана. Я  так понимаю постов со звездочками может быть много. Я бы делал вот так:<?php 
// arrPosts - массив id избранных постов
if(in_array($post->id, arrPosts)) { ?>
     <div class='star'>...</div>
<?php } else { ?>
     <div class='star_empty'>...</div>
<?php } ?>
Для начала, я бы сделал это дело спрайтом. 
Т.е. изначально определил бы класс .star и класс .empty_star а дальше бы добавлял к диву эти классы.
В общем-то, механику использовал бы примерно как у вас, сложно сказать, почему добавляются 2 звездочки, нужно проверять что вы передаете в условие