Sounds like your child has developed unhealthy sleep habits and he has a sleep association. You need to give him a routine and ensure he's getting enough naps (3 naps) during the day so that he can sleep better at night as well. A consistent sleep environment and bedtime routine would help as well. Your child can be expected to sleep through the night if he weighs more than 6kg and over 3 months old.
Read more