The register_block_style_handle() WordPress PHP function finds a style handle for the block metadata field. It detects when a path to a file is provided and registers the style under an automatically generated handle name. It returns the unprocessed style handle otherwise.
Usage
register_block_style_handle($metadata, $field_name, $index = 0)
Parameters
$metadata
(array) – Required. Block metadata.$field_name
(string) – Required. Field name to pick from metadata.$index
(int) – Optional. Index of the style to register when multiple items are passed. Default is 0.
More information
See WordPress Developer Resources: register_block_style_handle()
Examples
Register a single style handle
In this example, we’ll register a single style handle for a block. We will provide block metadata and a field name.
$metadata = array( 'style' => 'path/to/style.css' ); $field_name = 'style'; // Register the style handle $style_handle = register_block_style_handle($metadata, $field_name);
Register a style handle with a specific index
In this example, we’ll register a style handle for a block with multiple styles. We will provide an index to specify which style to register.
$metadata = array( 'styles' => array( 'path/to/style-1.css', 'path/to/style-2.css' ) ); $field_name = 'styles'; $index = 1; // Register the second style handle $style_handle = register_block_style_handle($metadata, $field_name, $index);
Register a style handle for a custom field
In this example, we’ll register a style handle for a block with a custom field name.
$metadata = array( 'my_custom_style' => 'path/to/custom-style.css' ); $field_name = 'my_custom_style'; // Register the style handle for the custom field $style_handle = register_block_style_handle($metadata, $field_name);
Register a style handle when the path is not provided
In this example, we’ll attempt to register a style handle when the path to the file is not provided.
$metadata = array( 'style' => '' ); $field_name = 'style'; // Attempt to register the style handle // It will return the unprocessed style handle $style_handle = register_block_style_handle($metadata, $field_name);
Register a style handle for a block with nested metadata
In this example, we’ll register a style handle for a block with nested metadata.
$metadata = array( 'styles' => array( array( 'style' => 'path/to/nested-style.css' ) ) ); $field_name = 'styles.style'; // Register the style handle for the nested metadata $style_handle = register_block_style_handle($metadata, $field_name);