Index: wp-includes/functions.php
===================================================================
--- wp-includes/functions.php	(revision 38733)
+++ wp-includes/functions.php	(working copy)
@@ -3431,10 +3431,28 @@
  * @return array Sanitized array of IDs.
  */
 function wp_parse_id_list( $list ) {
-	if ( !is_array($list) )
-		$list = preg_split('/[\s,]+/', $list);
+	if ( ! is_array( $list ) )
+		$list = preg_split( '/[\s,]+/', $list );
 
-	return array_unique(array_map('absint', $list));
+	/**
+	 * Add support for id ranges separated with a hyphen (-)
+	 * Respects the order of the list ids
+	 *
+	 * @since 4.7.0
+	 */
+	for ( $key = 0, $length = count( $list ); $key < $length; $key++ ) {
+		if ( strpos( $list[ $key ], '-' ) !== false ) {
+			$m = array_map( 'intval', explode( '-', $list[ $key ] ) );
+			if ( count( $m ) > 1 && reset( $m ) != end( $m ) ) {
+				unset( $list[ $key ] );
+				array_splice( $list, $key, 0, range( reset( $m ), end( $m ) ) );
+				$key = $key + ( end( $m ) - reset( $m ) );
+				$length = count( $list );
+			}
+		}
+	}
+
+	return array_unique( array_map( 'absint', $list ) );
 }
 
 /**
