Index: www/wordpress-meta-environment/meta-repository/wordcamp.org/public_html/wp-content/plugins/wc-post-types/wc-post-types.php
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
===================================================================
--- www/wordpress-meta-environment/meta-repository/wordcamp.org/public_html/wp-content/plugins/wc-post-types/wc-post-types.php	(revision )
+++ www/wordpress-meta-environment/meta-repository/wordcamp.org/public_html/wp-content/plugins/wc-post-types/wc-post-types.php	(revision )
@@ -277,6 +277,7 @@
 			'order'          => 'desc',
 			'track'          => 'all',
 			'speaker_link'   => '',
+			'groups'         => '',
 		), $attr );
 
 		foreach ( array( 'orderby', 'order', 'track', 'speaker_link' ) as $key_for_case_sensitive_value ) {
@@ -312,6 +313,16 @@
 			);
 		}
 
+		if ( ! empty( $attr['groups'] ) ) {
+			$session_args['tax_query'] = array(
+				array(
+					'taxonomy' => 'wcb_speaker_group',
+					'field'    => 'slug',
+					'terms'    => explode( ',', $attr['groups'] ),
+				),
+			);
+		}
+
 		$sessions = get_posts( $session_args );
 
 		// Parse the sessions
@@ -2180,6 +2191,33 @@
 				'show_ui'      => true,
 			)
 		);
+
+		// Labels for speaker groups.
+		$labels = array(
+			'name'          => __( 'Groups',         'wordcamporg' ),
+			'singular_name' => __( 'Group',          'wordcamporg' ),
+			'search_items'  => __( 'Search Groups',  'wordcamporg' ),
+			'popular_items' => __( 'Popular Groups', 'wordcamporg' ),
+			'all_items'     => __( 'All Groups',     'wordcamporg' ),
+			'edit_item'     => __( 'Edit Group',     'wordcamporg' ),
+			'update_item'   => __( 'Update Group',   'wordcamporg' ),
+			'add_new_item'  => __( 'Add Group',      'wordcamporg' ),
+			'new_item_name' => __( 'New Group',      'wordcamporg' ),
+		);
+
+		// Register speaker groups taxonomy
+		register_taxonomy(
+			'wcb_speaker_group',
+			'wcb_speaker',
+			array(
+				'labels'       => $labels,
+				'rewrite'      => array( 'slug' => 'speaker-group' ),
+				'query_var'    => 'group',
+				'hierarchical' => true,
+				'public'       => true,
+				'show_ui'      => true,
+			)
+		);
 	}
 
 	/**
