apply_block_core_search_border_style()WP 1.0

This generates a CSS rule for the given border property and side if provided. Based on whether the Search block is configured to display the button inside or not, the generated rule is injected into the appropriate collection of styles for later application in the block's markup.

Хуков нет.

Возвращает

null. Ничего.

Использование

apply_block_core_search_border_style( $attributes, $property, $side, $wrapper_styles, $button_styles, $input_styles );
$attributes(массив) (обязательный)
The block attributes.
$property(строка) (обязательный)
Border property to generate rule for e.g. width or color.
$side(строка) (обязательный)
Optional side border. The dictates the value retrieved and final CSS property.
$wrapper_styles(массив) (обязательный) (передается по ссылке — &)
Current collection of wrapper styles.
$button_styles(массив) (обязательный) (передается по ссылке — &)
Current collection of button styles.
$input_styles(массив) (обязательный) (передается по ссылке — &)
Current collection of input styles.

Код apply_block_core_search_border_style() WP 6.1.1

function apply_block_core_search_border_style( $attributes, $property, $side, &$wrapper_styles, &$button_styles, &$input_styles ) {
	$is_button_inside = 'button-inside' === _wp_array_get( $attributes, array( 'buttonPosition' ), false );

	$path = array( 'style', 'border', $property );

	if ( $side ) {
		array_splice( $path, 2, 0, $side );
	}

	$value = _wp_array_get( $attributes, $path, false );

	if ( empty( $value ) ) {
		return;
	}

	if ( 'color' === $property && $side ) {
		$has_color_preset = str_contains( $value, 'var:preset|color|' );
		if ( $has_color_preset ) {
			$named_color_value = substr( $value, strrpos( $value, '|' ) + 1 );
			$value             = sprintf( 'var(--wp--preset--color--%s)', $named_color_value );
		}
	}

	$property_suffix = $side ? sprintf( '%s-%s', $side, $property ) : $property;

	if ( $is_button_inside ) {
		$wrapper_styles[] = sprintf( 'border-%s: %s;', $property_suffix, esc_attr( $value ) );
	} else {
		$button_styles[] = sprintf( 'border-%s: %s;', $property_suffix, esc_attr( $value ) );
		$input_styles[]  = sprintf( 'border-%s: %s;', $property_suffix, esc_attr( $value ) );
	}
}