Posey, 34, hasn't played since suffering the injury in the sixth inning of a win over the Arizona Diamondbacks on the Fourth of July. The move was retroactive to Tuesday.
He was injured after taking an awkward shot to his glove on a foul tip by Daulton Varsho. An X-ray on the thumb came back negative at the time, but an MRI on Thursday revealed a bone bruise.
"Having experienced bone bruises on the heel from running, they can be pretty painful and you can reaggravate them fairly easily," manager Gabe Kapler said on Friday. "I imagine being back there catching balls that are moving all over the place, one additional ball caught the wrong way can be a setback, so I think this is the cautious, the prudent and the right approach to get him ready for the second half."
Posey was voted to start at catcher for the National League in next week's All-Star Game but said Friday he won't be making the trip to Denver.
"Obviously, I'm disappointed," said Posey, who has now made seven All-Star teams. "It's an honor to play in the game. I know my oldest two [kids] were excited about being there. But these things happen and you move on."
Posey is batting .328 with 12 homers for the Giants, who entered Friday with the best record in the NL.
In a corresponding move, the Giants activated right-hander Logan Webb.