From 36a8e038b381992a42ffba2d06e8c53bc4fdd039 Mon Sep 17 00:00:00 2001 From: Brian Miyaji Date: Sat, 11 Jan 2014 17:05:29 +1100 Subject: [PATCH] Add season and venue dropdowns to event edit page --- admin/hooks/admin-menu.php | 11 +++-------- admin/hooks/save-post.php | 6 ++++++ admin/post-types/event.php | 36 ++++++++++++++++++++++++++++++++++++ admin/terms/season.php | 4 +--- 4 files changed, 46 insertions(+), 11 deletions(-) diff --git a/admin/hooks/admin-menu.php b/admin/hooks/admin-menu.php index 7876525a..140b9ce3 100644 --- a/admin/hooks/admin-menu.php +++ b/admin/hooks/admin-menu.php @@ -24,16 +24,11 @@ function sportspress_admin_menu( $position ) { $menu[ $position ] = array( '', 'read', 'separator-sportspress', '', 'wp-menu-separator sportspress' ); endif; - // Remove "Add Configuration" link under SportsPress - unset( $submenu['edit.php?post_type=sp_config'][10] ); - - // Remove "Seasons" link under Events - unset( $submenu['edit.php?post_type=sp_event'][15] ); - - // Remove "Seasons" link under Players + // Remove "Seasons" link from Players submenu unset( $submenu['edit.php?post_type=sp_player'][15] ); - // Remove "Seasons" link under Staff + // Remove "Seasons" link from Staff submenu unset( $submenu['edit.php?post_type=sp_staff'][15] ); + } add_action( 'admin_menu', 'sportspress_admin_menu' ); \ No newline at end of file diff --git a/admin/hooks/save-post.php b/admin/hooks/save-post.php index a77aadef..c0bdbab5 100644 --- a/admin/hooks/save-post.php +++ b/admin/hooks/save-post.php @@ -32,6 +32,12 @@ function sportspress_save_post( $post_id ) { // Update staff array sportspress_update_post_meta_recursive( $post_id, 'sp_staff', sportspress_array_value( $_POST, 'sp_staff', array() ) ); + // Update season taxonomy + wp_set_post_terms( $post_id, sportspress_array_value( $_POST, 'sp_season', 0 ), 'sp_season' ); + + // Update venue taxonomy + wp_set_post_terms( $post_id, sportspress_array_value( $_POST, 'sp_venue', 0 ), 'sp_venue' ); + break; case ( 'sp_column' ): diff --git a/admin/post-types/event.php b/admin/post-types/event.php index 794a4021..e510a347 100644 --- a/admin/post-types/event.php +++ b/admin/post-types/event.php @@ -32,7 +32,10 @@ function sportspress_event_meta_init( $post ) { $teams = (array)get_post_meta( $post->ID, 'sp_team', false ); remove_meta_box( 'submitdiv', 'sp_event', 'side' ); + remove_meta_box( 'sp_venuediv', 'sp_event', 'side' ); + add_meta_box( 'submitdiv', __( 'Event', 'sportspress' ), 'post_submit_meta_box', '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', 'high' ); if ( sizeof( $teams ) > 0 ): add_meta_box( 'sp_playersdiv', __( 'Players', 'sportspress' ), 'sportspress_event_players_meta', 'sp_event', 'normal', 'high' ); @@ -41,6 +44,39 @@ function sportspress_event_meta_init( $post ) { add_meta_box( 'sp_articlediv', __( 'Article', 'sportspress' ), 'sportspress_event_article_meta', 'sp_event', 'normal', 'high' ); } +function sportspress_event_details_meta( $post ) { + $season_id = sportspress_get_the_term_id( $post->ID, 'sp_season', 0 ); + $venue_id = sportspress_get_the_term_id( $post->ID, 'sp_venue', 0 ); + ?> +
+

+

+ 'sp_season', + 'name' => 'sp_season', + 'selected' => $season_id, + 'value' => 'term_id', + ); + sportspress_dropdown_taxonomies( $args ); + ?> +

+

+

+ 'sp_venue', + 'name' => 'sp_venue', + 'selected' => $venue_id, + 'value' => 'term_id', + ); + sportspress_dropdown_taxonomies( $args ); + ?> +

+
+ ID, 'sp_team', false ); $players = (array)get_post_meta( $post->ID, 'sp_player', false ); diff --git a/admin/terms/season.php b/admin/terms/season.php index c4a33cb3..868b541f 100644 --- a/admin/terms/season.php +++ b/admin/terms/season.php @@ -3,7 +3,7 @@ function sportspress_season_term_init() { $name = __( 'Seasons', 'sportspress' ); $singular_name = __( 'Season', 'sportspress' ); $lowercase_name = __( 'season', 'sportspress' ); - $object_type = array( 'sp_event', 'sp_calendar', 'sp_team', 'sp_table', 'sp_player', 'sp_list', 'sp_staff' ); + $object_type = array( 'sp_calendar', 'sp_team', 'sp_player', 'sp_staff' ); $labels = sportspress_get_term_labels( $name, $singular_name, $lowercase_name ); $args = array( 'label' => $name, @@ -13,11 +13,9 @@ function sportspress_season_term_init() { 'rewrite' => array( 'slug' => 'season' ) ); register_taxonomy( 'sp_season', $object_type, $args ); - register_taxonomy_for_object_type( 'sp_season', 'sp_event' ); register_taxonomy_for_object_type( 'sp_season', 'sp_calendar' ); register_taxonomy_for_object_type( 'sp_season', 'sp_team' ); register_taxonomy_for_object_type( 'sp_season', 'sp_player' ); - register_taxonomy_for_object_type( 'sp_season', 'sp_list' ); register_taxonomy_for_object_type( 'sp_season', 'sp_staff' ); } add_action( 'init', 'sportspress_season_term_init' );