[How to] Combine Multiple Shortcodes in WordPress
You can create shortcodes for any function in wordpress. It’s so easy to create one and also so functional. In this post i will show you how to use a shortcode in another shortcode.
Basically shortcodes are working in this way:
[shortcode {arguments}] -> shortcode_function({arguments}) -> return output
Let’s say you have a download_link shortcode from your download manager. Skeleton for this shortcode would be:
function download_link_shortcode($atts = ''){
// Extract shortcode attributes
// Do stuff here and return link
return $link;
} add_shortcode('download_link', 'download_link_shortcode');
Let’s combine this shortcode with adsense widget shortcode. So we can easily output a download link with adsense below it.
Here is the skeleton for the shortcode.
>function download_with_adsense($atts = ''){
} add_shortcode('download_with_ads', 'download_with_adsense');
Now let’s fill in our shortcode function:
function download_with_adsense($atts = ''){
// Extract attributes here so we can use them as variables
extract(shortcode_atts( array(
'id' => ''
'ad_type' => 'half-banner',
'ad_content' => 'image',
'ad_channel' => '12345678990'
), $atts));
$output = '<div class="wrap">';
// Now let's run our shortcodes and get output to combine
// Get the download link
$output .= do_shortcode('[download_link id="'.$id.'"]');
// Add adsense below the link
$output .= do_shortcode('[adsense type="'.$ad_type.'" content="'.$ad_content.'" channel="'.$channel.'"]');
// Close wrapper div
$output .= '</div>';
// Shortcodes never echo but return output.
return $output;
}
Now when ever we need a download link with adsense we can use this simple shortcode:
[download_with_ads id="3" ad_type="banner"]
Can you see how much time it saves?!
PHP + WordPress is amazing really 🙂



