diff --git a/includes/class-sp-template-loader.php b/includes/class-sp-template-loader.php index a2d50e88..9b9b22e6 100644 --- a/includes/class-sp-template-loader.php +++ b/includes/class-sp-template-loader.php @@ -106,13 +106,12 @@ class SP_Template_Loader { } $ob = ob_get_clean(); - - ob_start(); $tabs = ''; if ( ! empty( $tab_templates ) ) { $i = 0; + $tab_content = ''; foreach ( $tab_templates as $key => $template ) { // Ignore templates that are unavailable or that have been turned off @@ -120,17 +119,23 @@ class SP_Template_Loader { if ( ! isset( $template['option'] ) ) continue; if ( 'yes' !== get_option( $template['option'], sp_array_value( $template, 'default', 'yes' ) ) ) continue; - // Add to tabs - $tabs .= '
  • ' . apply_filters( 'gettext', $template['title'], $template['title'], 'sportspress' ) . '
  • '; - - // Render the template - echo '
    '; + // Put tab content into buffer + ob_start(); if ( 'content' === $key ) { echo $content; } else { call_user_func( $template['action'] ); } - echo '
    '; + $buffer = ob_get_clean(); + + // Continue if tab content is empty + if ( empty( $buffer ) ) continue; + + // Add to tabs + $tabs .= '
  • ' . apply_filters( 'gettext', $template['title'], $template['title'], 'sportspress' ) . '
  • '; + + // Render the template + $tab_content .= '
    ' . $buffer . '
    '; $i++; } @@ -141,7 +146,7 @@ class SP_Template_Loader { $ob .= ''; } - $ob .= ob_get_clean(); + $ob .= $tab_content; $ob .= ''; }