get_the_ID(), 'title' => false, 'number' => -1, 'grouptag' => 'h4', 'columns' => null, 'grouping' => null, 'orderby' => 'default', 'order' => 'ASC', 'show_all_players_link' => false, 'show_title' => get_option( 'sportspress_list_show_title', 'yes' ) == 'yes' ? true : false, 'show_player_photo' => get_option( 'sportspress_list_show_photos', 'no' ) == 'yes' ? true : false, 'show_player_flag' => get_option( 'sportspress_list_show_flags', 'no' ) == 'yes' ? true : false, 'link_posts' => get_option( 'sportspress_link_players', 'yes' ) == 'yes' ? true : false, 'link_teams' => get_option( 'sportspress_link_teams', 'no' ) == 'yes' ? true : false, 'abbreviate_teams' => get_option( 'sportspress_abbreviate_teams', 'yes' ) === 'yes' ? true : false, 'responsive' => get_option( 'sportspress_enable_responsive_tables', 'no' ) == 'yes' ? true : false, 'sortable' => get_option( 'sportspress_enable_sortable_tables', 'yes' ) == 'yes' ? true : false, 'scrollable' => get_option( 'sportspress_enable_scrollable_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; // Determine number of players to display if ( -1 === $number ): $number = (int) get_post_meta( $id, 'sp_number', true ); if ( $number <= 0 ) $number = -1; endif; // Explode into array if ( null !== $columns && ! is_array( $columns ) ) $columns = explode( ',', $columns ); $list = new SP_Player_List( $id ); if ( isset( $columns ) && null !== $columns ): $list->columns = $columns; endif; $data = $list->data(); // The first row should be column labels $labels = $data[0]; //Create a unique identifier based on the current time in microseconds $identifier = uniqid( 'playerlist_' ); // If responsive tables are enabled then load the inline css code if ( true == $responsive ){ sportspress_responsive_tables_css( $identifier ); } // 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; $output = ''; if ( $grouping === 'position' ): $groups = get_terms( 'sp_position', array( 'orderby' => 'meta_value_num', 'meta_query' => array( 'relation' => 'OR', array( 'key' => 'sp_order', 'compare' => 'NOT EXISTS' ), array( 'key' => 'sp_order', 'compare' => 'EXISTS' ), ), ) ); else: if ( $show_title && false === $title && $id ): $caption = $list->caption; if ( $caption ) $title = $caption; else $title = get_the_title( $id ); endif; if ( $title ) $output .= '<' . $grouptag . ' class="sp-table-caption">' . $title . '' . $grouptag . '>'; $group = new stdClass(); $group->term_id = null; $group->name = null; $group->slug = null; $groups = array( $group ); endif; foreach ( $groups as $group ): $i = 0; if ( intval( $number ) > 0 ) $limit = $number; $tbody = ''; 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; $tbody .= '
' . $name;
endforeach;
$name_class .= ' has-photo';
endif;
endif;
if ( $link_posts ):
$permalink = get_post_permalink( $player_id );
$name = '' . $name . '';
endif;
$tbody .= '| # | '; else: $output .= '' . __( 'Rank', 'sportspress' ) . ' | '; endif; endif; foreach( $labels as $key => $label ): if ( $key !== 'number' && ( ! is_array( $columns ) || $key == 'name' || in_array( $key, $columns ) ) ) $output .= ''. $label . ' | '; endforeach; $output .= '
|---|