wpseek.com
A WordPress-centric search engine for devs and theme authors



wp_get_custom_css_state_entries › WordPress Function

Since7.2.0
Deprecatedn/a
› wp_get_custom_css_state_entries ( $style, $block_name, $responsive_media_queries )
Access:
  • private
Parameters: (3)
  • (array) $style The block's `style` attribute.
    Required: Yes
  • (string) $block_name Block name.
    Required: Yes
  • (array) $responsive_media_queries Media queries keyed by viewport state name.
    Required: Yes
Returns:
  • (array[]) Custom CSS entries with `css`, `pseudo`, and `media_query` keys.
Defined at:
Codex:

Collects custom CSS defined for a block instance across its default, pseudo-selector, and viewport states.



Source

function wp_get_custom_css_state_entries( $style, $block_name, $responsive_media_queries ) {
	$entries = array();
	if ( empty( $style ) || ! is_array( $style ) ) {
		return $entries;
	}

	$supported_pseudo_states = WP_Theme_JSON::VALID_BLOCK_PSEUDO_SELECTORS[ $block_name ] ?? array();

	if ( wp_custom_css_has_value( $style ) ) {
		$entries[] = array(
			'css'         => $style['css'],
			'pseudo'      => null,
			'media_query' => null,
		);
	}

	foreach ( $supported_pseudo_states as $pseudo_state ) {
		$pseudo_style = $style[ $pseudo_state ] ?? null;
		if ( wp_custom_css_has_value( $pseudo_style ) ) {
			$entries[] = array(
				'css'         => $pseudo_style['css'],
				'pseudo'      => $pseudo_state,
				'media_query' => null,
			);
		}
	}

	foreach ( $responsive_media_queries as $breakpoint => $media_query ) {
		$breakpoint_style = $style[ $breakpoint ] ?? null;
		if ( ! is_array( $breakpoint_style ) ) {
			continue;
		}

		if ( wp_custom_css_has_value( $breakpoint_style ) ) {
			$entries[] = array(
				'css'         => $breakpoint_style['css'],
				'pseudo'      => null,
				'media_query' => $media_query,
			);
		}

		foreach ( $supported_pseudo_states as $pseudo_state ) {
			$breakpoint_pseudo_style = $breakpoint_style[ $pseudo_state ] ?? null;
			if ( wp_custom_css_has_value( $breakpoint_pseudo_style ) ) {
				$entries[] = array(
					'css'         => $breakpoint_pseudo_style['css'],
					'pseudo'      => $pseudo_state,
					'media_query' => $media_query,
				);
			}
		}
	}

	return $entries;
}