¾ cup unsalted butter, at room temperature
½ cup vegetable oil
2 cups white sugar
2 teaspoons coconut extract
1 teaspoon vanilla extract
3 cups self-rising flour
1 cup unsweetened coconut milk
½ cup pineapple juice
¼ cup confectioners’ sugar, or more as needed
¼ cup pineapple juice
1 cup unsalted butter, softened
1 teaspoon coconut extract
¼ cup shredded coconut
1 (20 ounce) can crushed pineapple, drained
Preheat oven to 350 degrees F (175 degrees C). Grease two 9-inch square pans.
Beat 3/4 cup butter in a bowl using an electric mixer until light and fluffy. Slowly drizzle oil into creamed butter while continuing to beat butter until mixture is smooth. Beat white sugar, 1 cup at a time, into butter mixture until incorporated. Add 2 teaspoons coconut extract and vanilla extract; mix well. Beat eggs, 1 at a time, into butter mixture, beating well until each egg is fully incorporated.
Mix flour, alternating with coconut milk, into butter mixture, ending with flour until batter is just mixed. Mix 1/2 cup pineapple juice into batter. Pour batter into the prepared pans.
Bake in the preheated oven until a toothpick inserted in the center of each cake comes out clean, 45 to 50 minutes.
Mix confectioners’ sugar and 1/4 cup pineapple juice together in a bowl until sugar is dissolved. Beat 1 cup butter into sugar mixture until light and fluffy. Add 1 teaspoon coconut extract; beat until icing is smooth, adding more confectioners’ sugar until desired consistency is reached.
Place 1 cake on a serving platter and top with a layer of icing. Place second cake over icing layer. Cover entire cake with remaining icing. Dust sides of cake with shredded coconut and top with crushed pineapple.