In minecraft 1.14 I made a villager breeder but they don't want to. I gave them the requirements beds, bread and crops. But when they start to breed (like show the hearts) they just stop and show this weird thing above their heads any help? (extra detail: 4 villagers, 7 beds, 6x6x3 square)
This answer is for 1.14.4 - it won't be fully valid for any prior versions as the breeder mechanics changed considerably in between them.
Make sure all the beds, including the extra for the children, are pathfindable to the adults in the breeder, and only to them at sleep time - remove the children from the breeder and make sure they cannot pathfind to the beds. (in particular, pathfinding doesn't equal them being physically able to walk up to the beds; for example trapdoors purposefully confuse the algorithm making the villagers think they can walk up to a block while in reality they can't; e.g your breeder's trapdoor hatch may be considered wide open by all villagers in the area even when it's closed.)
Also make sure to at least wait a little into the night after the children are removed and placed out of reach of their breeder beds - the beds are invalidated only after a failed pathfinding attempt is made - during the day no pathfinding attempts for the beds are made.
Last but not least, there's a specific set of circumstances where beds remain assigned even in absence of their prior owners. Breaking and replacing them solves the issue. For details on this issue, and a very in-depth analysis of the current villager breeding mechanics, reference Gnembon's 1.14.4 villager breeder video.