sanitize_meta()
Clears the value of meta data. The function itself does nothing, but applies the filter "sanitize_{$meta_type}_meta_{$meta_key}", through which different meta data can be sanitized differently.
This function is used in all functions when adding/updating WordPress metadata: update_*_meta() or add_*_meta() — update_post_meta(), update_term_meta(), update_user_meta(), update_comment_meta().
Hooks from the function
Returns
Mixed. Processed value of the meta-field.
Usage
sanitize_meta( $meta_key, $meta_value, $object_type, $object_subtype );
- $meta_key(string) (required)
- Key of the meta-field. Used in the name of the filter, based on which the value $meta_value is sanitized.
- $meta_value(mixed) (required)
- Value to be sanitized.
- $object_type(string) (required)
- Type of metadata. Can be:
comment,post,user,term. Used in the name of the filter, based on which the value $meta_value is sanitized. - $object_subtype(string)
- Type of the object for which the meta-field was created. For example, post. If an empty string is passed, it means that the meta-field is registered for any object. See the parameter of the same name in the function register_meta().
Examples
#1 Example of cleaning a custom field, with a custom function.
// clear the value through the added function, somewhere in another file...
$clean_value = sanitize_meta( 'birth-year', $user_input, 'user' );
// add our cleaning function
add_filter( 'sanitize_user_meta_'.'birth-year', 'sanitize_birth_year_meta' );
function sanitize_birth_year_meta( $year ) {
$now = date( 'Y' );
$then = $now - 50; // User not older than 50
if ( $then > $year || $year > $now )
wp_die( 'Incorrect input, go back and try again.' );
return $year;
}
Changelog
| Since 3.1.3 | Introduced. |
| Since 4.9.8 | The $object_subtype parameter was added. |