Here’s a trick that wp-includes/media.php
uses for the embed
shortcode: first remove all shortcodes, then add a specific shortcode back to the system, filter your content for it, then re-register the original shortcodes.
Try this:
function etdc_tab_group( $atts, $content ){
global $shortcode_tags;
$GLOBALS['tab_count'] = 0;
// save the shortcode registrations
$orig_shortcode_tags = $shortcode_tags;
// remove them all
remove_all_shortcodes();
// add ours back in
add_shortcode( 'tab', 'etdc_tab' );
$content = do_shortcode( $content );
// restore original shortcodes
$shortcode_tags = $orig_shortcode_tags;
//...rest of the function...
}
Actually, now that I’m looking at that etdc_tab_group()
function more closely, I’m suprised it’s not breaking something… Did you copy and paste it directly, or did you edit anything out? Because it’s never passing $content
back out again.
So first thing I’d try is just commenting out the do_shortcode()
call and see how that works. If that breaks something else, then try the method above?