diff --git a/src/wp-includes/meta.php b/src/wp-includes/meta.php
index 7959be5576..8599d24d8c 100644
--- a/src/wp-includes/meta.php
+++ b/src/wp-includes/meta.php
@@ -502,6 +502,7 @@ function get_metadata( $meta_type, $object_id, $meta_key = '', $single = false )
 	 * @param bool              $single    Whether to return only the first value of the specified $meta_key.
 	 */
 	$check = apply_filters( "get_{$meta_type}_metadata", null, $object_id, $meta_key, $single );
+	
 	if ( null !== $check ) {
 		if ( $single && is_array( $check ) ) {
 			return $check[0];
@@ -516,6 +517,21 @@ function get_metadata( $meta_type, $object_id, $meta_key = '', $single = false )
 		$meta_cache = update_meta_cache( $meta_type, array( $object_id ) );
 		$meta_cache = $meta_cache[ $object_id ];
 	}
+	
+	/**
+     * Filters whether to retrieve meta cache of a specific type.
+     *
+     * The dynamic portion of the hook, `$meta_type`, refers to the meta
+     * object type (comment, post, or user).
+     *
+     * @param array $value     The value get_metadata() should return - a single metadata value, or an array of values.
+     * @param array             $meta_cache Array to be Filtered.
+     * @param int               $object_id Object ID.
+     * @param string            $meta_key  Meta key.
+     * @param bool              $single    Whether to return only the first value of the specified $meta_key.
+     */
+
+    $meta_cache = apply_filters( "get_{$meta_type}_meta_cache", $meta_cache, $object_id, $meta_key, $single );
 
 	if ( ! $meta_key ) {
 		return $meta_cache;
