It is possible to stain ceramic tile, but only if it has not been glazed or sealed beforehand. This is because glaze and sealants protect the ceramic surface from absorbing other substances. A finished ceramic surface will not accept stain.
Wood stains and stains for other materials work on untreated ceramic tiles. This includes floor tiles, counter tops, shower surrounds and other applications. However, this must be accomplished prior to any finishing treatment.
When ceramic tile has already been glazed or sealed, the only options for changing its appearance are to replace the tile or paint it another color. Paint is a surface treatment that is not absorbed into the ceramic, so it will adhere to a glazed surface.