Why would my shower only have hot water?
According to your picture that valve looks like it has flow controls on each line cold and hot - turn the screw on the cold line - CCW a little bit and see if you now have cold water (be careful as the screw could come all the way out and you will have full on water ). 

It could also be that when the shower lines were installed that the installer sweated the copper joints and it got clogged with some debris (not unusual). You would need to do two things here :

1: Remove your flow control on the cold water line - that screw and nut assembly next to the cartridge (with the main water valve turned off of course).
Verify you have water there and check for debris which could easily come from someones copper pipe solder sweating job.

Have someone turn the main on ever so slightly - verify you have cold running water coming through to the shower valve.. it might also force out some debris.

If you have Water flowing - re-install the flow control valve - see if you have cold water from the shower valve ..

2: If no cold water is coming out of the shower at this point and you have cold water at the flow control - you will need to remove the cartridge and check for debris there and also that the cartridge is properly installed. 

Just one other comment here - the pipe fitting for the shower cartridge is designed to be screwed into a supporting board - I would try to install a 1 by 3 or 1 by 4 in the back of that flange between it and the drywall and lengthwise between the studs - so my pipe would be supported and locked down - no movement and flexing..