WP_Theme_JSON::get_default_slugs
Returns the default slugs for all the presets in an associative array whose keys are the preset paths and the leaves is the list of slugs.
For example:
array( 'color' => array( 'palette' => array( 'slug-1', 'slug-2' ), 'gradients' => array( 'slug-3', 'slug-4' ), ), )
Method of the class: WP_Theme_JSON{}
No Hooks.
Returns
Array.
Usage
$result = WP_Theme_JSON::get_default_slugs( $data, $node_path );
- $data(array) (required)
- A theme.json like structure.
- $node_path(array) (required)
- The path to inspect. It's
'settings'by default.
Changelog
| Since 5.9.0 | Introduced. |
WP_Theme_JSON::get_default_slugs() WP Theme JSON::get default slugs code WP 6.9.1
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;
}