get_the_ID(), 'number' => -1, 'columns' => null, 'grouping' => null, 'orderby' => 'default', 'order' => 'ASC', 'show_all_players_link' => false, 'link_posts' => get_option( 'sportspress_list_link_players', 'yes' ) == 'yes' ? true : false, 'sortable' => get_option( 'sportspress_enable_sortable_tables', 'yes' ) == 'yes' ? true : false, 'responsive' => get_option( 'sportspress_enable_responsive_tables', 'yes' ) == 'yes' ? true : false, 'paginated' => get_option( 'sportspress_list_paginated', 'yes' ) == 'yes' ? true : false, 'rows' => get_option( 'sportspress_list_rows', 10 ), ); extract( $defaults, EXTR_SKIP ); // Backward compatibility if ( isset( $performance ) ) $columns = $performance; $list = new SP_Player_List( $id ); $list->columns = $columns; $data = $list->data(); // The first row should be column labels $labels = $data[0]; // Remove the first row to leave us with the actual data unset( $data[0] ); if ( $grouping === null || $grouping === 'default' ): $grouping = $list->grouping; endif; if ( $orderby == 'default' ): $orderby = $list->orderby; $order = $list->order; else: $list->priorities = array( array( 'key' => $orderby, 'order' => $order, ), ); uasort( $data, array( $list, 'sort' ) ); endif; if ( $grouping === 'position' ): $groups = get_terms( 'sp_position' ); else: $group = new stdClass(); $group->term_id = null; $group->name = null; $group->slug = null; $groups = array( $group ); endif; $output = ''; foreach ( $groups as $group ): if ( ! empty( $group->name ) ): $output .= ''; $output .= '

' . $group->name . '

'; endif; $output .= '
' . '' . '' . ''; if ( in_array( $orderby, array( 'number', 'name' ) ) ): $output .= ''; else: $output .= ''; endif; foreach( $labels as $key => $label ): if ( ! is_array( $columns ) || $key == 'name' || in_array( $key, $columns ) ) $output .= ''; endforeach; $output .= '' . '' . ''; $i = 0; if ( intval( $number ) > 0 ) $limit = $number; foreach( $data as $player_id => $row ): if ( empty( $group->term_id ) || has_term( $group->term_id, 'sp_position', $player_id ) ): if ( isset( $limit ) && $i >= $limit ) continue; $name = sp_array_value( $row, 'name', null ); if ( ! $name ) continue; $output .= ''; // Rank or number if ( isset( $orderby ) && $orderby != 'number' ): $output .= ''; else: $output .= ''; endif; if ( $link_posts ): $permalink = get_post_permalink( $player_id ); $name = '' . $name . ''; endif; $output .= ''; foreach( $labels as $key => $value ): if ( $key == 'name' ) continue; if ( ! is_array( $columns ) || in_array( $key, $columns ) ) $output .= ''; endforeach; $output .= ''; $i++; endif; endforeach; $output .= '' . '
#' . SP()->text->string('Rank') . ''. $label . '
' . ( $i + 1 ) . '' . sp_array_value( $row, 'number', ' ' ) . '' . $name . '' . sp_array_value( $row, $key, '—' ) . '
' . '
'; endforeach; if ( $show_all_players_link ) $output .= '' . SP()->text->string('View all players') . ''; echo apply_filters( 'sportspress_player_list', $output );