Hey mate a protein shake should be taken right after weight training, due to the body absorbing anything that goes in it after an intense workout a shake is best as liquid is absorbed faster than eating a protein rich meal such as lean meat or chicken after a workout. That doesn't mean dont eat anything after your workout, you basically have a 1 hour window where your body will absorb protein at a faster rate than normal. So take advantage of it.
You can also take creatine befor or/and after your workout. It can be used pre workout to aid in strength gains or postworkout to make your muscle look bigger due to creatine's water retention.
By the way, Creatine's used for strenth and size whereas protein shakes are used primarily for recovery.