diff --git a/admin/hooks/manage-posts-columns.php b/admin/hooks/manage-posts-columns.php index a591c45f..66bdd8e4 100644 --- a/admin/hooks/manage-posts-columns.php +++ b/admin/hooks/manage-posts-columns.php @@ -67,7 +67,7 @@ function sportspress_manage_posts_custom_column( $column, $post_id ) { endif; if ( $team_result != null ): - echo '' . $team_result . ' '; + echo '' . $team_result . ' '; endif; echo $team->post_title; diff --git a/admin/hooks/save-post.php b/admin/hooks/save-post.php index eb473994..6b3c5cd6 100644 --- a/admin/hooks/save-post.php +++ b/admin/hooks/save-post.php @@ -49,9 +49,15 @@ function sportspress_save_post( $post_id ) { // Update venue taxonomy wp_set_post_terms( $post_id, sportspress_array_value( $_POST, 'sp_venue', 0 ), 'sp_venue' ); + // Update video + update_post_meta( $post_id, 'sp_video', sportspress_array_value( $_POST, 'sp_video', null ) ); + break; case ( 'sp_calendar' ): + + // Update columns array + update_post_meta( $post_id, 'sp_columns', sportspress_array_value( $_POST, 'sp_columns', array() ) ); // Update format update_post_meta( $post_id, 'sp_format', sportspress_array_value( $_POST, 'sp_format', 'calendar' ) ); @@ -171,7 +177,7 @@ function sportspress_save_post( $post_id ) { case ( 'sp_list' ): // Update statistics array - update_post_meta( $post_id, 'sp_statistics', sportspress_array_value( $_POST, 'sp_statistics', array() ) ); + update_post_meta( $post_id, 'sp_columns', sportspress_array_value( $_POST, 'sp_columns', array() ) ); // Update players array update_post_meta( $post_id, 'sp_players', sportspress_array_value( $_POST, 'sp_players', array() ) ); diff --git a/admin/hooks/the-content.php b/admin/hooks/the-content.php index 4cae20cf..bba6ade7 100644 --- a/admin/hooks/the-content.php +++ b/admin/hooks/the-content.php @@ -13,16 +13,42 @@ function sportspress_default_event_content( $content ) { $results = sportspress_event_results(); $players = sportspress_event_players(); $staff = sportspress_event_staff(); + $id = get_the_ID(); + $video_url = get_post_meta( $id, 'sp_video', true ); + if ( $video_url ): + global $wp_embed; + $video = $wp_embed->autoembed( $video_url ); + else: + $video = ''; + endif; if ( $results ): - $content = $results . $details . $players . $staff . $content; + $content = $video . $results . $details . $players . $staff . $content; else: $venue = sportspress_event_venue(); - $content = $details . $venue . $players . $staff . $content; + $content = $video . $details . $venue . $players . $staff . $content; endif; endif; return $content; } -add_filter( 'the_content', 'sportspress_default_event_content' ); +add_filter( 'the_content', 'sportspress_default_event_content', 7 ); + +function sportspress_default_calendar_content( $content ) { + if ( is_singular( 'sp_calendar' ) && in_the_loop() ): + $id = get_the_ID(); + $format = get_post_meta( $id, 'sp_format', true ); + switch ( $format ): + case 'list': + $calendar = sportspress_events_list( $id ); + break; + default: + $calendar = sportspress_events_calendar( $id, true, false ); + break; + endswitch; + $content = $calendar . $content; + endif; + return $content; +} +add_filter( 'the_content', 'sportspress_default_calendar_content' ); function sportspress_default_team_content( $content ) { if ( is_singular( 'sp_team' ) && in_the_loop() ): diff --git a/admin/post-types/calendar.php b/admin/post-types/calendar.php index 407a5676..1d207158 100644 --- a/admin/post-types/calendar.php +++ b/admin/post-types/calendar.php @@ -143,9 +143,9 @@ function sportspress_calendar_details_meta( $post, $test ) { function sportspress_calendar_events_meta( $post ) { - $data = sportspress_get_calendar_data( $post->ID ); + list( $data, $usecolumns ) = sportspress_get_calendar_data( $post->ID, true ); - sportspress_edit_calendar_table( $data ); + sportspress_edit_calendar_table( $data, $usecolumns ); sportspress_nonce(); diff --git a/admin/post-types/event.php b/admin/post-types/event.php index 39435087..c81873fb 100644 --- a/admin/post-types/event.php +++ b/admin/post-types/event.php @@ -67,6 +67,7 @@ function sportspress_event_meta_init( $post ) { add_meta_box( 'sp_formatdiv', __( 'Format', 'sportspress' ), 'sportspress_event_format_meta', 'sp_event', 'side', 'high' ); add_meta_box( 'sp_detailsdiv', __( 'Details', 'sportspress' ), 'sportspress_event_details_meta', 'sp_event', 'side', 'high' ); add_meta_box( 'sp_teamdiv', __( 'Teams', 'sportspress' ), 'sportspress_event_team_meta', 'sp_event', 'side', 'default' ); + add_meta_box( 'sp_videodiv', __( 'Video', 'sportspress' ), 'sportspress_event_video_meta', 'sp_event', 'side', 'low' ); if ( sizeof( $teams ) > 0 ) add_meta_box( 'sp_resultsdiv', __( 'Results', 'sportspress' ), 'sportspress_event_results_meta', 'sp_event', 'normal', 'high' ); @@ -193,6 +194,26 @@ function sportspress_event_team_meta( $post ) { sportspress_nonce(); } +function sportspress_event_video_meta( $post ) { + $video = get_post_meta( $post->ID, 'sp_video', true ); + if ( $video ): + ?> +
+ + + + ID, 'sp_team', false ); $stats = (array)get_post_meta( $post->ID, 'sp_players', true ); diff --git a/admin/templates/events-calendar.php b/admin/templates/events-calendar.php index 89dea273..466764d0 100644 --- a/admin/templates/events-calendar.php +++ b/admin/templates/events-calendar.php @@ -1,6 +1,6 @@ -| ' . __( 'Date', 'sportspress' ). ' | '; + + if ( in_array( 'event', $usecolumns ) ) + $output .= '' . __( 'Event', 'sportspress' ). ' | '; + + if ( in_array( 'teams', $usecolumns ) ) + $output .= '' . __( 'Teams', 'sportspress' ). ' | '; + + if ( in_array( 'time', $usecolumns ) ) + $output .= '' . __( 'Time', 'sportspress' ). ' | '; + + if ( in_array( 'article', $usecolumns ) ) + $output .= '' . __( 'Article', 'sportspress' ). ' | '; + + $output .= '
|---|---|---|---|---|
| ' . get_post_time( get_option( 'date_format' ), false, $event ) . ' | '; + + if ( in_array( 'event', $usecolumns ) ) + $output .= '' . $event->post_title . ' | '; + + if ( in_array( 'teams', $usecolumns ) ): + $output .= '';
+
+ $teams = get_post_meta( $event->ID, 'sp_team', false );
+ if ( $teams ):
+ foreach ( $teams as $team ):
+ $name = get_the_title( $team );
+ if ( $name ):
+ $team_results = sportspress_array_value( $results, $team, null );
+
+ if ( $main_result ):
+ $team_result = sportspress_array_value( $team_results, $main_result, null );
+ else:
+ if ( is_array( $team_results ) ):
+ end( $team_results );
+ $team_result = prev( $team_results );
+ else:
+ $team_result = null;
+ endif;
+ endif;
+
+ $output .= $name;
+
+ if ( $team_result != null ):
+ $output .= ' (' . $team_result . ')';
+ endif;
+
+ $output .= ' '; + endif; + endforeach; + else: + $output .= '—'; + endif; + + $output .= ' | ';
+ endif;
+
+ if ( in_array( 'time', $usecolumns ) )
+ $output .= '' . get_post_time( get_option( 'time_format' ), false, $event ) . ' | '; + + if ( in_array( 'article', $usecolumns ) ): + $output .= '+ '; + + if ( $video ): + $output .= ''; + elseif ( has_post_thumbnail( $event->ID ) ): + $output .= ''; + endif; + if ( $event->post_content !== null ): + if ( $event->post_status == 'publish' ): + $output .= __( 'Recap', 'sportspress' ); + else: + $output .= __( 'Preview', 'sportspress' ); + endif; + endif; + + $output .= ' + | '; + endif; + + $output .= '
| - | - | - | + | + + | ++ + | ++ + | ++ + | ++ + | |
|---|---|---|---|---|---|---|---|---|---|
| post_title; ?> | +
+ ' . $team_result . ' ';
+ endif;
+
+ echo $name . ' '; + endif; + endforeach; + ?> + |
@@ -832,7 +888,7 @@ if ( !function_exists( 'sportspress_edit_league_table' ) ) { | $label ): ?> | @@ -902,8 +958,8 @@ if ( !function_exists( 'sportspress_edit_player_list_table' ) ) { | # | $label ): ?> - |