Index: wp-includes/author-template.php
===================================================================
--- wp-includes/author-template.php	(revision 12596)
+++ wp-includes/author-template.php	(working copy)
@@ -234,6 +234,7 @@
  * author's name.</li>
  * <li>exclude_admin (boolean) (true): Exclude the 'admin' user that is
  * installed bydefault.</li>
+ * <li>exclude (string) (false): Exlude a list of authors based on user_ID.</li>
  * <li>show_fullname (boolean) (false): Show their full names.</li>
  * <li>hide_empty (boolean) (true): Don't show authors without any posts.</li>
  * <li>feed (string) (''): If isn't empty, show links to author's feeds.</li>
@@ -259,7 +260,7 @@
 		'optioncount' => false, 'exclude_admin' => true,
 		'show_fullname' => false, 'hide_empty' => true,
 		'feed' => '', 'feed_image' => '', 'feed_type' => '', 'echo' => true,
-		'style' => 'list', 'html' => true
+		'style' => 'list', 'html' => true, 'exclude' => false
 	);
 
 	$r = wp_parse_args( $args, $defaults );
@@ -267,7 +268,7 @@
 	$return = '';
 
 	/** @todo Move select to get_authors(). */
-	$authors = $wpdb->get_results("SELECT ID, user_nicename from $wpdb->users " . ($exclude_admin ? "WHERE user_login <> 'admin' " : '') . "ORDER BY display_name");
+	$authors = $wpdb->get_results("SELECT ID, user_nicename from $wpdb->users " . ($exclude_admin && $exclude ? "WHERE user_login <> 'admin' AND ID NOT IN (" . $exclude . ") " : '') . ($exclude_admin && !$exclude ? "WHERE user_login <> 'admin' " : '') . (!$exclude_admin && $exclude ? "WHERE ID NOT IN (" . $exclude . ") " : '') . "ORDER BY display_name");
 
 	$author_count = array();
 	foreach ((array) $wpdb->get_results("SELECT DISTINCT post_author, COUNT(ID) AS count FROM $wpdb->posts WHERE post_type = 'post' AND " . get_private_posts_cap_sql( 'post' ) . " GROUP BY post_author") as $row) {

