См. «Словарь трудностей».
Правильно: надеть на него шляпу.
Одеть и надеть — это паронимы, то есть есть слова, похожие по звучанию, но различающиеся по смыслу. Именно из-за похожести некоторые путаются в их употреблении.
Надеть можно что-то на кого-то или на что-то — например, надеть платье на куклу или перчатку на руку. Одеть можно только кого-то — например, одеть ребенка. Иногда глагол употребляют в переносном значении — например, зима одела поля снегом.
См. «Словарь трудностей».
Глагол обуть может входить в сочетания обуть кого-то (надеть обувь на кого-то): обуть ребенка.
Также в разговорной речи возможны сочетания обуть что-то (надеть какую-либо обувь на ноги): обуть валенки, тапочки.
От типа обуви употребление глагола не зависит.
Двоеточие не требуется: Это универсальное решение задачки «А что же надеть сегодня?».
Верно: надень.
Такая метафора вполне возможна.