Switch language

wpseek.com
A WordPress-centric search engine for devs and theme authors




sanitize_post_field [ WordPress Function ]

sanitize_post_field ( $field, $value, $post_id, $context )
Parameters:
  • (string) $field The Post Object field name.
  • (mixed) $value The Post Object value.
  • (int) $post_id Post ID.
  • (string) $context How to sanitize post fields. Looks for 'raw', 'edit', 'db', 'display', 'attribute' and 'js'.
Uses:
Returns:
  • (mixed) Sanitized value.
Defined at:



Sanitize post field based on context.

Possible context values are: 'raw', 'edit', 'db', 'display', 'attribute' and 'js'. The 'display' context is used by default. 'attribute' and 'js' contexts are treated like 'display' when calling filters.

Source


<?php
function sanitize_post_field($field$value$post_id$context) {
    
$int_fields = array('ID''post_parent''menu_order');
    if ( 
in_array($field$int_fields) )
        
$value = (int) $value;

    
// Fields which contain arrays of ints.
    
$array_int_fields = array( 'ancestors' );
    if ( 
in_array($field$array_int_fields) ) {
        
$value array_map'absint'$value);
        return 
$value;
    }

    if ( 
'raw' == $context )
        return 
$value;

    
$prefixed false;
    if ( 
false !== strpos($field'post_') ) {
        
$prefixed true;
        
$field_no_prefix str_replace('post_'''$field);
    }

    if ( 
'edit' == $context ) {
        
$format_to_edit = array('post_content''post_excerpt''post_title''post_password');

        if ( 
$prefixed ) {
            
$value apply_filters("edit_{$field}"$value$post_id);
            
// Old school
            
$value apply_filters("{$field_no_prefix}_edit_pre"$value$post_id);
        } else {
            
$value apply_filters("edit_post_{$field}"$value$post_id);
        }

        if ( 
in_array($field$format_to_edit) ) {
            if ( 
'post_content' == $field )
                
$value format_to_edit($valueuser_can_richedit());
            else
                
$value format_to_edit($value);
        } else {
            
$value esc_attr($value);
        }
    } else if ( 
'db' == $context ) {
        if ( 
$prefixed ) {
            
$value apply_filters("pre_{$field}"$value);
            
$value apply_filters("{$field_no_prefix}_save_pre"$value);
        } else {
            
$value apply_filters("pre_post_{$field}"$value);
            
$value apply_filters("{$field}_pre"$value);
        }
    } else {
        
// Use display filters by default.
        
if ( $prefixed )
            
$value apply_filters($field$value$post_id$context);
        else
            
$value apply_filters("post_{$field}"$value$post_id$context);
    }

    if ( 
'attribute' == $context )
        
$value esc_attr($value);
    else if ( 
'js' == $context )
        
$value esc_js($value);

    return 
$value;
}
?>

Examples [ wp-snippets.com ]

Top Google zoekresultaten

Meer ...

Gebruikersdiscussies [ wordpress.org ]

0 User Note(s)

Nog geen één. Wees de eerste!

Nieuw toevoegen ...



HTML5 Powered with CSS3 / Styling, Performance & Integration, and Semantics