Allow limit of 0 for unlimited teams per event

This commit is contained in:
Brian Miyaji
2015-09-21 00:21:53 +10:00
parent 5da135ede2
commit 6c1d580118
2 changed files with 72 additions and 53 deletions

View File

@@ -21,62 +21,81 @@ class SP_Meta_Box_Event_Teams {
public static function output( $post ) { public static function output( $post ) {
$limit = get_option( 'sportspress_event_teams', 2 ); $limit = get_option( 'sportspress_event_teams', 2 );
$teams = (array) get_post_meta( $post->ID, 'sp_team', false ); $teams = (array) get_post_meta( $post->ID, 'sp_team', false );
for ( $i = 0; $i < $limit; $i ++ ): if ( $limit ) {
$team = array_shift( $teams ); for ( $i = 0; $i < $limit; $i ++ ):
?> $team = array_shift( $teams );
<div class="sp-instance">
<p class="sp-tab-select sp-title-generator">
<?php
$args = array(
'post_type' => 'sp_team',
'name' => 'sp_team[]',
'class' => 'sportspress-pages',
'show_option_none' => __( '&mdash; None &mdash;', 'sportspress' ),
'values' => 'ID',
'selected' => $team,
'chosen' => true,
'tax_query' => array(),
);
if ( 'yes' == get_option( 'sportspress_event_filter_teams_by_league', 'no' ) ) {
$league_id = sp_get_the_term_id( $post->ID, 'sp_league', 0 );
if ( $league_id ) {
$args['tax_query'][] = array(
'taxonomy' => 'sp_league',
'terms' => $league_id,
);
}
}
if ( 'yes' == get_option( 'sportspress_event_filter_teams_by_season', 'no' ) ) {
$season_id = sp_get_the_term_id( $post->ID, 'sp_season', 0 );
if ( $season_id ) {
$args['tax_query'][] = array(
'taxonomy' => 'sp_season',
'terms' => $season_id,
);
}
}
if ( ! sp_dropdown_pages( $args ) ) {
unset( $args['tax_query'] );
sp_dropdown_pages( $args );
}
?> ?>
</p> <div class="sp-instance">
<?php $tabs = apply_filters( 'sportspress_event_team_tabs', array( 'sp_player', 'sp_staff' ) ); ?> <p class="sp-tab-select sp-title-generator">
<?php if ( $tabs ) { ?> <?php
<ul id="sp_team-tabs" class="wp-tab-bar sp-tab-bar"> $args = array(
<?php foreach ( $tabs as $index => $post_type ) { $object = get_post_type_object( $post_type ); ?> 'post_type' => 'sp_team',
<li class="wp-tab<?php if ( 0 == $index ) { ?>-active<?php } ?>"><a href="#<?php echo $post_type; ?>-all"><?php echo $object->labels->name; ?></a></li> 'name' => 'sp_team[]',
'class' => 'sportspress-pages',
'show_option_none' => __( '&mdash; None &mdash;', 'sportspress' ),
'values' => 'ID',
'selected' => $team,
'chosen' => true,
'tax_query' => array(),
);
if ( 'yes' == get_option( 'sportspress_event_filter_teams_by_league', 'no' ) ) {
$league_id = sp_get_the_term_id( $post->ID, 'sp_league', 0 );
if ( $league_id ) {
$args['tax_query'][] = array(
'taxonomy' => 'sp_league',
'terms' => $league_id,
);
}
}
if ( 'yes' == get_option( 'sportspress_event_filter_teams_by_season', 'no' ) ) {
$season_id = sp_get_the_term_id( $post->ID, 'sp_season', 0 );
if ( $season_id ) {
$args['tax_query'][] = array(
'taxonomy' => 'sp_season',
'terms' => $season_id,
);
}
}
if ( ! sp_dropdown_pages( $args ) ) {
unset( $args['tax_query'] );
sp_dropdown_pages( $args );
}
?>
</p>
<?php $tabs = apply_filters( 'sportspress_event_team_tabs', array( 'sp_player', 'sp_staff' ) ); ?>
<?php if ( $tabs ) { ?>
<ul id="sp_team-tabs" class="wp-tab-bar sp-tab-bar">
<?php foreach ( $tabs as $index => $post_type ) { $object = get_post_type_object( $post_type ); ?>
<li class="wp-tab<?php if ( 0 == $index ) { ?>-active<?php } ?>"><a href="#<?php echo $post_type; ?>-all"><?php echo $object->labels->name; ?></a></li>
<?php } ?>
</ul>
<?php
foreach ( $tabs as $index => $post_type ) {
sp_post_checklist( $post->ID, $post_type, ( 0 == $index ? 'block' : 'none' ), array( 'sp_league', 'sp_season', 'sp_current_team' ), $i );
}
?>
<?php } ?> <?php } ?>
</ul> </div>
<?php <?php
foreach ( $tabs as $index => $post_type ) { endfor;
sp_post_checklist( $post->ID, $post_type, ( 0 == $index ? 'block' : 'none' ), array( 'sp_league', 'sp_season', 'sp_current_team' ), $i ); } else {
} ?>
?> <p><strong><?php printf( __( 'Select %s:', 'sportspress' ), __( 'Teams', 'sportspress' ) ); ?></strong></p>
<?php } ?>
</div>
<?php <?php
endfor; $args = array(
'post_type' => 'sp_team',
'name' => 'sp_team[]',
'selected' => $teams,
'values' => 'ID',
'class' => 'widefat',
'property' => 'multiple',
'chosen' => true,
'placeholder' => __( 'None', 'sportspress' ),
);
if ( ! sp_dropdown_pages( $args ) ):
sp_post_adder( 'sp_team', __( 'Add New', 'sportspress' ) );
endif;
}
} }
/** /**

View File

@@ -116,7 +116,7 @@ class SP_Settings_Events extends SP_Settings_Page {
'desc' => __( 'teams', 'sportspress' ), 'desc' => __( 'teams', 'sportspress' ),
'type' => 'number', 'type' => 'number',
'custom_attributes' => array( 'custom_attributes' => array(
'min' => 1, 'min' => 0,
'step' => 1 'step' => 1
), ),
), ),