public static function tabs($atts = null, $content = null) { $atts = shortcode_atts(array('active' => 1, 'vertical' => 'no', 'style' => 'default', 'class' => ''), $atts, 'tabs'); if ($atts['style'] === '3') { $atts['vertical'] = 'yes'; } do_shortcode($content); $return = ''; $tabs = $panes = array(); if (is_array(self::$tabs)) { if (self::$tab_count < $atts['active']) { $atts['active'] = self::$tab_count; } foreach (self::$tabs as $tab) { $tabs[] = '<span class="' . cherry_esc_class_attr($tab) . $tab['disabled'] . '"' . $tab['anchor'] . $tab['url'] . $tab['target'] . '>' . esc_attr($tab['title']) . '</span>'; $panes[] = '<div class="cherry-tabs-pane cherry-clearfix' . cherry_esc_class_attr($tab) . '">' . $tab['content'] . '</div>'; } $atts['vertical'] = $atts['vertical'] === 'yes' ? ' cherry-tabs-vertical' : ''; $return = '<div class="cherry-tabs cherry-tabs-style-' . $atts['style'] . $atts['vertical'] . cherry_esc_class_attr($atts) . '" data-active="' . (string) $atts['active'] . '"><div class="cherry-tabs-nav">' . implode('', $tabs) . '</div><div class="cherry-tabs-panes">' . implode("\n", $panes) . '</div></div>'; } // Reset tabs self::$tabs = array(); self::$tab_count = 0; cherry_query_asset('js', 'cherry-shortcodes-init'); return apply_filters('cherry_shortcodes_output', $return, $atts, 'tabs'); }