Anti littering messaging works remarkably well. Littering's the kind of antisocial activity where the benefit to the individual are marginal, maybe you save a bit of energy holding on to your trash until the next trashcan, but the penalties are almost non-existent, as practically no-one gets cited for littering.
A clear reminder not to litter mostly just signals to people that other people care, but that works remarkably well.
I belonged to a service org in college that required each member do like 30 hours of community service a semester. Mostly we did stuff like working at food pantries and the like, but if you didn't have time in your schedule, you could go down to the beach and wetlands and pickup trash. Perhaps not as high-impact as feeding the hungry, but it was something. Well, after a few of these trips I realized that a significant fraction of the trash we were picking up was styrofoam food containers, which was weird, since California had drastically cut back on styrofoam by that point (though the total ban only came into effect this year).
Turned out that there were exactly 2 restaurants anywhere near the wetlands that used sytrofoam food containers, so a buddy and I took it upon ourselves to go talk to them. Ideally I would talk them out of using styrofoam, but at the very least it would be good to let them know that they're single-handedly fucking up this nice slice of nature.
One of the places straight-up stopped using styrofoam altogether. Both were perfectly happy to let us hang up a sign basically saying "Hey, we collectively spend 200 hours a year trying to clean up these wetlands, please don't litter".
Food containers from those restaurants all but completely disappeared from the wetlands after that. People tend to do the right thing, but sometimes they just need a little push.