Preheat oven to 350 degrees F.
Line 2 standard 12-cup muffin/cupcake pans with papers.
Using an electric mixer, cream the butter and sugar together until light and fluffy, about 5 minutes. Add the eggs 1 at a time, beating well after each addition. Add the flour and milk, alternately, into the creamed mixture, beginning and ending with the flour. Add the vanilla and continue to beat until well mixed. Divide the batter equally among the papers, filling them about 34 of the way up. Level the batter by dropping muffin pan on counter top to release the air bubbles.
Bake for about 18 to 20 minutes or until a toothpick inserted into the center of a cupcake comes out clean. Cool in pan for 5 to 10 minutes and then remove the cupcakes to a wire rack to cool completely.
With an electric mixer, cream shortening and butter together. Add confectioners' sugar and granulated sugar and beat until light and fluffy. Beat in vanilla extract. Gradually beat in corn syrup. Continue beating until the mixture has thickened to a mayonnaise-like consistency, about 3 minutes.
When the cupcakes have cooled completely, fill a pastry bag, fitted with a medium-small plain, round tip with the vanilla filling. With a sharp, paring knife, cut a cross down into the center of each cupcake from the top, about 1-inch deep. Insert the tip of the pastry bag into the cross and gently squeeze about 1 1/2 teaspoons of the vanilla filling into the center of each cupcake. Wipe away any vanilla filling that oozes out when you remove the tip from the cupcake.
Cream the butter, peanut butter, granulated sugar and salt together with an electric mixer until light and fluffy. Beat in the vanilla extract and heavy cream. Gradually beat in the confectioners' sugar.
Frost the vanilla filled cupcakes with a butter knife or from a large star tipped pastry bag.