WordPress Version: 6.1
/**
* Checks the wp-content directory and retrieve all drop-ins with any plugin data.
*
* @since 3.0.0
* @return array[] Array of arrays of dropin plugin data, keyed by plugin file name. See get_plugin_data().
*/
function get_dropins()
{
$dropins = array();
$plugin_files = array();
$_dropins = _get_dropins();
// Files in wp-content directory.
$plugins_dir = @opendir(WP_CONTENT_DIR);
if ($plugins_dir) {
while (($file = readdir($plugins_dir)) !== false) {
if (isset($_dropins[$file])) {
$plugin_files[] = $file;
}
}
} else {
return $dropins;
}
closedir($plugins_dir);
if (empty($plugin_files)) {
return $dropins;
}
foreach ($plugin_files as $plugin_file) {
if (!is_readable(WP_CONTENT_DIR . "/{$plugin_file}")) {
continue;
}
// Do not apply markup/translate as it will be cached.
$plugin_data = get_plugin_data(WP_CONTENT_DIR . "/{$plugin_file}", false, false);
if (empty($plugin_data['Name'])) {
$plugin_data['Name'] = $plugin_file;
}
$dropins[$plugin_file] = $plugin_data;
}
uksort($dropins, 'strnatcasecmp');
return $dropins;
}