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



filter_block_kses_value › WordPress Function

Since5.3.1
Deprecatedn/a
filter_block_kses_value ( $value, $allowed_html, $allowed_protocols = array(), $block_context = null )
Parameters: (4)
  • (string[]|string) $value The attribute value to filter.
    Required: Yes
  • (array[]|string) $allowed_html 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.
    Required: Yes
  • (string[]) $allowed_protocols Optional. Array of allowed URL protocols. Defaults to the result of wp_allowed_protocols().
    Required: No
    Default: array()
  • (array) $block_context Optional. The block the attribute belongs to, in parsed block array format.
    Required: No
    Default: null
Returns:
  • (string[]|string) The filtered and sanitized result.
Defined at:
Codex:
Change Log:
  • 6.5.5

Filters and sanitizes a parsed block attribute value to remove non-allowable HTML.



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;
}