No, it's a school. Students have the right to education in an accepting space. Keep your politics for the public forum.
They also have a responsibility to teach real life lessons. If a kid wants to make an intolerant statement, they should have that right. Otherwise it's censorship. The nice thing is that it's a dying view. That kid might make an unpopular statement and quickly find themselves ostracized for it, just like in real life.
That kid is the Westboro Baptist of his school. Lets see how long spoke care about what he has to say.
It's a school, children are easily influenced by what they see, so what they see has to be censored. This is the same reason why you have PG rating etc.
This raises another issue then. Why are schools doing the raising? Where are the parents?
Kids are smart enough to make their own choices, for the most part. If the parents do their part and instill decent values at home, this issue would self-regulate very quickly.
That's a good point, the fact that the child had the tshirt is wrong in the first place.
But on the other hand I have to say: No, children are not smart enough to make their own choices. Even if you try the hardest to teach them the values until some point they still do what they see. I know it from my own experience, children are very easily influenced and decisions they make are very often not made by them. There should always be someone watching over them and making sure that the decisions they make are not the wrong ones.