There are a number of words that mean 'wear' in certain situations - for example, 쓰다, 메다, 신다, 매다, and so on.
왜 선글라스를 쓰고있어? Why are you wearing sunglasses?
초등학생들은 어깨에 가방을 메고 가요. Elementary students wear their school bags over their shoulders.
방 안에 신발 신지마라! Don't wear your shoes in the house!
스카프를 매고있어요 I'm wearing a scarf.
These examples from koreanselfstudyisntlame.
However, I have also seen 하다 used to mean 'wear':
귀 덥개를 하다 – wear earmuffs
And of course there is 입다 which also means 'wear'.
So my question is : can either 입다 or 하다 be used correctly with any item of clothing (or accessory)? If not, is there a word that can?