WP_Theme_JSON::get_default_slugs( array $data, array $node_path ): array
Returns the default slugs for all the presets in an associative array whose keys are the preset paths and the leafs is the list of slugs.
Description
For example:
array(
'color' => array(
'palette' => array( 'slug-1', 'slug-2' ),
'gradients' => array( 'slug-3', 'slug-4' ),
),
)
Parameters
-
$data
array Required -
A theme.json like structure.
-
$node_path
array Required -
The path to inspect. It's
'settings'
by default.
Return
array
Source
File: wp-includes/class-wp-theme-json.php
.
View all references
protected static function get_default_slugs( $data, $node_path ) {
$slugs = array();
foreach ( static::PRESETS_METADATA as $metadata ) {
$path = $node_path;
foreach ( $metadata['path'] as $leaf ) {
$path[] = $leaf;
}
$path[] = 'default';
$preset = _wp_array_get( $data, $path, null );
if ( ! isset( $preset ) ) {
continue;
}
$slugs_for_preset = array();
foreach ( $preset as $item ) {
if ( isset( $item['slug'] ) ) {
$slugs_for_preset[] = $item['slug'];
}
}
_wp_array_set( $slugs, $metadata['path'], $slugs_for_preset );
}
return $slugs;
}
Changelog
Version | Description |
---|---|
5.9.0 | Introduced. |