hypocrite

noun a person who claims or pretends to have certain beliefs about what is right but who behaves in a way that disagrees with those beliefs