Display metrics and statistics on player page

This commit is contained in:
Brian Miyaji
2014-01-14 04:16:11 +11:00
parent bd919ad121
commit 6e099d0424
218 changed files with 537 additions and 157 deletions

View File

@@ -42,6 +42,7 @@ function sportspress_player_meta_init( $post ) {
add_meta_box( 'submitdiv', __( 'Publish' ), 'post_submit_meta_box', 'sp_player', 'side', 'high' );
remove_meta_box( 'postimagediv', 'sp_player', 'side' );
add_meta_box( 'postimagediv', __( 'Photo', 'sportspress' ), 'post_thumbnail_meta_box', 'sp_player', 'side', 'high' );
add_meta_box( 'sp_detailsdiv', __( 'Details', 'sportspress' ), 'sportspress_player_details_meta', 'sp_player', 'side', 'high' );
add_meta_box( 'sp_teamdiv', __( 'Teams', 'sportspress' ), 'sportspress_player_team_meta', 'sp_player', 'side', 'high' );
if ( $teams && ! empty( $teams ) && $seasons && is_array( $seasons ) && is_object( $seasons[0] ) ):
@@ -50,7 +51,45 @@ function sportspress_player_meta_init( $post ) {
add_meta_box( 'sp_metricsdiv', __( 'Player Metrics', 'sportspress' ), 'sportspress_player_metrics_meta', 'sp_player', 'normal', 'high' );
add_meta_box( 'sp_profilediv', __( 'Profile' ), 'sportspress_player_profile_meta', 'sp_player', 'normal', 'high' );
}
function sportspress_player_details_meta( $post ) {
global $sportspress_continents, $sportspress_countries;
$continents = array();
foreach( $sportspress_continents as $continent => $codes ):
$countries = array_intersect_key( $sportspress_countries, array_flip( $codes ) );
asort( $countries );
$continents[ $continent ] = $countries;
endforeach;
$number = get_post_meta( $post->ID, 'sp_number', true );
$nationality = get_post_meta( $post->ID, 'sp_nationality', true );
?>
<p>
<strong><?php _e( 'Number', 'sportspress' ); ?></strong>
</p>
<p>
<input type="text" size="4" id="sp_number" name="sp_number" value="<?php echo $number; ?>">
</p>
<p>
<strong><?php _e( 'Nationality', 'sportspress' ); ?></strong>
</p>
<p>
<select id="sp_nationality" name="sp_nationality">
<?php foreach ( $continents as $continent => $countries ): ?>
<optgroup label="<?php echo $continent; ?>">
<?php foreach ( $countries as $code => $country ): ?>
<option value="<?php echo $code; ?>" <?php selected ( $nationality, $code ); ?>>
<?php echo $country; ?>
</option>
<?php endforeach; ?>
</optgroup>
<?php endforeach; ?>
</select>
</p>
<?php
}
function sportspress_player_team_meta( $post ) {
@@ -85,40 +124,54 @@ function sportspress_player_stats_meta( $post ) {
endforeach;
}
function sportspress_player_metrics_meta( $post ) {
$metrics = get_post_meta( $post->ID, 'sp_metrics', true );
?>
<div class="sp-data-table-container">
<table class="widefat sp-data-table">
<thead>
<tr>
<th><?php _e( 'Metric', 'sportspress' ); ?></th>
<th><?php _e( 'Value', 'sportspress' ); ?></th>
</tr>
</thead>
<tbody>
<?php
$args = array(
'post_type' => 'sp_metric',
'numberposts' => -1,
'posts_per_page' => -1,
'orderby' => 'menu_order',
'order' => 'ASC',
);
$vars = get_posts( $args );
$i = 0;
foreach ( $vars as $var ):
?>
<tr class="sp-row sp-post<?php if ( $i % 2 == 0 ) echo ' alternate'; ?>">
<td>
<?php echo $var->post_title; ?>
</td>
<?php
$value = sportspress_array_value( $metrics, $var->post_name, '' );
?>
<td><input type="text" name="sp_metrics[<?php echo $var->post_name; ?>]" value="<?php echo $value; ?>" /></td>
</tr>
<?php
$i++;
endforeach;
?>
</tbody>
</table>
</div>
<?php
sportspress_nonce();
}
function sportspress_player_profile_meta( $post ) {
wp_editor( $post->post_content, 'content' );
}
function sportspress_player_metrics_meta( $post ) {
$number = get_post_meta( $post->ID, 'sp_number', true );
$details = get_post_meta( $post->ID, 'sp_metrics', true );
?>
<p><strong><?php _e( 'Player Number', 'sportspress' ); ?></strong></p>
<p>
<input name="sp_number" type="text" size="4" id="sp_number" value="<?php echo $number; ?>">
</p>
<?php
$args = array(
'post_type' => 'sp_metric',
'numberposts' => -1,
'posts_per_page' => -1,
'orderby' => 'menu_order',
'order' => 'ASC',
);
$vars = get_posts( $args );
$custom = array();
foreach ( $vars as $var ):
?>
<p><strong><?php echo $var->post_title; ?></strong></p>
<p>
<input name="sp_metrics[<?php echo $var->post_name; ?>]" type="text" value="<?php echo sportspress_array_value( $details, $var->post_name, ''); ?>">
</p>
<?php
endforeach;
sportspress_nonce();
}