H.M.
My best advice is to keep trying. It's very normal for kids to be picky at this age. Eating is one of the few areas of his life he can truly control. At mealtimes decide what is being offered for everyone. Try to include one thing that he likes and is nutritious and encourage him to try other things. If you let him go a little hungry eventually he will eat - unless he's underweight or has other nutritional deficiencies you aren't hurting him if you don't make his favorites for every meal. Also, don't make it a battle or punish him because of food choices. Just don't give him an alternative of his favorite foods. If you're offering pb&J and he doesn't want it just say "Okay, if you decide you're hungry later I'll have it waiting for you" put it in a baggy and save it for later and dismiss him from the table. You can't force him to eat, but you can keep offering and limiting his choices. The more stuff he is exposed to now the more likely he is to come back to it later in life - it may take awhile though.
Good luck!