From e408d8709a3d63f4d957d33bda76e47235b6f903 Mon Sep 17 00:00:00 2001
From: jrfnl <github_nospam@adviesenzo.nl>
Date: Thu, 10 Dec 2015 06:40:13 +0100
Subject: [PATCH] Add $object_id parameter to
 `sanitize_{$meta_type}_meta_{$meta_key}` filter.

Implement @sc0ttclark's suggestion.
---
 src/wp-includes/meta.php | 12 +++++++-----
 1 file changed, 7 insertions(+), 5 deletions(-)

diff --git a/src/wp-includes/meta.php b/src/wp-includes/meta.php
index 2a5f45f..460a7b0 100644
--- a/src/wp-includes/meta.php
+++ b/src/wp-includes/meta.php
@@ -49,7 +49,7 @@ function add_metadata($meta_type, $object_id, $meta_key, $meta_value, $unique =
 	// expected_slashed ($meta_key)
 	$meta_key = wp_unslash($meta_key);
 	$meta_value = wp_unslash($meta_value);
-	$meta_value = sanitize_meta( $meta_key, $meta_value, $meta_type );
+	$meta_value = sanitize_meta( $meta_key, $meta_value, $meta_type, $object_id );
 
 	/**
 	 * Filter whether to add metadata of a specific type.
@@ -164,7 +164,7 @@ function update_metadata($meta_type, $object_id, $meta_key, $meta_value, $prev_v
 	$meta_key = wp_unslash($meta_key);
 	$passed_value = $meta_value;
 	$meta_value = wp_unslash($meta_value);
-	$meta_value = sanitize_meta( $meta_key, $meta_value, $meta_type );
+	$meta_value = sanitize_meta( $meta_key, $meta_value, $meta_type, $object_id );
 
 	/**
 	 * Filter whether to update metadata of a specific type.
@@ -640,7 +640,7 @@ function update_metadata_by_mid( $meta_type, $meta_id, $meta_value, $meta_key =
 
 		// Sanitize the meta
 		$_meta_value = $meta_value;
-		$meta_value = sanitize_meta( $meta_key, $meta_value, $meta_type );
+		$meta_value = sanitize_meta( $meta_key, $meta_value, $meta_type, $object_id );
 		$meta_value = maybe_serialize( $meta_value );
 
 		// Format the data query arguments.
@@ -920,9 +920,10 @@ function is_protected_meta( $meta_key, $meta_type = null ) {
  * @param string $meta_key   Meta key
  * @param mixed  $meta_value Meta value to sanitize
  * @param string $meta_type  Type of meta
+ * @param int    $object_id  ID of the object metadata is for
  * @return mixed Sanitized $meta_value
  */
-function sanitize_meta( $meta_key, $meta_value, $meta_type ) {
+function sanitize_meta( $meta_key, $meta_value, $meta_type, $object_id ) {
 
 	/**
 	 * Filter the sanitization of a specific meta key of a specific meta type.
@@ -937,8 +938,9 @@ function sanitize_meta( $meta_key, $meta_value, $meta_type ) {
 	 * @param mixed  $meta_value Meta value to sanitize.
 	 * @param string $meta_key   Meta key.
 	 * @param string $meta_type  Meta type.
+	 * @param int    $object_id  ID of the object metadata is for.
 	 */
-	return apply_filters( "sanitize_{$meta_type}_meta_{$meta_key}", $meta_value, $meta_key, $meta_type );
+	return apply_filters( "sanitize_{$meta_type}_meta_{$meta_key}", $meta_value, $meta_key, $meta_type, $object_id );
 }
 
 /**
-- 
1.9.4.msysgit.2

