diff --git a/event.php b/event.php index 196fb611..22e97fae 100644 --- a/event.php +++ b/event.php @@ -35,11 +35,12 @@ function sp_event_meta_init() { function sp_event_team_meta( $post, $metabox ) { global $post_id; $limit = get_option( 'sp_event_team_count' ); - for ( $i = 1; $i <= $limit; $i++ ): + for ( $i = 0; $i < $limit; $i++ ): + $selected = array_pad( array_slice( (array)get_post_meta( $post_id, 'sp_team', false ), 0, $limit ), $limit, 0); $args = array( 'post_type' => 'sp_team', - 'name' => 'sportspress[sp_team_' . $i . ']', - 'selected' => get_post_meta( $post_id, 'sp_team_' . $i, true ), + 'name' => 'sportspress[sp_team][]', + 'selected' => $selected[ $i ] ); wp_dropdown_pages( $args ); echo '
' . PHP_EOL; @@ -186,15 +187,7 @@ function sp_event_custom_columns( $column, $post_id ) { if ( $typenow == 'sp_event' ): switch ( $column ): case 'sp_team': - $limit = get_option( 'sp_event_team_count' ); - for ( $i = 1; $i <= $limit; $i++ ): - $team = get_post_meta( $post_id, 'sp_team_' . $i, true ); - $parents = get_post_ancestors( $team ); - foreach ( $parents as $parent ): - edit_post_link( get_the_title( $parent ), '', ' — ', $parent ); - endforeach; - edit_post_link( get_the_title( $team ), '', '
', $team ); - endfor; + sp_the_posts( $post_id, 'sp_team', '', '
' ); break; case 'sp_league': if ( get_the_terms ( $post_id, 'sp_league' ) ) diff --git a/helpers.php b/helpers.php index 7aebc6e7..1adf7ea8 100644 --- a/helpers.php +++ b/helpers.php @@ -113,7 +113,7 @@ if ( ! function_exists( 'sp_team_checklist' ) ) { function sp_team_checklist( $post_id = null ) { if ( ! isset( $post_id ) ) global $post_id; - $selected = get_post_meta( $post_id, 'sp_team', false ); + $selected = (array)get_post_meta( $post_id, 'sp_team', false ); $teams = get_pages( array( 'post_type' => 'sp_team') ); foreach ( $teams as $team ): $parents = get_post_ancestors( $team ); diff --git a/staff.php b/staff.php index 06ae8547..7cb34f65 100644 --- a/staff.php +++ b/staff.php @@ -47,8 +47,8 @@ function sp_staff_edit_columns( $columns ) { } add_filter( 'manage_edit-sp_staff_columns', 'sp_staff_edit_columns' ); -function sp_staff_custom_columns( $column ) { - global $post, $post_id, $typenow; +function sp_staff_custom_columns( $column, $post_id ) { + global $post, $typenow; if ( $typenow == 'sp_staff' ): switch ($column): case 'sp_position': @@ -58,7 +58,7 @@ function sp_staff_custom_columns( $column ) { echo '—'; break; case 'sp_team': - sp_unserialized_posts( $post_id, 'sp_teams', '', '
' ); + sp_the_posts( $post_id, 'sp_team', '', '
' ); break; case 'sp_league': if ( get_the_terms ( $post_id, 'sp_league' ) ) @@ -75,7 +75,7 @@ function sp_staff_custom_columns( $column ) { endswitch; endif; } -add_action( 'manage_posts_custom_column', 'sp_staff_custom_columns' ); +add_action( 'manage_posts_custom_column', 'sp_staff_custom_columns', 10, 2 ); function sp_staff_request_filter_dropdowns() { global $typenow, $wp_query;