Add Player Metric (sp_metric) post type and behaviour
This commit is contained in:
@@ -94,7 +94,7 @@ function sportspress_event_players_meta( $post ) {
|
||||
$stats = (array)get_post_meta( $post->ID, 'sp_players', true );
|
||||
|
||||
// Get columns from result variables
|
||||
$columns = sportspress_get_var_labels( 'sp_statistic', true );
|
||||
$columns = sportspress_get_var_labels( 'sp_statistic' );
|
||||
|
||||
foreach ( $teams as $key => $team_id ):
|
||||
if ( ! $team_id ) continue;
|
||||
|
||||
97
admin/post-types/metric.php
Normal file
97
admin/post-types/metric.php
Normal file
@@ -0,0 +1,97 @@
|
||||
<?php
|
||||
function sportspress_metric_post_init() {
|
||||
$name = __( 'Player Metrics', 'sportspress' );
|
||||
$singular_name = __( 'Player Metric', 'sportspress' );
|
||||
$lowercase_name = __( 'player metrics', 'sportspress' );
|
||||
$labels = sportspress_get_post_labels( $name, $singular_name, $lowercase_name, true );
|
||||
$args = array(
|
||||
'label' => $name,
|
||||
'labels' => $labels,
|
||||
'public' => false,
|
||||
'show_ui' => true,
|
||||
'show_in_menu' => false,
|
||||
'hierarchical' => false,
|
||||
'supports' => array( 'title', 'page-attributes' ),
|
||||
'register_meta_box_cb' => 'sportspress_metric_meta_init',
|
||||
'capability_type' => 'sp_config'
|
||||
);
|
||||
register_post_type( 'sp_metric', $args );
|
||||
}
|
||||
add_action( 'init', 'sportspress_metric_post_init' );
|
||||
|
||||
function sportspress_metric_edit_columns() {
|
||||
$columns = array(
|
||||
'cb' => '<input type="checkbox" />',
|
||||
'title' => __( 'Label', 'sportspress' ),
|
||||
'sp_key' => __( 'Key', 'sportspress' ),
|
||||
'sp_format' => __( 'Format', 'sportspress' ),
|
||||
'sp_equation' => __( 'Equation', 'sportspress' ),
|
||||
'sp_order' => __( 'Sort Order', 'sportspress' ),
|
||||
);
|
||||
return $columns;
|
||||
}
|
||||
add_filter( 'manage_edit-sp_metric_columns', 'sportspress_metric_edit_columns' );
|
||||
|
||||
function sportspress_metric_meta_init() {
|
||||
add_meta_box( 'sp_equationdiv', __( 'Details', 'sportspress' ), 'sportspress_metric_equation_meta', 'sp_metric', 'normal', 'high' );
|
||||
}
|
||||
|
||||
function sportspress_metric_equation_meta( $post ) {
|
||||
$formats = sportspress_get_config_formats();
|
||||
|
||||
$equation = explode( ' ', get_post_meta( $post->ID, 'sp_equation', true ) );
|
||||
$order = get_post_meta( $post->ID, 'sp_order', true );
|
||||
$priority = get_post_meta( $post->ID, 'sp_priority', true );
|
||||
$precision = get_post_meta( $post->ID, 'sp_precision', true );
|
||||
|
||||
// Defaults
|
||||
if ( $precision == '' ) $precision = 1;
|
||||
?>
|
||||
<p><strong><?php _e( 'Key', 'sportspress' ); ?></strong></p>
|
||||
<p>
|
||||
<input name="sp_key" type="text" id="sp_key" value="<?php echo $post->post_name; ?>">
|
||||
</p>
|
||||
<p><strong><?php _e( 'Format', 'sportspress' ); ?></strong></p>
|
||||
<p class="sp-format-selector">
|
||||
<select name="sp_format">
|
||||
<?php
|
||||
foreach ( $formats as $key => $value ):
|
||||
printf( '<option value="%s" %s>%s</option>', $key, selected( true, $key == $priority, false ), $value );
|
||||
endforeach;
|
||||
?>
|
||||
</select>
|
||||
</p>
|
||||
<p><strong><?php _e( 'Precision', 'sportspress' ); ?></strong></p>
|
||||
<p class="sp-precision-selector">
|
||||
<input name="sp_precision" type="text" size="4" id="sp_precision" value="<?php echo $precision; ?>" placeholder="1">
|
||||
</p>
|
||||
<p><strong><?php _e( 'Equation', 'sportspress' ); ?></strong></p>
|
||||
<p class="sp-equation-selector">
|
||||
<?php
|
||||
foreach ( $equation as $piece ):
|
||||
sportspress_get_equation_selector( $post->ID, $piece, array( 'player_event' ) );
|
||||
endforeach;
|
||||
?>
|
||||
</p>
|
||||
<p><strong><?php _e( 'Sort Order', 'sportspress' ); ?></strong></p>
|
||||
<p class="sp-order-selector">
|
||||
<select name="sp_priority">
|
||||
<?php
|
||||
$options = array( '0' => __( 'Disable', 'sportspress' ), '1' => '1', '2' => '2', '3' => '3', '4' => '4', '5' => '5', '6' => '6', '7' => '7', '8' => '8', '9' => '9', '10' => '10', );
|
||||
foreach ( $options as $key => $value ):
|
||||
printf( '<option value="%s" %s>%s</option>', $key, selected( true, $key == $priority, false ), $value );
|
||||
endforeach;
|
||||
?>
|
||||
</select>
|
||||
<select name="sp_order"<?php if ( ! $priority ): ?> disabled="disabled;"<?php endif; ?>>
|
||||
<?php
|
||||
$options = array( 'DESC' => __( 'Descending', 'sportspress' ), 'ASC' => __( 'Ascending', 'sportspress' ) );
|
||||
foreach ( $options as $key => $value ):
|
||||
printf( '<option value="%s" %s>%s</option>', $key, selected( true, $key == $order, false ), $value );
|
||||
endforeach;
|
||||
?>
|
||||
</select>
|
||||
</p>
|
||||
<?php
|
||||
sportspress_nonce();
|
||||
}
|
||||
@@ -42,10 +42,10 @@ function sportspress_player_meta_init( $post ) {
|
||||
add_meta_box( 'sp_teamdiv', __( 'Teams', 'sportspress' ), 'sportspress_player_team_meta', 'sp_player', 'side', 'high' );
|
||||
|
||||
if ( $teams && $teams != array(0) && $seasons && is_array( $seasons ) && is_object( $seasons[0] ) ):
|
||||
add_meta_box( 'sp_statsdiv', __( 'Statistics', 'sportspress' ), 'sportspress_player_stats_meta', 'sp_player', 'normal', 'high' );
|
||||
add_meta_box( 'sp_statsdiv', __( 'Player Statistics', 'sportspress' ), 'sportspress_player_stats_meta', 'sp_player', 'normal', 'high' );
|
||||
endif;
|
||||
|
||||
add_meta_box( 'sp_detailsdiv', __( 'Details', 'sportspress' ), 'sportspress_player_details_meta', 'sp_player', 'normal', 'high' );
|
||||
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' );
|
||||
|
||||
}
|
||||
@@ -189,10 +189,10 @@ function sportspress_player_profile_meta( $post ) {
|
||||
wp_editor( $post->post_content, 'content' );
|
||||
}
|
||||
|
||||
function sportspress_player_details_meta( $post ) {
|
||||
function sportspress_player_metrics_meta( $post ) {
|
||||
|
||||
$number = get_post_meta( $post->ID, 'sp_number', true );
|
||||
$details = get_post_meta( $post->ID, 'sp_details', true );
|
||||
$details = get_post_meta( $post->ID, 'sp_metrics', true );
|
||||
|
||||
?>
|
||||
<p><strong><?php _e( 'Player Number', 'sportspress' ); ?></strong></p>
|
||||
@@ -202,17 +202,11 @@ function sportspress_player_details_meta( $post ) {
|
||||
<?php
|
||||
|
||||
$args = array(
|
||||
'post_type' => 'sp_statistic',
|
||||
'post_type' => 'sp_metric',
|
||||
'numberposts' => -1,
|
||||
'posts_per_page' => -1,
|
||||
'orderby' => 'menu_order',
|
||||
'order' => 'ASC',
|
||||
'meta_query' => array(
|
||||
array(
|
||||
'key' => 'sp_format',
|
||||
'value' => 'custom',
|
||||
),
|
||||
),
|
||||
);
|
||||
|
||||
$vars = get_posts( $args );
|
||||
@@ -222,7 +216,7 @@ function sportspress_player_details_meta( $post ) {
|
||||
?>
|
||||
<p><strong><?php echo $var->post_title; ?></strong></p>
|
||||
<p>
|
||||
<input name="sp_details[<?php echo $var->post_name; ?>]" type="text" value="<?php echo sportspress_array_value( $details, $var->post_name, ''); ?>">
|
||||
<input name="sp_metrics[<?php echo $var->post_name; ?>]" type="text" value="<?php echo sportspress_array_value( $details, $var->post_name, ''); ?>">
|
||||
</p>
|
||||
<?php
|
||||
endforeach;
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
<?php
|
||||
function sportspress_statistic_post_init() {
|
||||
$name = __( 'Statistics', 'sportspress' );
|
||||
$singular_name = __( 'Statistic', 'sportspress' );
|
||||
$lowercase_name = __( 'statistics', 'sportspress' );
|
||||
$name = __( 'Player Statistics', 'sportspress' );
|
||||
$singular_name = __( 'Player Statistic', 'sportspress' );
|
||||
$lowercase_name = __( 'player statistics', 'sportspress' );
|
||||
$labels = sportspress_get_post_labels( $name, $singular_name, $lowercase_name, true );
|
||||
$args = array(
|
||||
'label' => $name,
|
||||
|
||||
Reference in New Issue
Block a user