Beat the butter, sugar, vanilla and a pinch of salt until combined. Add the flour and stir in with a wooden spoon, then bring the dough together with your hands. Wrap in cling film and chill for around 30 minutes.
Roll out on a floured surface to around 2mm thick. Cut out 16 hearts using a 6cm cutter.
Put 8 hearts on one baking sheet. Cut heart centres from the remaining 8 dough hearts, using a small heart-shaped cutter. Transfer the hearts with the centres cut out to a second sheet. Chill both sheets for 10 minutes in the freezer.
Preheat the oven to 180°C (160°C fan). Bake the shortbread until slightly golden – this will take 10 to 12 minutes for the ones with the hearts cut out and 13 to 15 minutes for the solid ones. Cool for 5 minutes, then transfer to a wire rack to cool completely.
Melt the white chocolate in a bowl set over a pan of warm water. Stir often and watch carefully. Remove the bowl from pan when you can still see a few un-melted lumps of chocolate and stir until smooth. Set aside for a few minutes to let the chocolate cool and thicken slightly. Meanwhile, dust the cookies with the cut out centres with icing sugar.
Spread a scant 1/2tbsp of chocolate over each solid cookie, leaving a border around the edge. Put a blob of jam in the centre of each. Sandwich the cookies with the sugar-dusted tops and add a little extra jam in the cut out centre, if needed.
Refrigerate for 10-20 minutes, until the white chocolate has set, then store in a cool place.