WP_Theme_JSON::get_default_slugs()protected staticWP 5.9.0

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.

For example:

array(
  'color' => array(
	'palette'   => array( 'slug-1', 'slug-2' ),
	'gradients' => array( 'slug-3', 'slug-4' ),
  ),
)

Метод класса: WP_Theme_JSON{}

Хуков нет.

Возвращает

Массив.

Использование

$result = WP_Theme_JSON::get_default_slugs( $data, $node_path );
$data(массив) (обязательный)
A theme.json like structure.
$node_path(массив) (обязательный)
The path to inspect. It's 'settings' by default.

Список изменений

С версии 5.9.0 Введена.

Код WP_Theme_JSON::get_default_slugs() WP 6.5.2

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;
}