Tutorial : Combining 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 :)

About Shailan.com Staff
Shailan.com is a design blog about WordPress and web design. We usually write about wordpress, plugins, themes, web design resources, php, css, jquery, adsense and more.. If you want to get notified about our posts, be sure to subscribe to our feed or follow us on facebook. You can also subscribe to our mailing list. No spam, we promise.

2 Comments on Tutorial : Combining multiple shortcodes in wordpress

  1. Hi, good tips!
    Is possible to see a demo somewhere?

  2. edward lobo // July 9, 2011 at 1:35 am // Reply

    Brilliant !

Leave a comment

Your email address will not be published.