WP_Theme_JSON::scope_selector( string $scope, string $selector ): string

Function that scopes a selector with another one. This works a bit like SCSS nesting except the & operator isn’t supported.


Description

$scope = '.a, .b .c';
$selector = '> .x, .y';
$merged = scope_selector( $scope, $selector );
// $merged is '.a > .x, .a .y, .b .c > .x, .b .c .y'

Top ↑

Parameters

$scope string Required
Selector to scope to.
$selector string Required
Original selector.

Top ↑

Return

string Scoped selector.


Top ↑

Source

File: wp-includes/class-wp-theme-json.php. View all references

protected static function scope_selector( $scope, $selector ) {
	$scopes    = explode( ',', $scope );
	$selectors = explode( ',', $selector );

	$selectors_scoped = array();
	foreach ( $scopes as $outer ) {
		foreach ( $selectors as $inner ) {
			$selectors_scoped[] = trim( $outer ) . ' ' . trim( $inner );
		}
	}

	return implode( ', ', $selectors_scoped );
}

Top ↑

Changelog

Changelog
Version Description
5.9.0 Introduced.

Top ↑

User Contributed Notes

You must log in before being able to contribute a note or feedback.