I have high school kids and don't do gifts.....after reading here maybe a small gift card would be appropriate for them.
Will go out with everyone and say no soap, perfume, body spray, mugs, candles, ornaments, homemade treats, 'teacher' themed items, etc. I am a sub and go in different classes all the times....I can't tell you how many teachers have a closet full of mugs---- do you really think the teacher wants another teacher ornament (imagine if 10 kids per year over the course of several years there could be 100+ ornaments), anything with a smell is a personal preference....you might love body spray, lotion, candles, etc. but do you know what the gift recipient really likes (or doesn't like---or has an allergy or a family member with an allergy). The homemade foods---do you know if teacher or family has food allergy---lactose intolerant, peanut allergy, etc. etc. Is the teacher a diabetic or have a family member on a restricted diet?
There are so many well meaning gifts out there but unless you personally are BFF's with a teacher the soap, perfumes, candles, homemade foods (drink mixes etc) are probably not a good idea. Gift cards or school supplies are great---we have done movie and gas gift cards....or generic
Walmart, etc. Books for the classroom or book store gift cards.
Don't just give a teacher a gift because you got a great price on it (the soaps, candles, etc)---along with the mugs there are stashes of lotions, etc.