WP_Theme_JSON::get_block_classes()protectedWP 5.8.0

Converts each style section into a list of rulesets containing the block styles to be appended to the stylesheet.

See glossary at https://developer.mozilla.org/en-US/docs/Web/CSS/Syntax

For each section this creates a new ruleset such as:

block-selector {

style-property-one: value;


Method of the class: WP_Theme_JSON{}

No Hooks.


String. The new stylesheet.


// protected - for code of main (parent) or child class
$result = $this->get_block_classes( $style_nodes );
$style_nodes(array) (required)
Nodes with styles.


Since 5.8.0 Introduced.
Since 5.8.0 As get_block_styles().
Since 5.9.0 Renamed from get_block_styles() to get_block_classes() and no longer returns preset classes. Removed the $setting_nodes parameter.
Since 6.1.0 Moved most internal logic to get_styles_for_block().

WP_Theme_JSON::get_block_classes() code WP 6.4.3

protected function get_block_classes( $style_nodes ) {
	$block_rules = '';

	foreach ( $style_nodes as $metadata ) {
		if ( null === $metadata['selector'] ) {
		$block_rules .= static::get_styles_for_block( $metadata );

	return $block_rules;