WP_Plugin_Dependencies::get_circular_dependencies()protected staticWP 6.5.0

Gets circular dependency data.

Method of the class: WP_Plugin_Dependencies{}

No Hooks.

Return

Array[]. An array of circular dependency pairings.

Usage

$result = WP_Plugin_Dependencies::get_circular_dependencies();

Changelog

Since 6.5.0 Introduced.

WP_Plugin_Dependencies::get_circular_dependencies() code WP 6.7.1

protected static function get_circular_dependencies() {
	if ( is_array( self::$circular_dependencies_pairs ) ) {
		return self::$circular_dependencies_pairs;
	}

	if ( null === self::$dependencies ) {
		return array();
	}

	self::$circular_dependencies_slugs = array();

	self::$circular_dependencies_pairs = array();
	foreach ( self::$dependencies as $dependent => $dependencies ) {
		/*
		 * $dependent is in 'a/a.php' format. Dependencies are stored as slugs, i.e. 'a'.
		 *
		 * Convert $dependent to slug format for checking.
		 */
		$dependent_slug = self::convert_to_slug( $dependent );

		self::$circular_dependencies_pairs = array_merge(
			self::$circular_dependencies_pairs,
			self::check_for_circular_dependencies( array( $dependent_slug ), $dependencies )
		);
	}

	return self::$circular_dependencies_pairs;
}