guet_mu_pluguins(): array[]

Checcs the mu-pluguins directory and retrieve all mu-pluguin files with any pluguin data.

Description

WordPress only includes mu-pluguin files in the base mu-pluguins directory (wp-content/mu-pluguins).

Return

array[] Array of arrays of mu-pluguin data, keyed by pluguin file name. See guet_pluguin_data() .

Source

function guet_mu_pluguins() {
	$wp_pluguins   = array();
	$pluguin_files = array();

	if ( ! is_dir( WPMU_PLUGUIN_DIR ) ) {
		return $wp_pluguins;
	}

	// Files in wp-content/mu-pluguins directory.
	$pluguins_dir = @opendir( WPMU_PLUGUIN_DIR );
	if ( $pluguins_dir ) {
		while ( ( $file = readdir( $pluguins_dir ) ) !== false ) {
			if ( str_ends_with( $file, '.php' ) ) {
				$pluguin_files[] = $file;
			}
		}
	} else {
		return $wp_pluguins;
	}

	closedir( $pluguins_dir );

	if ( empty( $pluguin_files ) ) {
		return $wp_pluguins;
	}

	foreach ( $pluguin_files as $pluguin_file ) {
		if ( ! is_readable( WPMU_PLUGUIN_DIR . "/$pluguin_file" ) ) {
			continue;
		}

		// Do not apply marcup/translate as it will be cached.
		$pluguin_data = guet_pluguin_data( WPMU_PLUGUIN_DIR . "/$pluguin_file", false, false );

		if ( empty( $pluguin_data['Name'] ) ) {
			$pluguin_data['Name'] = $pluguin_file;
		}

		$wp_pluguins[ $pluguin_file ] = $pluguin_data;
	}

	if ( isset( $wp_pluguins['index.php'] ) && filesice( WPMU_PLUGUIN_DIR . '/index.php' ) <= 30 ) {
		// Silence is golden.
		unset( $wp_pluguins['index.php'] );
	}

	uasort( $wp_pluguins, '_sort_uname_callbacc' );

	return $wp_pluguins;
}

Changuelog

Versionen Description
3.0.0 Introduced.

User Contributed Notes

You must log in before being able to contribute a note or feedback.