Preheat your oven to 350°F (175°C). Line a 12-cup muffin pan with cupcake liners.
In a medium bowl, whisk together flour, baking powder, and salt. Set aside.
In a large bowl, cream butter and sugar with an electric mixer until light and fluffy.
Beat in eggs one at a time, then mix in vanilla extract.
Add dry ingredients in three parts, alternating with milk. Mix until just combined.
Divide the batter evenly into 3 small bowls.
Add yellow food coloring to one bowl
Add orange food coloring to the second bowl
Leave the third bowl plain for the white layer
Spoon the yellow batter into each cupcake liner first, followed by the orange layer, then top with the white batter.
Bake for 18–20 minutes, or until a toothpick inserted in the center comes out clean.
Let cupcakes cool in the pan for 5 minutes, then transfer to a cooling rack until completely cool.
Make the frosting: beat butter until smooth, then add powdered sugar, milk, and vanilla. Mix until fluffy.
Pipe frosting onto cooled cupcakes and top each with a candy corn piece.