My texture doesn't render
EDIT: This is not the right answer.

This is a common confusion that I wish Blender would clarify. Making a texture work in the viewport is not necessarily the same as making it work in the render.

The short answer is: you have to plug UV coordinates into the Vector slot of your texture node. If you have more than one UV Map, you have to do a bit of trickery (which is not at all obvious) to choose which UV map you plug in.



Documentation

To further the confusion, it's quite possible (and not terribly difficult) to make your object use a completely different image and UV map in the viewport than it does in the render.