Add this code in Child theme functions.php file :
/*-----------------------------------------------------------------------------------*/
/* Nested Tabs Shortcodes
/*-----------------------------------------------------------------------------------*/
if (!function_exists('inside_tabs')) {
function inside_tabs( $atts, $content = null ) {
extract(shortcode_atts(array(
'style' => '',
'theme' => ''
), $atts));
$defaults=$tab_icons = array();
extract( shortcode_atts( $defaults, $atts ) );
// Extract the tab titles for use in the tab widget.
preg_match_all( '/inside_tab title="([^\"]+)" icon="([^\"]+)"/i', $content, $matches, PREG_OFFSET_CAPTURE );
$tab_titles = array();
if(!count($matches[1])){
preg_match_all( '/inside_tab title="([^\"]+)"/i', $content, $matches, PREG_OFFSET_CAPTURE );
if( isset($matches[1]) ){ $tab_titles = $matches[1];}
}else{
if( isset($matches[1]) ){ $tab_titles = $matches[1]; $tab_icons= $matches[2];}
}
$output = '';
global $random_number;
if( count($tab_titles) ){
$output .= '<div id="vibe-tabs-'. rand(1, 100) .'" class="tabs tabbable '.$style.' '.$theme.'">';
$output .= '<ul class="nav nav-tabs clearfix">';
foreach( $tab_titles as $i=>$tab ){
$tabstr= str_replace(' ', '-', $tab[0]);
$tabstr=preg_replace('/[^A-Za-z0-9\-]/', '', $tabstr);
$check_url = strpos($tab_icons[$i][0],'http');
if(isset($tab_icons[$i][0]) && $check_url !== flase && $check_url<2){
$href = $tab_icons[$i][0];
}else{
$href='#inside_tab-'. $tabstr .'-'.$random_number;
}
$output .= '<li><a href="'.$href.'">';
if(isset($tab_icons[$i][0]))
$output.='<span><i class="' . $tab_icons[$i][0] . '"></i></span>';
$output .= $tab[0] . '</a></li>';
}
$output .= '</ul><div class="tab-content">';
$output .= do_shortcode( $content );
$output .= '</div></div>';
} else {
$output .= do_shortcode( $content );
}
return $output;
}
add_shortcode( 'insides', 'inside_tabs' );
}
if (!function_exists('inside_tab')) {
function inside_tab( $atts, $content = null ) {
$defaults = array( 'title' => 'Tab' );
extract( shortcode_atts( $defaults, $atts ) );
global $random_number;
$tabstr= str_replace(' ', '-', $title);//
$tabstr=preg_replace('/[^A-Za-z0-9\-]/', '', $tabstr);
return '<div id="inside_tab-'. $tabstr .'-'.$random_number.'" class="tab-pane"><p>'. do_shortcode( $content ) .'</p></div>';
}
add_shortcode( 'inside', 'inside_tab' );
}
Now instead of using tabs shortcode like :
[tabs]
[tab title="XXX]
[tabs]
[tab title="YYY"]content[/tab]
[/tabs]
[/tab]
[/tabs]
.......
change it to
[tabs]
[tab title="XXX]
[insides]
[inside title="YYY"]content[/inside]
[/insides]
[/tab]
[/tabs]