Esempio n. 1
0
  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;
  }