Index: general-template.php
===================================================================
--- general-template.php	(revision 14898)
+++ general-template.php	(working copy)
@@ -111,18 +111,28 @@
  *
  * @uses locate_template()
  * @since 3.0.0
- * @uses do_action() Calls 'get_template_part{$slug}' action.
+ * @uses do_action() Calls 'get_template_part_{$slug}' action.
  *
  * @param string $slug The slug name for the generic template.
- * @param string $name The name of the specialised template.
+ * @param mixed $names The names of the specialised templates (it can be a string, or an array of names to search for in priority order.).
  */
-function get_template_part( $slug, $name = null ) {
-	do_action( "get_template_part_{$slug}", $slug, $name );
+function get_template_part( $slug, $names = null ) {
+	do_action( "get_template_part_{$slug}", $slug, $names );
 
 	$templates = array();
-	if ( isset($name) )
-		$templates[] = "{$slug}-{$name}.php";
-
+	if ( isset($names) ) {
+		if ( is_array($names) ) {
+			foreach ( $names as $name ) {
+				if ( !$name )
+					continue;
+				$templates[] = "{$slug}-{$name}.php";
+			}
+		} else {
+			$name = (string) $names;
+			if ( $name )
+				$templates[] = "{$slug}-{$name}.php";
+		}
+	}
 	$templates[] = "{$slug}.php";
 
 	locate_template($templates, true, false);
