diff --git a/includes/admin/post-types/meta-boxes/class-sp-meta-box-event-performance.php b/includes/admin/post-types/meta-boxes/class-sp-meta-box-event-performance.php
index c1ec02cf..e7391216 100644
--- a/includes/admin/post-types/meta-boxes/class-sp-meta-box-event-performance.php
+++ b/includes/admin/post-types/meta-boxes/class-sp-meta-box-event-performance.php
@@ -101,7 +101,7 @@ class SP_Meta_Box_Event_Performance {
$columns = get_posts( $args );
- $offense_labels = $defense_labels = array();
+ $labels = array( array(), array() );
foreach ( $columns as $column ):
$section = get_post_meta( $column->ID, 'sp_section', true );
if ( '' === $section ) {
@@ -109,38 +109,53 @@ class SP_Meta_Box_Event_Performance {
}
switch ( $section ):
case 1:
- $defense_labels[ $column->post_name ] = $column->post_title;
+ $labels[1][ $column->post_name ] = $column->post_title;
break;
case 0:
- $offense_labels[ $column->post_name ] = $column->post_title;
+ $labels[0][ $column->post_name ] = $column->post_title;
break;
default:
- $defense_labels[ $column->post_name ] = $column->post_title;
- $offense_labels[ $column->post_name ] = $column->post_title;
+ $labels[1][ $column->post_name ] = $column->post_title;
+ $labels[0][ $column->post_name ] = $column->post_title;
endswitch;
endforeach;
- // Get results for offensive players in the team
- $offense = sp_array_between( (array)get_post_meta( $post_id, 'sp_offense', false ), 0, $key );
- $offense[] = -1;
- $offense_data = sp_array_combine( $offense, sp_array_value( $stats, $team_id, array() ) );
+ $offense = (array)get_post_meta( $post_id, 'sp_offense', false );
+ $defense = (array)get_post_meta( $post_id, 'sp_defense', false );
+ $data = array();
+ if ( sizeof( $offense ) || sizeof( $defense ) ) {
+ // Get results for offensive players in the team
+ $offense = sp_array_between( $offense, 0, $key );
+ $offense[] = -1;
+ $data[0] = sp_array_combine( $offense, sp_array_value( $stats, $team_id, array() ) );
+
+ // Get results for defensive players in the team
+ $defense = sp_array_between( $defense, 0, $key );
+ $defense[] = -1;
+ $data[1] = sp_array_combine( $defense, sp_array_value( $stats, $team_id, array() ) );
+ } else {
+ // Get results for all players in the team
+ $players = sp_array_between( (array)get_post_meta( $post_id, 'sp_player', false ), 0, $key );
+ $players[] = -1;
+ $data[0] = $data[1] = sp_array_combine( $players, sp_array_value( $stats, $team_id, array() ) );
+ }
+
+ // Determine order of sections
+ if ( 1 == $sections ) {
+ $section_order = array( 1 => __( 'Defense', 'sportspress' ), 0 => __( 'Offense', 'sportspress' ) );
+ } else {
+ $section_order = array( __( 'Offense', 'sportspress' ), __( 'Defense', 'sportspress' ) );
+ }
- // Get results for defensive players in the team
- $defense = sp_array_between( (array)get_post_meta( $post_id, 'sp_defense', false ), 0, $key );
- $defense[] = -1;
- $defense_data = sp_array_combine( $defense, sp_array_value( $stats, $team_id, array() ) );
- ?>
-
-
- $section_label ) {
+ ?>
+
+
$meta, 'numberposts' => -1, 'post_per_page' => -1, 'orderby' => 'menu_order' );
if ( $meta == 'sp_player' ):
diff --git a/templates/event-performance.php b/templates/event-performance.php
index 810de742..2d77ad52 100644
--- a/templates/event-performance.php
+++ b/templates/event-performance.php
@@ -89,7 +89,7 @@ if ( is_array( $teams ) ):
// Determine order of sections
if ( 1 == $sections ) {
- $section_order = array( __( 'Defense', 'sportspress' ), __( 'Offense', 'sportspress' ) );
+ $section_order = array( 1 => __( 'Defense', 'sportspress' ), 0 => __( 'Offense', 'sportspress' ) );
} else {
$section_order = array( __( 'Offense', 'sportspress' ), __( 'Defense', 'sportspress' ) );
}
@@ -140,21 +140,32 @@ if ( is_array( $teams ) ):
$data = array();
- // Get results for offensive players in the team
- $offense = sp_array_between( (array)get_post_meta( $id, 'sp_offense', false ), 0, $index );
- $data[0] = sp_array_combine( $offense, sp_array_value( $performance, $team_id, array() ) );
+ $offense = (array)get_post_meta( $id, 'sp_offense', false );
+ $defense = (array)get_post_meta( $id, 'sp_defense', false );
- // Get results for defensive players in the team
- $defense = sp_array_between( (array)get_post_meta( $id, 'sp_defense', false ), 0, $index );
- $data[1] = sp_array_combine( $defense, sp_array_value( $performance, $team_id, array() ) );
+ if ( sizeof( $offense ) || sizeof( $defense ) ) {
+ // Get results for offensive players in the team
+ $offense = sp_array_between( $offense, 0, $index );
+ $data[0] = sp_array_combine( $offense, sp_array_value( $performance, $team_id, array() ) );
+
+ // Get results for defensive players in the team
+ $defense = sp_array_between( $defense, 0, $index );
+ $data[1] = sp_array_combine( $defense, sp_array_value( $performance, $team_id, array() ) );
+ } else {
+ // Get results for all players in the team
+ $players = sp_array_between( (array)get_post_meta( $id, 'sp_player', false ), 0, $index );
+ $data[0] = $data[1] = sp_array_combine( $players, sp_array_value( $performance, $team_id, array() ) );
+ }
+ $s = 0;
+
foreach ( $section_order as $section_id => $section_label ) {
if ( sizeof( $data[ $section_id ] ) ) {
if ( 1 == $section_id ) {
$order = (array)get_post_meta( $id, 'sp_order', true );
if ( is_array( $order ) && sizeof( $order ) ) {
$player_order = sp_array_value( $order, $team_id, array() );
- if ( is_array( $player_order ) ) {
+ if ( is_array( $player_order ) && sizeof( $player_order ) ) {
$data[1] = sp_array_combine( $player_order, $data[1], true );
}
}
@@ -167,7 +178,7 @@ if ( is_array( $teams ) ):
'show_players' => $show_team_players,
'show_numbers' => $show_numbers,
'show_total' => $show_total,
- 'caption' => 0 == $section_id && $team_id ? get_the_title( $team_id ) : null,
+ 'caption' => 0 == $s && $team_id ? get_the_title( $team_id ) : null,
'labels' => $labels[ $section_id ],
'formats' => $formats,
'mode' => $mode,
@@ -179,6 +190,8 @@ if ( is_array( $teams ) ):
'class' => 'sp-template-event-performance-team-' . $index . '-section-' . $section_id,
) );
}
+
+ $s++;
}
} else {
if ( 0 < $team_id ) {