diff --git a/assets/css/sportspress.css b/assets/css/sportspress.css index 7c9d7176..df4528bb 100644 --- a/assets/css/sportspress.css +++ b/assets/css/sportspress.css @@ -333,6 +333,29 @@ clear: both; } +/* Event Logos Block */ +.sp-template-event-logos-block .team-logo { + float: none; + max-width: none; + width: 100%; + height: auto; +} + +.sp-template-event-logos-block .team-logo img { + vertical-align: middle; +} + +.sp-template-event-logos-block .sp-team-name { + display: block; + clear: both; + vertical-align: middle; + font-size: 28px; +} + +.sp-template-event-logos-block .sp-event-results { + font-size: 36px; +} + /* Countdowns */ .sp-template-countdown .event-name { clear: both; @@ -456,4 +479,38 @@ .sp-template-photo + .sp-post-content { clear: none; } + + .sp-template-event-logos-block .team-logo { + width: 33%; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; + } + + .sp-template-event-logos-block .team-logo img { + height: 100px; + } + + .sp-template-event-logos-block .logo-odd { + text-align: left; + float: left; + } + + .sp-template-event-logos-block .logo-even { + text-align: right; + float: right; + } + + .sp-template-event-logos-block .logo-odd img { + margin-right: 10px; + } + + .sp-template-event-logos-block .logo-even img { + margin-left: 10px; + } + + .sp-template-event-logos-block .sp-team-name { + display: inline; + clear: none; + } } diff --git a/includes/admin/settings/class-sp-settings-events.php b/includes/admin/settings/class-sp-settings-events.php index 41d582ba..8ce22c3f 100644 --- a/includes/admin/settings/class-sp-settings-events.php +++ b/includes/admin/settings/class-sp-settings-events.php @@ -217,6 +217,17 @@ class SP_Settings_Events extends SP_Settings_Page { ), apply_filters( 'sportspress_event_logo_options', array( + array( + 'title' => __( 'Layout', 'sportspress' ), + 'id' => 'sportspress_event_logos_format', + 'default' => 'inline', + 'type' => 'radio', + 'options' => array( + 'inline' => __( 'Inline', 'sportspress' ), + 'block' => __( 'Block', 'sportspress' ), + ), + ), + array( 'title' => __( 'Display', 'sportspress' ), 'desc' => __( 'Name', 'sportspress' ), diff --git a/templates/event-logos-block.php b/templates/event-logos-block.php new file mode 100644 index 00000000..ea1f5ffc --- /dev/null +++ b/templates/event-logos-block.php @@ -0,0 +1,71 @@ + +
+
+ + + + + + + +
+ ' . sp_get_team_name( $team, $abbreviate_teams ) . ''; + } else { + $logo = '' . sp_get_team_name( $team, $abbreviate_teams ) . ' ' . $logo; + } + } + + if ( $link_teams ): + $logo = ''; + else: + $logo = ''; + endif; + + echo $logo; + endforeach; + ?> + + +
+ ' . apply_filters( 'sportspress_event_blocks_team_result_or_time', sp_get_time( $id ), $id ) . ''; ?> +
+ +
+ ' . implode( ' - ', apply_filters( 'sportspress_event_blocks_team_result_or_time', $results, $id ) ) . ''; ?> +
+ +
+
+
\ No newline at end of file diff --git a/templates/event-logos-inline.php b/templates/event-logos-inline.php new file mode 100644 index 00000000..2e09eba0 --- /dev/null +++ b/templates/event-logos-inline.php @@ -0,0 +1,63 @@ +' . sp_get_team_name( $team, $abbreviate_teams ) . ''; + } else { + $logo = '' . sp_get_team_name( $team, $abbreviate_teams ) . ' ' . $logo; + } + } + + // Add link + if ( $link_teams ) $logo = '' . $logo . ''; + + // Add result + if ( $show_results && ! empty( $results ) ) { + $team_result = array_shift( $results ); + $team_result = apply_filters( 'sportspress_event_logos_team_result', $team_result, $id, $team ); + if ( $alt ) { + $logo = '' . $team_result . ' ' . $logo; + } else { + $logo .= ' ' . $team_result . ''; + } + } + + // Add logo to array + if ( '' !== $logo ) { + $team_logos[] = ''; + $i++; + } +endforeach; +$team_logos = array_filter( $team_logos ); +if ( ! empty( $team_logos ) ): + echo '
'; + + // Assign delimiter + if ( $show_time && sizeof( $teams ) <= 2 ) { + $delimiter = '' . get_the_time( get_option('time_format'), $id ) . ''; + } else { + $delimiter = get_option( 'sportspress_event_teams_delimiter', 'vs' ); + } + + echo implode( ' ' . $delimiter . ' ', $team_logos ); + echo '
'; +endif; \ No newline at end of file diff --git a/templates/event-logos.php b/templates/event-logos.php index cb25459d..1946343e 100644 --- a/templates/event-logos.php +++ b/templates/event-logos.php @@ -10,13 +10,21 @@ if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly if ( get_option( 'sportspress_event_show_logos', 'yes' ) === 'no' ) return; +if ( ! isset( $id ) ) + $id = get_the_ID(); + +$teams = get_post_meta( $id, 'sp_team' ); +$teams = array_filter( $teams, 'sp_filter_positive' ); + +if ( ! $teams ) return; + +$layout = get_option( 'sportspress_event_logos_format', 'inline' ); + $show_team_names = get_option( 'sportspress_event_logos_show_team_names', 'no' ) === 'yes' ? true : false; $show_time = get_option( 'sportspress_event_logos_show_time', 'no' ) === 'yes' ? true : false; $show_results = get_option( 'sportspress_event_logos_show_results', 'no' ) === 'yes' ? true : false; $abbreviate_teams = get_option( 'sportspress_abbreviate_teams', 'yes' ) === 'yes' ? true : false; - -if ( ! isset( $id ) ) - $id = get_the_ID(); +$link_teams = get_option( 'sportspress_link_teams', 'no' ) === 'yes' ? true : false; if ( $show_results ) { $results = sp_get_main_results( $id ); @@ -27,61 +35,13 @@ if ( $show_results ) { } } -$teams = get_post_meta( $id, 'sp_team' ); -$teams = array_filter( $teams, 'sp_filter_positive' ); -if ( $teams ): - $team_logos = array(); - $i = 0; - foreach ( $teams as $team ): - if ( ! has_post_thumbnail( $team ) ) { - $logo = ''; - } else { - $logo = get_the_post_thumbnail( $team, 'sportspress-fit-icon' ); - } - - $alt = sizeof( $teams ) == 2 && $i % 2; - - // Add team name - if ( $show_team_names ) { - if ( $alt ) { - $logo .= ' ' . sp_get_team_name( $team, $abbreviate_teams ) . ''; - } else { - $logo = '' . sp_get_team_name( $team, $abbreviate_teams ) . ' ' . $logo; - } - } - - // Add link - if ( get_option( 'sportspress_link_teams', 'no' ) == 'yes' ) $logo = '' . $logo . ''; - - // Add result - if ( $show_results && ! empty( $results ) ) { - $team_result = array_shift( $results ); - $team_result = apply_filters( 'sportspress_event_logos_team_result', $team_result, $id, $team ); - if ( $alt ) { - $logo = '' . $team_result . ' ' . $logo; - } else { - $logo .= ' ' . $team_result . ''; - } - } - - // Add logo to array - if ( '' !== $logo ) { - $team_logos[] = ''; - $i++; - } - endforeach; - $team_logos = array_filter( $team_logos ); - if ( ! empty( $team_logos ) ): - echo '
'; - - // Assign delimiter - if ( $show_time && sizeof( $teams ) <= 2 ) { - $delimiter = '' . get_the_time( get_option('time_format'), $id ) . ''; - } else { - $delimiter = get_option( 'sportspress_event_teams_delimiter', 'vs' ); - } - - echo implode( ' ' . $delimiter . ' ', $team_logos ); - echo '
'; - endif; -endif; \ No newline at end of file +sp_get_template( 'event-logos-' . $layout . '.php', array( + 'id' => $id, + 'teams' => $teams, + 'results' => $results, + 'show_team_names' => $show_team_names, + 'show_time' => $show_time, + 'show_results' => $show_results, + 'abbreviate_teams' => $abbreviate_teams, + 'link_teams' => $link_teams, +) ); \ No newline at end of file