diff --git a/includes/admin/settings/class-sp-settings-events.php b/includes/admin/settings/class-sp-settings-events.php index cc21b9ca..55a2334b 100644 --- a/includes/admin/settings/class-sp-settings-events.php +++ b/includes/admin/settings/class-sp-settings-events.php @@ -272,6 +272,31 @@ class SP_Settings_Events extends SP_Settings_Page { array( 'type' => 'sectionend', 'id' => 'event_logo_options' ), ), + array( + array( 'title' => __( 'Players', 'sportspress' ), 'type' => 'title', 'desc' => '', 'id' => 'eventplayer_options' ), + ), + + apply_filters( 'sportspress_eventplayer_options', array( + array( + 'title' => __( 'Player Sorting', 'sportspress' ), + 'id' => 'sportspress_event_player_sort', + 'default' => 'jersey', + 'type' => 'radio', + 'options' => array( + 'jersey'=> __( 'Jersey (e.g. "33. John Doe")', 'sportspress' ), + 'name' => __( 'Name (e.g. "John Doe (33)")', 'sportspress' ), + ), + 'desc_tip' => _x( 'When editing an event, this determines how the checklist of players are sorted in the Teams metabox. This does not affect the Box Score section.', 'event player sort setting description', 'sportspress' ), + + ), + + ) ), + + + array( + array( 'type' => 'sectionend', 'id' => 'eventplayer_options' ), + ), + array( array( 'title' => __( 'Event Results', 'sportspress' ), 'type' => 'title', 'desc' => '', 'id' => 'result_options' ), ), diff --git a/includes/sp-api-functions.php b/includes/sp-api-functions.php index 451ba1f5..4f9d2ce5 100644 --- a/includes/sp-api-functions.php +++ b/includes/sp-api-functions.php @@ -344,8 +344,12 @@ function sp_get_player_number( $post = 0 ) { return get_post_meta( $post, 'sp_number', true ); } +function sp_get_player_name( $post = 0 ) { + return apply_filters( 'sportspress_player_name', get_the_title( $post )); +} + function sp_get_player_name_with_number( $post = 0, $prepend = '', $append = '. ' ) { - $name = apply_filters( 'sportspress_player_name', get_the_title( $post )); + $name = sp_get_player_name( $post ); $number = sp_get_player_number( $post ); if ( isset( $number ) && '' !== $number ) { return apply_filters( 'sportspress_player_name_with_number', $prepend . $number . $append . $name); @@ -354,6 +358,16 @@ function sp_get_player_name_with_number( $post = 0, $prepend = '', $append = '. } } +function sp_get_player_name_then_number( $post = 0, $prepend = ' (', $append = ')' ) { + $name = sp_get_player_name( $post ); + $number = sp_get_player_number( $post ); + if ( isset( $number ) && '' !== $number ) { + return apply_filters( 'sportspress_player_name_then_number', $name . $prepend . $number . $append); + } else { + return $name; + } +} + function sp_player_details( $post = 0 ) { sp_get_template( 'player-details.php', array( 'id' => $post ) ); } diff --git a/modules/sportspress-lazy-loading.php b/modules/sportspress-lazy-loading.php index 37f0cb1d..e59b8638 100644 --- a/modules/sportspress-lazy-loading.php +++ b/modules/sportspress-lazy-loading.php @@ -137,11 +137,22 @@ class SportsPress_Lazy_Loading { 'orderby' => 'menu_order', ); - if ( 'sp_player' == $post_type ): - $args['meta_key'] = 'sp_number'; - $args['orderby'] = 'meta_value_num'; - $args['order'] = 'ASC'; - endif; + $player_sort = get_option( 'sportspress_event_player_sort', 'jersey' ); + + if ( 'sp_player' == $post_type ) + { + if( $player_sort == 'name' ) + { + $args['order'] = 'ASC'; + $args['orderby'] = 'title'; + } + else // default 'jersey' + { + $args['meta_key'] = 'sp_number'; + $args['orderby'] = 'meta_value_num'; + $args['order'] = 'ASC'; + } + } $args['meta_query'] = array( array( @@ -198,7 +209,16 @@ class SportsPress_Lazy_Loading {
  • ID ] ); ?> @@ -208,7 +228,16 @@ class SportsPress_Lazy_Loading {