If I have a core switch in between all of my other switches, and then each switch is uplink to each other for redundancy, will spanning tree block the ports in between each switch and how will it know how to do this as all links are gigabit ?
Spanning tree will cblock a port to stop the loop. It is based on the cost to the root. Depending on which switch is acting as the root that will dictate which ports are blocked.
This link should get you information on Spanning Tree.