WP_Block_Styles_Registry::register()publicWP 5.3.0

Registers a block style for the given block type.

If the block styles are present in a standalone stylesheet, register it and pass its handle as the style_handle argument. If the block styles should be inline, use the inline_style argument. Usually, one of them would be used to pass CSS styles. However, you could also skip them and provide CSS styles in any stylesheet or with an inline tag.

Метод класса: WP_Block_Styles_Registry{}

Хуков нет.

Возвращает

true|false. True if the block style was registered with success and false otherwise.

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

$WP_Block_Styles_Registry = new WP_Block_Styles_Registry();
$WP_Block_Styles_Registry->register( $block_name, $style_properties );
$block_name(строка) (обязательный)
Block type name including namespace.
$style_properties(массив) (обязательный)

Array containing the properties of the style.

  • name(строка)
    The identifier of the style used to compute a CSS class.

  • label(строка)
    A human-readable label for the style.

  • inline_style(строка)
    Inline CSS code that registers the CSS class required for the style.

  • style_handle(строка)
    The handle to an already registered style that should be enqueued in places where block styles are needed.

  • is_default(true|false)
    Whether this is the default style for the block type.

Список изменений

С версии 5.3.0 Введена.

Код WP_Block_Styles_Registry::register() WP 6.1.1

public function register( $block_name, $style_properties ) {

	if ( ! isset( $block_name ) || ! is_string( $block_name ) ) {
		_doing_it_wrong(
			__METHOD__,
			__( 'Block name must be a string.' ),
			'5.3.0'
		);
		return false;
	}

	if ( ! isset( $style_properties['name'] ) || ! is_string( $style_properties['name'] ) ) {
		_doing_it_wrong(
			__METHOD__,
			__( 'Block style name must be a string.' ),
			'5.3.0'
		);
		return false;
	}

	if ( str_contains( $style_properties['name'], ' ' ) ) {
		_doing_it_wrong(
			__METHOD__,
			__( 'Block style name must not contain any spaces.' ),
			'5.9.0'
		);
		return false;
	}

	$block_style_name = $style_properties['name'];

	if ( ! isset( $this->registered_block_styles[ $block_name ] ) ) {
		$this->registered_block_styles[ $block_name ] = array();
	}
	$this->registered_block_styles[ $block_name ][ $block_style_name ] = $style_properties;

	return true;
}