WP_Theme_JSON::get_settings_slugs
Similar to get_settings_values_by_slug, but doesn't compute the value.
Method of the class: WP_Theme_JSON{}
No Hooks.
Returns
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() WP Theme JSON::get settings slugs code WP 6.9.1
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;
}