sanitize_post( object|WP_Post|array $post, string $context = 'display' )
Sanitize every post field.
Description
If the context is ‘raw’, then the post object or array will get minimal sanitization of the integer fields.
See also
Parameters
- $post
-
(Required) The Post Object or Array
- $context
-
(Optional) How to sanitize post fields. Accepts 'raw', 'edit', 'db', or 'display'. Default 'display'.
Default value: 'display'
Return
(object|WP_Post|array) The now sanitized Post Object or Array (will be the same type as $post).
Source
File: wp-includes/post.php
function sanitize_post( $post, $context = 'display' ) {
if ( is_object($post) ) {
// Check if post already filtered for this context.
if ( isset($post->filter) && $context == $post->filter )
return $post;
if ( !isset($post->ID) )
$post->ID = 0;
foreach ( array_keys(get_object_vars($post)) as $field )
$post->$field = sanitize_post_field($field, $post->$field, $post->ID, $context);
$post->filter = $context;
} elseif ( is_array( $post ) ) {
// Check if post already filtered for this context.
if ( isset($post['filter']) && $context == $post['filter'] )
return $post;
if ( !isset($post['ID']) )
$post['ID'] = 0;
foreach ( array_keys($post) as $field )
$post[$field] = sanitize_post_field($field, $post[$field], $post['ID'], $context);
$post['filter'] = $context;
}
return $post;
}
Changelog
Version | Description |
---|---|
WP-2.3.0 | Introduced. |