static function show_our_team($param = null, $template = NULL){ parse_str($param); global $wpdb; // make sure we aren't calling both id and cat at the same time if(isset($id) && $id != '' && isset($cat) && $cat != ''){ return "<strong>ERROR: You cannot set both a single ID and a category ID for your Team Directory</strong>"; } $query_args = array( 'post_type' => 'team', 'posts_per_page' => -1 ); // check if it's a single team member first, since single members won't be ordered if((isset($id) && $id != '') && (!isset($cat) || $cat == '')){ $query_args['p'] = $id; } // ends single team // check if we're returning a team category if((isset($cat) && $cat != '') && (!isset($id) || $id == '')){ $query_args['tax_query'] = array( array( 'taxonomy' => 'team_category', 'terms' => array($cat) ) ); } if(isset($orderby) && $orderby != ''){ $query_args['orderby'] = $orderby; } if(isset($order) && $order != ''){ $query_args['order'] = $order; } $team_query = new WP_Query($query_args); switch($template){ case 'list': $output = OurTeamShortcode::html_for_list_template($team_query); break; case 'grid': $output = OurTeamShortcode::html_for_grid_template($team_query); break; default: $output = OurTeamShortcode::html_for_custom_template($template, $team_query); break; } wp_reset_query(); return $output; }