The great scholar, Shaykh ‘Abdul-‘Azeez ibn Baaz (d.1420, may Allaah have Mercy on him) was asked about love and hatred for the sake of Allaah, and he replied:
Loving for Allaah is when you love (someone) for Allaah’s sake, the Blessed and Exalted, because you believe him to be a person of taqwaa (mindfulness of Allaah’s orders) and eemaan (upright beliefs, statements, and actions). Because of these things you love such a person for the sake of Allaah.
You also hate for the sake of Allaah when you see a disobedient disbeliever. You hate such a person for the sake of Allaah.
You also hate a disobedient person, even if he is a Muslim, based on the degree of his disobedience.
This is how a believer is – He allows his heart to react to both types of people, loving some of them for the sake of Allaah. He loves the people of eemaan and taqwaa for the sake of Allaah, while he hates the people of disbelief, evil, and disobedience for Allaah’s sake, allowing his heart to interact with both kinds.
In the case when there is good and bad in a person, like a disobedient Muslim, then he loves him for his Islaam and hates him for his disobedience, combining both emotions of love and hatred for one person.
As for the people of eemaan and the people of upright Islaamic practice, then he (a true believer) loves them wholeheartedly. Similarly, he hates the people of disbelief wholeheartedly.
But regarding someone who has both things (good and bad traits), a disobedient Muslim, he loves him based on the level of his eemaan and Islaam, while he hates him according to the level of his disobedience and violations (of Islaamic beliefs and practices).
Source: The shaykh’s answer to a question on the radio program, Noor ‘alad-Darb