Use slugs to save event players stats
This commit is contained in:
@@ -72,8 +72,30 @@ function sp_event_team_meta( $post ) {
|
|||||||
sp_nonce();
|
sp_nonce();
|
||||||
}
|
}
|
||||||
|
|
||||||
function sp_event_article_meta( $post ) {
|
function sp_event_stats_meta( $post ) {
|
||||||
wp_editor( $post->post_content, 'content' );
|
$limit = get_option( 'sp_event_team_count' );
|
||||||
|
$teams = array_pad( array_slice( (array)get_post_meta( $post->ID, 'sp_team', false ), 0, $limit ), $limit, 0 );
|
||||||
|
$stats = (array)get_post_meta( $post->ID, 'sp_stats', true );
|
||||||
|
|
||||||
|
// Get columns from result variables
|
||||||
|
$columns = sp_get_var_columns( 'sp_metric', true );
|
||||||
|
|
||||||
|
// Teams
|
||||||
|
foreach ( $teams as $key => $team_id ):
|
||||||
|
|
||||||
|
// Get results for players in the team
|
||||||
|
$players = sp_array_between( (array)get_post_meta( $post->ID, 'sp_player', false ), 0, $key );
|
||||||
|
$data = sp_array_combine( $players, sp_array_value( $stats, $team_id, array() ) );
|
||||||
|
|
||||||
|
?>
|
||||||
|
<div>
|
||||||
|
<p><strong><?php echo $team_id ? get_the_title( $team_id ) : sprintf( __( 'Select %s' ), 'Team' ); ?></strong></p>
|
||||||
|
<?php sp_event_players_table( $columns, $data, $team_id ); ?>
|
||||||
|
</div>
|
||||||
|
<?php
|
||||||
|
|
||||||
|
endforeach;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function sp_event_results_meta( $post ) {
|
function sp_event_results_meta( $post ) {
|
||||||
@@ -81,48 +103,21 @@ function sp_event_results_meta( $post ) {
|
|||||||
$teams = array_pad( array_slice( (array)get_post_meta( $post->ID, 'sp_team', false ), 0, $limit ), $limit, 0 );
|
$teams = array_pad( array_slice( (array)get_post_meta( $post->ID, 'sp_team', false ), 0, $limit ), $limit, 0 );
|
||||||
$results = (array)get_post_meta( $post->ID, 'sp_results', true );
|
$results = (array)get_post_meta( $post->ID, 'sp_results', true );
|
||||||
|
|
||||||
|
// Get columns from result variables
|
||||||
|
$columns = sp_get_var_columns( 'sp_result' );
|
||||||
|
|
||||||
// Get results for all teams
|
// Get results for all teams
|
||||||
$data = sp_array_combine( $teams, $results );
|
$data = sp_array_combine( $teams, $results );
|
||||||
|
|
||||||
// Get column names from settings
|
|
||||||
$stats_settings = get_option( 'sportspress_stats' );
|
|
||||||
|
|
||||||
$columns = sp_get_var_columns( 'sp_result', $post->ID );
|
|
||||||
?>
|
?>
|
||||||
<div>
|
<div>
|
||||||
<?php sp_results_table( $columns, $data, array() ); ?>
|
<?php sp_event_results_table( $columns, $data ); ?>
|
||||||
</div>
|
</div>
|
||||||
<?php
|
<?php
|
||||||
}
|
}
|
||||||
|
|
||||||
function sp_event_stats_meta( $post ) {
|
function sp_event_article_meta( $post ) {
|
||||||
$limit = get_option( 'sp_event_team_count' );
|
wp_editor( $post->post_content, 'content' );
|
||||||
$teams = array_pad( array_slice( (array)get_post_meta( $post->ID, 'sp_team', false ), 0, $limit ), $limit, 0 );
|
|
||||||
$stats = (array)get_post_meta( $post->ID, 'sp_stats', true );
|
|
||||||
|
|
||||||
// Get column names from settings
|
|
||||||
$stats_settings = get_option( 'sportspress_stats' );
|
|
||||||
$columns = sp_get_eos_keys( $stats_settings['player'] );
|
|
||||||
|
|
||||||
// Add first column label
|
|
||||||
array_unshift( $columns, __( 'Player', 'sportspress' ) );
|
|
||||||
|
|
||||||
// Teams
|
|
||||||
foreach ( $teams as $key => $value ):
|
|
||||||
|
|
||||||
// Get results for players in the team
|
|
||||||
$players = sp_array_between( (array)get_post_meta( $post->ID, 'sp_player', false ), 0, $key );
|
|
||||||
$data = sp_array_combine( $players, sp_array_value( $stats, $value, array() ) );
|
|
||||||
|
|
||||||
?>
|
|
||||||
<div>
|
|
||||||
<p><strong><?php echo $value ? get_the_title( $value ) : sprintf( __( 'Select %s' ), 'Team' ); ?></strong></p>
|
|
||||||
<?php sp_stats_table( $data, array(), $value, $columns, true ); ?>
|
|
||||||
</div>
|
|
||||||
<?php
|
|
||||||
|
|
||||||
endforeach;
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function sp_event_edit_columns() {
|
function sp_event_edit_columns() {
|
||||||
|
|||||||
@@ -385,15 +385,23 @@ if ( !function_exists( 'sp_get_eos_keys' ) ) {
|
|||||||
|
|
||||||
|
|
||||||
if ( !function_exists( 'sp_get_var_columns' ) ) {
|
if ( !function_exists( 'sp_get_var_columns' ) ) {
|
||||||
function sp_get_var_columns( $post_type, $exclude ) {
|
function sp_get_var_columns( $post_type, $indies = false ) {
|
||||||
$args = array(
|
$args = array(
|
||||||
'post_type' => $post_type,
|
'post_type' => $post_type,
|
||||||
'numberposts' => -1,
|
'numberposts' => -1,
|
||||||
'posts_per_page' => -1,
|
'posts_per_page' => -1,
|
||||||
'orderby' => 'menu_order',
|
'orderby' => 'menu_order',
|
||||||
'order' => 'ASC',
|
'order' => 'ASC'
|
||||||
'exclude' => $exclude
|
|
||||||
);
|
);
|
||||||
|
if ( $indies ):
|
||||||
|
$args['meta_query'] = array(
|
||||||
|
array(
|
||||||
|
'key' => 'sp_equation',
|
||||||
|
'value'=>''
|
||||||
|
)
|
||||||
|
);
|
||||||
|
endif;
|
||||||
|
|
||||||
$vars = get_posts( $args );
|
$vars = get_posts( $args );
|
||||||
|
|
||||||
$output = array();
|
$output = array();
|
||||||
@@ -660,8 +668,8 @@ if ( !function_exists( 'sp_stats_table' ) ) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( !function_exists( 'sp_results_table' ) ) {
|
if ( !function_exists( 'sp_event_results_table' ) ) {
|
||||||
function sp_results_table( $columns = array(), $data = array(), $placeholders = array() ) {
|
function sp_event_results_table( $columns = array(), $data = array() ) {
|
||||||
?>
|
?>
|
||||||
<table class="widefat sp-stats-table">
|
<table class="widefat sp-stats-table">
|
||||||
<thead>
|
<thead>
|
||||||
@@ -684,9 +692,8 @@ if ( !function_exists( 'sp_results_table' ) ) {
|
|||||||
</td>
|
</td>
|
||||||
<?php foreach( $columns as $column => $label ):
|
<?php foreach( $columns as $column => $label ):
|
||||||
$value = sp_array_value( $team_results, $column, '' );
|
$value = sp_array_value( $team_results, $column, '' );
|
||||||
$placeholder = (int)sp_array_value( sp_array_value( $placeholders, $team_id, 0), $column, 0 );
|
|
||||||
?>
|
?>
|
||||||
<td><input type="text" name="sp_results[<?php echo $team_id; ?>][<?php echo $column; ?>]" value="<?php echo $value; ?>" placeholder="<?php echo $placeholder; ?>" /></td>
|
<td><input type="text" name="sp_results[<?php echo $team_id; ?>][<?php echo $column; ?>]" value="<?php echo $value; ?>" /></td>
|
||||||
<?php endforeach; ?>
|
<?php endforeach; ?>
|
||||||
</tr>
|
</tr>
|
||||||
<?php
|
<?php
|
||||||
@@ -699,13 +706,13 @@ if ( !function_exists( 'sp_results_table' ) ) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( !function_exists( 'sp_players_table' ) ) {
|
if ( !function_exists( 'sp_event_players_table' ) ) {
|
||||||
function sp_players_table( $columns = array(), $data = array(), $placeholders = array() ) {
|
function sp_event_players_table( $columns = array(), $data = array(), $team_id ) {
|
||||||
?>
|
?>
|
||||||
<table class="widefat sp-stats-table">
|
<table class="widefat sp-stats-table">
|
||||||
<thead>
|
<thead>
|
||||||
<tr>
|
<tr>
|
||||||
<th><?php _e( 'Team', 'sportspress' ); ?></th>
|
<th><?php _e( 'Player', 'sportspress' ); ?></th>
|
||||||
<?php foreach ( $columns as $label ): ?>
|
<?php foreach ( $columns as $label ): ?>
|
||||||
<th><?php echo $label; ?></th>
|
<th><?php echo $label; ?></th>
|
||||||
<?php endforeach; ?>
|
<?php endforeach; ?>
|
||||||
@@ -714,18 +721,66 @@ if ( !function_exists( 'sp_players_table' ) ) {
|
|||||||
<tbody>
|
<tbody>
|
||||||
<?php
|
<?php
|
||||||
$i = 0;
|
$i = 0;
|
||||||
foreach ( $data as $team_id => $team_results ):
|
foreach ( $data as $player_id => $player_metrics ):
|
||||||
if ( !$team_id ) continue;
|
if ( !$player_id ) continue;
|
||||||
?>
|
?>
|
||||||
<tr class="sp-row sp-post<?php if ( $i % 2 == 0 ) echo ' alternate'; ?>">
|
<tr class="sp-row sp-post<?php if ( $i % 2 == 0 ) echo ' alternate'; ?>">
|
||||||
<td>
|
<td>
|
||||||
<?php echo get_the_title( $team_id ); ?>
|
<?php echo get_the_title( $player_id ); ?>
|
||||||
</td>
|
</td>
|
||||||
<?php foreach( $columns as $column => $label ):
|
<?php foreach( $columns as $column => $label ):
|
||||||
$value = sp_array_value( $team_results, $column, '' );
|
$value = sp_array_value( $player_metrics, $column, '' );
|
||||||
$placeholder = (int)sp_array_value( sp_array_value( $placeholders, $team_id, 0), $column, 0 );
|
|
||||||
?>
|
?>
|
||||||
<td><input type="text" name="sp_results[<?php echo $team_id; ?>][<?php echo $column; ?>]" value="<?php echo $value; ?>" placeholder="<?php echo $placeholder; ?>" /></td>
|
<td><input type="text" name="sp_stats[<?php echo $team_id; ?>][<?php echo $player_id; ?>][<?php echo $column; ?>]" value="<?php echo $value; ?>" placeholder="0" /></td>
|
||||||
|
<?php endforeach; ?>
|
||||||
|
</tr>
|
||||||
|
<?php
|
||||||
|
$i++;
|
||||||
|
endforeach;
|
||||||
|
?>
|
||||||
|
<tr class="sp-row sp-total<?php if ( $i % 2 == 0 ) echo ' alternate'; ?>">
|
||||||
|
<td><strong><?php _e( 'Total', 'sportspress' ); ?></strong></td>
|
||||||
|
<?php foreach( $columns as $column => $label ):
|
||||||
|
$player_id = 0;
|
||||||
|
$player_metrics = $data[0];
|
||||||
|
$value = sp_array_value( $player_metrics, $column, '' );
|
||||||
|
?>
|
||||||
|
<td><input type="text" name="sp_stats[<?php echo $team_id; ?>][<?php echo $player_id; ?>][<?php echo $column; ?>]" value="<?php echo $value; ?>" placeholder="0" /></td>
|
||||||
|
<?php endforeach; ?>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
<?php
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if ( !function_exists( 'sp_someother_table' ) ) {
|
||||||
|
function sp_someother_table( $columns = array(), $data = array(), $placeholders = array(), $team_id ) {
|
||||||
|
?>
|
||||||
|
<table class="widefat sp-stats-table">
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th><?php _e( 'Player', 'sportspress' ); ?></th>
|
||||||
|
<?php foreach ( $columns as $label ): ?>
|
||||||
|
<th><?php echo $label; ?></th>
|
||||||
|
<?php endforeach; ?>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
<?php
|
||||||
|
$i = 0;
|
||||||
|
foreach ( $data as $player_id => $player_metrics ):
|
||||||
|
if ( !$player_id ) continue;
|
||||||
|
?>
|
||||||
|
<tr class="sp-row sp-post<?php if ( $i % 2 == 0 ) echo ' alternate'; ?>">
|
||||||
|
<td>
|
||||||
|
<?php echo get_the_title( $player_id ); ?>
|
||||||
|
</td>
|
||||||
|
<?php foreach( $columns as $column => $label ):
|
||||||
|
$value = sp_array_value( $player_metrics, $column, '' );
|
||||||
|
$placeholder = (int)sp_array_value( sp_array_value( $placeholders, $player_id, 0), $column, 0 );
|
||||||
|
?>
|
||||||
|
<td><input type="text" name="sp_stats[<?php echo $team_id; ?>][<?php echo $player_id; ?>][<?php echo $column; ?>]" value="<?php echo $value; ?>" placeholder="<?php echo $placeholder; ?>" /></td>
|
||||||
<?php endforeach; ?>
|
<?php endforeach; ?>
|
||||||
</tr>
|
</tr>
|
||||||
<?php
|
<?php
|
||||||
@@ -736,11 +791,11 @@ if ( !function_exists( 'sp_players_table' ) ) {
|
|||||||
<tr class="sp-row sp-total<?php if ( $i % 2 == 0 ) echo ' alternate'; ?>">
|
<tr class="sp-row sp-total<?php if ( $i % 2 == 0 ) echo ' alternate'; ?>">
|
||||||
<td><strong><?php _e( 'Total', 'sportspress' ); ?></strong></td>
|
<td><strong><?php _e( 'Total', 'sportspress' ); ?></strong></td>
|
||||||
<?php foreach( $columns as $column => $label ):
|
<?php foreach( $columns as $column => $label ):
|
||||||
$team_id = 0;
|
$player_id = 0;
|
||||||
$value = sp_array_value( $team_results, $column, '' );
|
$value = sp_array_value( $player_metrics, $column, '' );
|
||||||
$placeholder = (int)sp_array_value( sp_array_value( $placeholders, $team_id, 0), $column, 0 );
|
$placeholder = (int)sp_array_value( sp_array_value( $placeholders, $player_id, 0), $column, 0 );
|
||||||
?>
|
?>
|
||||||
<td><input type="text" name="sp_results[<?php echo $team_id; ?>][<?php echo $column; ?>]" value="<?php echo $value; ?>" placeholder="<?php echo $placeholder; ?>" /></td>
|
<td><input type="text" name="sp_stats[<?php echo $team_id; ?>][<?php echo $player_id; ?>][<?php echo $column; ?>]" value="<?php echo $value; ?>" placeholder="<?php echo $placeholder; ?>" /></td>
|
||||||
<?php endforeach; ?>
|
<?php endforeach; ?>
|
||||||
</tr>
|
</tr>
|
||||||
</tbody>
|
</tbody>
|
||||||
|
|||||||
Reference in New Issue
Block a user