filter_block_kses_value()
Filters and sanitizes a parsed block attribute value to remove non-allowable HTML.
Хуков нет.
Возвращает
Строку[]|Строку. The filtered and sanitized result.
Использование
filter_block_kses_value( $value, $allowed_html, $allowed_protocols, $block_context );
- $value(string[]|строка) (обязательный)
- The attribute value to filter.
- $allowed_html(array[]|строка) (обязательный)
- 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[])
- Array of allowed URL protocols.
По умолчанию:result of wp_allowed_protocols() - $block_context(массив)
- The block the attribute belongs to, in parsed block array format.
По умолчанию:null
Список изменений
| С версии 5.3.1 | Введена. |
| С версии 6.5.5 | Added the $block_context parameter. |
Код filter_block_kses_value() filter block kses value WP 6.9.1
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;
}