From 60baf0babbdb4f27ae8dd86a7ea3ee50afe18451 Mon Sep 17 00:00:00 2001 From: Brian Miyaji Date: Sun, 29 May 2016 16:48:14 +1000 Subject: [PATCH] Add player parameter to event calendar shortcodes --- includes/class-sp-calendar.php | 24 ++++++++++++++++++------ templates/event-blocks.php | 3 +++ templates/event-calendar.php | 3 +++ templates/event-list.php | 3 +++ 4 files changed, 27 insertions(+), 6 deletions(-) diff --git a/includes/class-sp-calendar.php b/includes/class-sp-calendar.php index d8f6fcdc..7b8846c3 100644 --- a/includes/class-sp-calendar.php +++ b/includes/class-sp-calendar.php @@ -40,6 +40,9 @@ class SP_Calendar extends SP_Custom_Post { /** @var int The team ID. */ public $team; + /** @var int The player ID. */ + public $player; + /** @var int Number of events. */ public $number; @@ -97,6 +100,9 @@ class SP_Calendar extends SP_Custom_Post { 'orderby' => 'date', 'order' => $this->order, 'post_status' => $this->status, + 'meta_query' => array( + 'relation' => 'AND' + ), 'tax_query' => array( 'relation' => 'AND' ), @@ -128,12 +134,18 @@ class SP_Calendar extends SP_Custom_Post { endif; if ( $this->team ): - $args['meta_query'] = array( - array( - 'key' => 'sp_team', - 'value' => array( $this->team ), - 'compare' => 'IN', - ), + $args['meta_query'][] = array( + 'key' => 'sp_team', + 'value' => array( $this->team ), + 'compare' => 'IN', + ); + endif; + + if ( $this->player ): + $args['meta_query'][] = array( + 'key' => 'sp_player', + 'value' => array( $this->player ), + 'compare' => 'IN', ); endif; diff --git a/templates/event-blocks.php b/templates/event-blocks.php index 28cae7d1..a0d113fc 100644 --- a/templates/event-blocks.php +++ b/templates/event-blocks.php @@ -20,6 +20,7 @@ $defaults = array( 'season' => null, 'venue' => null, 'team' => null, + 'player' => null, 'number' => -1, 'show_team_logo' => get_option( 'sportspress_event_blocks_show_logos', 'yes' ) == 'yes' ? true : false, 'link_teams' => get_option( 'sportspress_link_teams', 'no' ) == 'yes' ? true : false, @@ -54,6 +55,8 @@ if ( $venue ) $calendar->venue = $venue; if ( $team ) $calendar->team = $team; +if ( $player ) + $calendar->player = $player; if ( $order != 'default' ) $calendar->order = $order; $data = $calendar->data(); diff --git a/templates/event-calendar.php b/templates/event-calendar.php index b3c7c4b4..ffab0a45 100644 --- a/templates/event-calendar.php +++ b/templates/event-calendar.php @@ -21,6 +21,7 @@ $defaults = array( 'season' => null, 'venue' => null, 'team' => null, + 'player' => null, 'initial' => true, 'caption_tag' => 'h4', 'show_all_events_link' => false, @@ -45,6 +46,8 @@ if ( $venue ) $calendar->venue = $venue; if ( $team ) $calendar->team = $team; +if ( $player ) + $calendar->player = $player; $events = $calendar->data(); if ( empty( $events ) ) { diff --git a/templates/event-list.php b/templates/event-list.php index 5dc429b9..9764262d 100644 --- a/templates/event-list.php +++ b/templates/event-list.php @@ -20,6 +20,7 @@ $defaults = array( 'season' => null, 'venue' => null, 'team' => null, + 'player' => null, 'number' => -1, 'show_team_logo' => get_option( 'sportspress_event_list_show_logos', 'no' ) == 'yes' ? true : false, 'link_events' => get_option( 'sportspress_link_events', 'yes' ) == 'yes' ? true : false, @@ -55,6 +56,8 @@ if ( $venue ) $calendar->venue = $venue; if ( $team ) $calendar->team = $team; +if ( $player ) + $calendar->player = $player; if ( $order != 'default' ) $calendar->order = $order; $data = $calendar->data();