Index: src/wp-includes/meta.php
===================================================================
--- src/wp-includes/meta.php	(revision 31688)
+++ src/wp-includes/meta.php	(working copy)
@@ -451,7 +451,7 @@
  * 		specified meta_key. This parameter has no effect if meta_key is not specified.
  * @return mixed Single metadata value, or array of values
  */
-function get_metadata($meta_type, $object_id, $meta_key = '', $single = false) {
+function get_metadata( $meta_type, $object_id, $meta_key = '', $single = false ) {
 	if ( ! $meta_type || ! is_numeric( $object_id ) ) {
 		return false;
 	}
@@ -479,15 +479,16 @@
 	 */
 	$check = apply_filters( "get_{$meta_type}_metadata", null, $object_id, $meta_key, $single );
 	if ( null !== $check ) {
-		if ( $single && is_array( $check ) )
+		if ( $single && is_array( $check ) ) {
 			return $check[0];
-		else
+		} else {
 			return $check;
+		}
 	}
 
-	$meta_cache = wp_cache_get($object_id, $meta_type . '_meta');
+	$meta_cache = wp_cache_get( $object_id, $meta_type . '_meta' );
 
-	if ( !$meta_cache ) {
+	if ( ! $meta_cache ) {
 		$meta_cache = update_meta_cache( $meta_type, array( $object_id ) );
 		$meta_cache = $meta_cache[$object_id];
 	}
@@ -496,17 +497,20 @@
 		return $meta_cache;
 	}
 
-	if ( isset($meta_cache[$meta_key]) ) {
-		if ( $single )
-			return maybe_unserialize( $meta_cache[$meta_key][0] );
-		else
-			return array_map('maybe_unserialize', $meta_cache[$meta_key]);
+	if ( isset( $meta_cache[ $meta_key ] ) ) {
+		if ( $single ) {
+			$meta_value = maybe_unserialize( $meta_cache[ $meta_key ][0] );
+		} else {
+			$meta_value = array_map( 'maybe_unserialize', $meta_cache[ $meta_key ] );
+		}
+	} else {
+		if ( $single ) {
+			$meta_value = '';
+		} else {
+			$meta_value = array();
+		}
 	}
-
-	if ($single)
-		return '';
-	else
-		return array();
+	return apply_filters( "get_{$meta_type}_metadata-{$meta_key}", $meta_value, $object_id, $single );
 }
 
 /**
