Add season and venue dropdowns to event edit page

This commit is contained in:
Brian Miyaji
2014-01-11 17:05:29 +11:00
parent 81a43185b8
commit 36a8e038b3
4 changed files with 46 additions and 11 deletions

View File

@@ -24,16 +24,11 @@ function sportspress_admin_menu( $position ) {
$menu[ $position ] = array( '', 'read', 'separator-sportspress', '', 'wp-menu-separator sportspress' ); $menu[ $position ] = array( '', 'read', 'separator-sportspress', '', 'wp-menu-separator sportspress' );
endif; endif;
// Remove "Add Configuration" link under SportsPress // Remove "Seasons" link from Players submenu
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
unset( $submenu['edit.php?post_type=sp_player'][15] ); 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] ); unset( $submenu['edit.php?post_type=sp_staff'][15] );
} }
add_action( 'admin_menu', 'sportspress_admin_menu' ); add_action( 'admin_menu', 'sportspress_admin_menu' );

View File

@@ -32,6 +32,12 @@ function sportspress_save_post( $post_id ) {
// Update staff array // Update staff array
sportspress_update_post_meta_recursive( $post_id, 'sp_staff', sportspress_array_value( $_POST, 'sp_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; break;
case ( 'sp_column' ): case ( 'sp_column' ):

View File

@@ -32,7 +32,10 @@ function sportspress_event_meta_init( $post ) {
$teams = (array)get_post_meta( $post->ID, 'sp_team', false ); $teams = (array)get_post_meta( $post->ID, 'sp_team', false );
remove_meta_box( 'submitdiv', 'sp_event', 'side' ); 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( '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' ); add_meta_box( 'sp_teamdiv', __( 'Teams', 'sportspress' ), 'sportspress_event_team_meta', 'sp_event', 'side', 'high' );
if ( sizeof( $teams ) > 0 ): if ( sizeof( $teams ) > 0 ):
add_meta_box( 'sp_playersdiv', __( 'Players', 'sportspress' ), 'sportspress_event_players_meta', 'sp_event', 'normal', 'high' ); 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' ); 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 );
?>
<div>
<p><strong><?php _e( 'Season', 'sportspress' ); ?></strong></p>
<p class="sp-tab-select" data-sp-target="sp_teamdiv">
<?php
$args = array(
'taxonomy' => 'sp_season',
'name' => 'sp_season',
'selected' => $season_id,
'value' => 'term_id',
);
sportspress_dropdown_taxonomies( $args );
?>
</p>
<p><strong><?php _e( 'Venue', 'sportspress' ); ?></strong></p>
<p>
<?php
$args = array(
'taxonomy' => 'sp_venue',
'name' => 'sp_venue',
'selected' => $venue_id,
'value' => 'term_id',
);
sportspress_dropdown_taxonomies( $args );
?>
</p>
</div>
<?php
}
function sportspress_event_team_meta( $post ) { function sportspress_event_team_meta( $post ) {
$teams = (array)get_post_meta( $post->ID, 'sp_team', false ); $teams = (array)get_post_meta( $post->ID, 'sp_team', false );
$players = (array)get_post_meta( $post->ID, 'sp_player', false ); $players = (array)get_post_meta( $post->ID, 'sp_player', false );

View File

@@ -3,7 +3,7 @@ function sportspress_season_term_init() {
$name = __( 'Seasons', 'sportspress' ); $name = __( 'Seasons', 'sportspress' );
$singular_name = __( 'Season', 'sportspress' ); $singular_name = __( 'Season', 'sportspress' );
$lowercase_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 ); $labels = sportspress_get_term_labels( $name, $singular_name, $lowercase_name );
$args = array( $args = array(
'label' => $name, 'label' => $name,
@@ -13,11 +13,9 @@ function sportspress_season_term_init() {
'rewrite' => array( 'slug' => 'season' ) 'rewrite' => array( 'slug' => 'season' )
); );
register_taxonomy( 'sp_season', $object_type, $args ); 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_calendar' );
register_taxonomy_for_object_type( 'sp_season', 'sp_team' ); 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_player' );
register_taxonomy_for_object_type( 'sp_season', 'sp_list' );
register_taxonomy_for_object_type( 'sp_season', 'sp_staff' ); register_taxonomy_for_object_type( 'sp_season', 'sp_staff' );
} }
add_action( 'init', 'sportspress_season_term_init' ); add_action( 'init', 'sportspress_season_term_init' );