esc_attr__( 'Order', 'sportspress' ), 'desc' => esc_attr__( 'Show away team first', 'tonys-sportspress-enhancements' ), 'id' => 'tony_sportspress_event_results_away_first', 'default' => 'yes', 'type' => 'checkbox', ); return $options; } add_filter( 'sportspress_result_options', 'tony_sportspress_add_event_results_order_option' ); /** * Override SportsPress event templates with plugin versions. * * @param string $template Located template path. * @param string $template_name Template filename. * @param string $template_path Template base path. * @return string */ function tony_sportspress_locate_event_list_template( $template, $template_name, $template_path ) { $supported = array( 'event-list.php', 'event-results.php', ); if ( ! in_array( $template_name, $supported, true ) ) { return $template; } $override = dirname( __DIR__ ) . '/templates/' . $template_name; if ( file_exists( $override ) ) { return $override; } return $template; } add_filter( 'sportspress_locate_template', 'tony_sportspress_locate_event_list_template', 10, 3 ); /** * Add admin styles for explicit Home/Away labels on event edit screens. */ function tony_sportspress_event_team_order_admin_styles() { $screen = get_current_screen(); if ( ! $screen || 'sp_event' !== $screen->post_type ) { return; } ?> post_type ) { return; } $slot_labels = array( __( 'Home Team', 'tonys-sportspress-enhancements' ), __( 'Away Team', 'tonys-sportspress-enhancements' ), ); $show_away_first = tony_sportspress_reverse_teams_enabled(); ?> $team_id ) { if ( array_key_exists( $team_id, $main_results ) ) { $ordered[ $team_id ] = $main_results[ $team_id ]; continue; } // SportsPress main_results() can be positional (0,1,...) in team order. if ( array_key_exists( $index, $main_results ) ) { $ordered[ $team_id ] = $main_results[ $index ]; } } if ( empty( $ordered ) ) { return $main_results; } foreach ( $main_results as $team_id => $result ) { if ( array_key_exists( $team_id, $ordered ) ) { continue; } // Skip positional keys that have already been remapped to team IDs. if ( is_int( $team_id ) || ctype_digit( (string) $team_id ) ) { $position = (int) $team_id; if ( array_key_exists( $position, $teams ) ) { continue; } } $ordered[ $team_id ] = $result; } return $ordered; } add_filter( 'sportspress_event_list_main_results', 'tony_sportspress_event_list_score_order', 999, 2 );