Uses
Uses | Description |
---|---|
wp-includes/class.wp-dependencies.php: WP_Dependencies::set_group() | Set item group, unless already in a lower group. |
wp-includes/class.wp-dependencies.php: WP_Dependencies::all_deps() | Determines dependencies. |
Determines dependencies.
Recursively builds an array of items to process taking dependencies into account. Does NOT catch infinite loops.
(string|string[]) (Required) Item handle (string) or item handles (array of strings).
(bool) (Optional) Internal flag that function is calling itself.
Default value: false
(int|false) (Optional) Group level: level (int), no groups (false).
Default value: false
(bool) True on success, false on failure.
File: wp-includes/class.wp-dependencies.php
public function all_deps( $handles, $recursion = false, $group = false ) { $handles = (array) $handles; if ( ! $handles ) { return false; } foreach ( $handles as $handle ) { $handle_parts = explode( '?', $handle ); $handle = $handle_parts[0]; $queued = in_array( $handle, $this->to_do, true ); if ( in_array( $handle, $this->done, true ) ) { // Already done. continue; } $moved = $this->set_group( $handle, $recursion, $group ); $new_group = $this->groups[ $handle ]; if ( $queued && ! $moved ) { // Already queued and in the right group. continue; } $keep_going = true; if ( ! isset( $this->registered[ $handle ] ) ) { $keep_going = false; // Item doesn't exist. } elseif ( $this->registered[ $handle ]->deps && array_diff( $this->registered[ $handle ]->deps, array_keys( $this->registered ) ) ) { $keep_going = false; // Item requires dependencies that don't exist. } elseif ( $this->registered[ $handle ]->deps && ! $this->all_deps( $this->registered[ $handle ]->deps, true, $new_group ) ) { $keep_going = false; // Item requires dependencies that don't exist. } if ( ! $keep_going ) { // Either item or its dependencies don't exist. if ( $recursion ) { return false; // Abort this branch. } else { continue; // We're at the top level. Move on to the next one. } } if ( $queued ) { // Already grabbed it and its dependencies. continue; } if ( isset( $handle_parts[1] ) ) { $this->args[ $handle ] = $handle_parts[1]; } $this->to_do[] = $handle; } return true; }
Version | Description |
---|---|
2.8.0 | Added the $group parameter. |
2.6.0 | Moved from WP_Scripts . |
2.1.0 | Introduced. |
© 2003–2019 WordPress Foundation
Licensed under the GNU GPLv2+ License.
https://developer.wordpress.org/reference/classes/WP_Dependencies/all_deps