ob_start / ob_get_clean buffering for shortcode