Make the Player List shortcode more flexible (selection of Season, League and Team)

This commit is contained in:
savvasha
2018-08-29 21:35:03 +03:00
parent bf50beb953
commit 953f551016
3 changed files with 65 additions and 5 deletions

View File

@@ -948,6 +948,48 @@ class SP_AJAX {
?>
</label>
</p>
<p>
<label>
<?php _e( 'Team:', 'sportspress' ); ?>
<?php
$args = array(
'post_type' => 'sp_team',
'show_option_all' => __( 'Default', 'sportspress' ),
'name' => 'team',
'values' => 'ID',
);
sp_dropdown_pages( $args );
?>
</label>
</p>
<p>
<label>
<?php _e( 'League:', 'sportspress' ); ?>
<?php
$args = array(
'taxonomy' => 'sp_league',
'show_option_all' => __( 'Default', 'sportspress' ),
'name' => 'league',
'values' => 'term_id',
);
sp_dropdown_taxonomies( $args );
?>
</label>
</p>
<p>
<label>
<?php _e( 'Season:', 'sportspress' ); ?>
<?php
$args = array(
'taxonomy' => 'sp_season',
'show_option_all' => __( 'Default', 'sportspress' ),
'name' => 'season',
'values' => 'term_id',
);
sp_dropdown_taxonomies( $args );
?>
</label>
</p>
<p>
<label>
<?php _e( 'Number of players to show:', 'sportspress' ); ?>
@@ -1192,6 +1234,9 @@ class SP_AJAX {
} else if ( 'player_list' == type ) {
args.title = $div.find('[name=title]').val();
args.number = $div.find('[name=number]').val();
args.team = $div.find('[name=team]').val();
args.seasons = $div.find('[name=season]').val();
args.leagues = $div.find('[name=league]').val();
args.columns = $div.find('[name="columns[]"]:checked').map(function() { return this.value; }).get().join(',');
args.orderby = $div.find('[name=orderby]').val();
args.order = $div.find('[name=order]').val();

View File

@@ -35,11 +35,23 @@ class SP_Player_List extends SP_Secondary_Post {
* @param bool $admin
* @return array
*/
public function data( $admin = false ) {
$league_ids = sp_get_the_term_ids( $this->ID, 'sp_league' );
$season_ids = sp_get_the_term_ids( $this->ID, 'sp_season' );
public function data( $admin = false, $leagues = null, $seasons = null, $team_id = null ) {
if ( !is_null( $leagues ) && '0' != $leagues ) {
$league_ids = explode( ",", $leagues );
}else{
$league_ids = sp_get_the_term_ids( $this->ID, 'sp_league' );
}
if ( !is_null( $seasons ) && '0' != $seasons ) {
$season_ids = explode( ",", $seasons );
}else{
$season_ids = sp_get_the_term_ids( $this->ID, 'sp_season' );
}
$position_ids = sp_get_the_term_ids( $this->ID, 'sp_position' );
$team = get_post_meta( $this->ID, 'sp_team', true );
if ( !is_null( $team_id ) && '0' != $team_id ) {
$team = $team_id;
}else{
$team = get_post_meta( $this->ID, 'sp_team', true );
}
$era = get_post_meta( $this->ID, 'sp_era', true );
$list_stats = (array)get_post_meta( $this->ID, 'sp_players', true );
$adjustments = get_post_meta( $this->ID, 'sp_adjustments', true );