WP_Theme_JSON::get_settings_slugs()protected staticWP 5.9.0

Similar to get_settings_values_by_slug, but doesn't compute the value.

Method of the class: WP_Theme_JSON{}

No Hooks.

Return

Array. Array of presets where the key and value are both the slug.

Usage

$result = WP_Theme_JSON::get_settings_slugs( $settings, $preset_metadata, $origins );
$settings(array) (required)
Settings to process.
$preset_metadata(array) (required)
One of the PRESETS_METADATA values.
$origins(string[])
List of origins to process.
Default: null

Changelog

Since 5.9.0 Introduced.

WP_Theme_JSON::get_settings_slugs() code WP 6.5.2

protected static function get_settings_slugs( $settings, $preset_metadata, $origins = null ) {
	if ( null === $origins ) {
		$origins = static::VALID_ORIGINS;
	}

	$preset_per_origin = _wp_array_get( $settings, $preset_metadata['path'], array() );

	$result = array();
	foreach ( $origins as $origin ) {
		if ( ! isset( $preset_per_origin[ $origin ] ) ) {
			continue;
		}
		foreach ( $preset_per_origin[ $origin ] as $preset ) {
			$slug = _wp_to_kebab_case( $preset['slug'] );

			// Use the array as a set so we don't get duplicates.
			$result[ $slug ] = $slug;
		}
	}
	return $result;
}