WP_Upgrader::flatten_dirlist( array $nested_files, string $path = '' )

Flatten the results of WP_Filesystem_Base::dirlist() for iterating over.

Parameters

$nested_files

(array) (Required) Array of files as returned by WP_Filesystem_Base::dirlist().

$path

(string) (Optional) Relative path to prepend to child nodes. Optional.

Default value: ''

Return

(array) A flattened array of the $nested_files specified.

Source

File: wp-admin/includes/class-wp-upgrader.php

protected function flatten_dirlist( $nested_files, $path = '' ) {
		$files = array();

		foreach ( $nested_files as $name => $details ) {
			$files[ $path . $name ] = $details;

			// Append children recursively.
			if ( ! empty( $details['files'] ) ) {
				$children = $this->flatten_dirlist( $details['files'], $path . $name . '/' );

				// Merge keeping possible numeric keys, which array_merge() will reindex from 0..n.
				$files = $files + $children;
			}
		}

		return $files;
	}

Changelog

Version Description
4.9.0 Introduced.

© 2003–2021 WordPress Foundation
Licensed under the GNU GPLv2+ License.
https://developer.wordpress.org/reference/classes/wp_upgrader/flatten_dirlist