One reason why it can be “frowned upon” to give a homeless person food instead of money is because there are some people who give homeless people poisoned/contaminated food for fun. I volunteered at a homeless shelter before and overheard some of the people there talk about it. Some guy thought it’d be fun to give a homeless person a pb and j that he had used hot sauce on instead on jelly. Found out this is fairly common.
Personally, I don’t give panhandlers money. But I do regularly donate to agencies that address homelessness and hunger issues. I just feel that is more impactful and meaningful.
Restaurant gift cards are a good compromise. I’m sure some of them would like a hot cup of coffee and a sandwich.