First, I think all kids go through stages of being kind of picky. I have never made food an issue with my kids and I think that is why they are such good eaters. We always ate at the table, at specific times, and they ate what was in front of them. Now, for more details. Eating at the table at specific times...I mean don't let them get "finished" with eating, go play, and then come back to the table again. Worth with them at home on sitting at the table until everyone is done b/c it's polite (plus, when you are at a restaurant, they can't just get up and go play when they are done). I don't mean have a 1 year old sit for 2 hours, but he should be able to sit for 20-30 minutes while everyone eats. Second, specific times - I've seen people say "are you ready to eat?" and the kid says "no". Well, then at 8:00 when you are putting them to bed, the kid hasn't eaten and says "but I'm hungry" and the mom thinks "well, he never did eat, I'd better fix him something" NO WAY!!! You have breakfast, lunch, dinner and snacks and if they choose not to eat at breakfast, then they'll eat at their snack time and they'll eat at lunch. Kid's are like anyone else...have you ever not been hungry at lunch and then ate a big dinner? It' happens! Finally, don't do the whole "clean your plate" thing. Kid's are wired to stop eating when they are full. If they are turning their head or saying all done, then let them be done. BUT don't give tons of snacks later. Just a small snack until the next meal so they don't skip meals in favor of snacks. Finally, have a 1 bite rule. We always had a "no thank you bite". You may say that you don't want any more meat, potatoes, etc. if you take one bite - then you can say "no thanks". Also, no seconds until they've tried everything. When my kids were young (say 3-4) here's what a dinner might be - spaghetti, corn, bread. If they took a bite of everything, they could have more corn or maybe even more bread, but if they didn't take a bite of everything, then no more of anything. Make since? I also tried to make sure that I had at least 1 thing my kids liked so they would be able eat something. For instance, the spaghetti dinner, my son LOVES spaghetti, my daughter loved it as a 2 year old, but at about 5 started saying she didn't like it. But, she liked corn, so I'd fix her a little spaghetti, corn and a piece of bread. If she ate the corn and took a bite of spaghetti, she could have more corn. As she got older (now 8), she'll eat the spaghetti, and then ask for plain noodles with butter and parmesean cheese...that's ok, as long as she has eaten the spaghetti first. Now that they are older I can tell them "even though this may not be your favorite meal, it's a meal, and we need to be thankful and eat it." They get that now and will say "this wasn't my favorite", and if the majority of the family doesn't like something, I don't make it again.
I hope these tips help. The main thing is don't make more than one meal. You can serve kid friendly, but if you put dinner on the table and they choose not to eat, it's ok - they won't starve if they miss 1 meal, and they need to learn that you eat what you get, and that it's polite to eat what you are served. Would you want them to go to a friends house and the mom put dinner down and them go "UGH, I'm not eating that!" If you don't want that to happen, then teach them at home that it's unacceptable!