WP_Duotone::get_selector( WP_Block_Type $block_type ): string|null

This function’s access is marked private. This means it is not intended for use by plugin or theme developers, only in other core functions. It is listed here for completeness.

Get the CSS selector for a block type.


This handles selectors defined in color.__experimentalDuotone support if filter.duotone support is not defined.


Block type to check for support.


string|null The CSS selector or null if there is no support.


private static function get_selector( $block_type ) {
	if ( ! ( $block_type instanceof WP_Block_Type ) ) {
		return null;

	 * Backward compatibility with `supports.color.__experimentalDuotone`
	 * is provided via the `block_type_metadata_settings` filter. If
	 * `supports.filter.duotone` has not been set and the experimental
	 * property has been, the experimental property value is copied into
	 * `supports.filter.duotone`.
	$duotone_support = block_has_support( $block_type, array( 'filter', 'duotone' ) );
	if ( ! $duotone_support ) {
		return null;

	 * If the experimental duotone support was set, that value is to be
	 * treated as a selector and requires scoping.
	$experimental_duotone = isset( $block_type->supports['color']['__experimentalDuotone'] )
		? $block_type->supports['color']['__experimentalDuotone']
		: false;
	if ( $experimental_duotone ) {
		$root_selector = wp_get_block_css_selector( $block_type );
		return is_string( $experimental_duotone )
			? WP_Theme_JSON::scope_selector( $root_selector, $experimental_duotone )
			: $root_selector;

	// Regular filter.duotone support uses filter.duotone selectors with fallbacks.
	return wp_get_block_css_selector( $block_type, array( 'filter', 'duotone' ), true );



User Contributed Notes

You must log in before being able to contribute a note or feedback.