"come" usually carries the implication of moving oneself towards the speaker.; in this case, "Did you come to school?" is the son, at the school, asking his Dad if he had come to the school.
If the son, however, was not at the school (which given the provided context does not seem to be the case), then it would be appropriate to say "Did you go to [the] school?" because "go" usually carries the implication of moving oneself away from the speaker. ("Did you went to the school?" is wholly inappropriate; someone more knowledgeable than I would be able to better explain why).
"How do you come to school?" is also a perfectly legitimate question; it implies that the questioner, while at school, is asking someone else also at school about the means by which said someone else makes his/her way to school.
When talking about a particular food or meal, eat and have can function interchangeably most of the time. Of the two, have is the more versatile and generic word:
Let's start with your last example:
I'm eating pizza now. Let me call you back – I don't want my pizza getting cold.
I'm having pizza now. Let me call you back – I don't want my pizza getting cold.
I see no real difference in those two statements. I think I'd be more likely to use the first, but the second wouldn't jar my native ear.
Then your breakfast example:
I eat breakfast every day at 8 o'clock.
I have breakfast every day at 8 o'clock.
Once again, either one of those is okay, although the second sounds a little bit more formal for some reason. In its seventh definition for have, Macmillan mentions:
have (verb) [TRANSITIVE] [NEVER PASSIVE] to eat or drink something. This word is often used in polite offers and requests
- Can I have another piece of that delicious cake?
- Let me buy you a drink. What’ll you have?
- Why don’t you stay and have lunch with
us?
I’ll have (=used for requesting food or drink in a restaurant): I’ll have the roast beef, please.
There are a few places where the two words aren't interchangeable. The end of that definition gives one example; if I was ordering at a restaurant, I wouldn't say, "I'll eat the roast beef, please." That might be true, if that's what I'm ordering – but it's simply not idiomatic to say it that way.
Another clue is that have is always transitive. So, it's perfectly fine to say:
I'm starving – let's eat!
but you wouldn't be able to say:
I'm starving – let's have!
Here's one more odd case:
I'm hungry; let's have at that hamburger place.
I'm hungry; let's eat at that hamburger place.
In this case, we can't use have to mean eat, because we're not using the word transitively. We can fix that by saying:
I'm hungry; let's have hamburgers at that place.
However, the first is not necessarily grammatically incorrect, because we could be using the phrasal verb have at. NOTE: This would be a very informal usage of have at, but I give it a mention because it shows how complex and flexible English can be, especially when dealing with informal expressions and eating food. When I was in college, one of my roommates might have said:
I'm hungry; I think I hear hamburgers calling my name!
Best Answer
I'd personally go with this example:
to treat means to give someone something, typically food, either because they've done something good to you or you're simply doing it out of sheer generosity.
As for your examples, they sound weird.
That one sounds like you're going to force him to eat pizza—as if you were going to stuff that pizza down his throat or something along those lines. That's obviously not what you want to say.
The same thing here. This example does not even make real sense. Sounds like you're going to eat something and as a result you'll produce a pizza for you friend.