Filters and sanitizes a parsed block attribute value to remove non-allowable HTML.
Parameters
$value
string[]|stringrequired- The attribute value to filter.
$allowed_html
array[]|stringrequired- An array of allowed HTML elements and attributes, or a context name such as
'post'
. See wp_kses_allowed_html() for the list of accepted context names. $allowed_protocols
string[]optional- Array of allowed URL protocols.
Defaults to the result of wp_allowed_protocols() .Default:
array()
$block_context
arrayoptional- The block the attribute belongs to, in parsed block array format.
Default:
null
Source
function filter_block_kses_value( $value, $allowed_html, $allowed_protocols = array(), $block_context = null ) {
if ( is_array( $value ) ) {
foreach ( $value as $key => $inner_value ) {
$filtered_key = filter_block_kses_value( $key, $allowed_html, $allowed_protocols, $block_context );
$filtered_value = filter_block_kses_value( $inner_value, $allowed_html, $allowed_protocols, $block_context );
if ( isset( $block_context['blockName'] ) && 'core/template-part' === $block_context['blockName'] ) {
$filtered_value = filter_block_core_template_part_attributes( $filtered_value, $filtered_key, $allowed_html );
}
if ( $filtered_key !== $key ) {
unset( $value[ $key ] );
}
$value[ $filtered_key ] = $filtered_value;
}
} elseif ( is_string( $value ) ) {
return wp_kses( $value, $allowed_html, $allowed_protocols );
}
return $value;
}
User Contributed Notes
You must log in before being able to contribute a note or feedback.