The plugin_files_exclusions WordPress PHP filter allows you to modify the array of excluded directories and files while scanning the folder.
Usage
add_filter('plugin_files_exclusions', 'your_custom_function'); function your_custom_function($exclusions) { // your custom code here return $exclusions; }
Parameters
- $exclusions (string[]): Array of excluded directories and files.
More information
See WordPress Developer Resources: plugin_files_exclusions
Examples
Exclude a specific directory
To exclude a specific directory from the scanning process, add its name to the exclusions array.
add_filter('plugin_files_exclusions', 'exclude_specific_directory'); function exclude_specific_directory($exclusions) { $exclusions[] = 'my_directory_to_exclude'; return $exclusions; }
Exclude multiple directories
To exclude multiple directories, add their names to the exclusions array.
add_filter('plugin_files_exclusions', 'exclude_multiple_directories'); function exclude_multiple_directories($exclusions) { $dirs_to_exclude = ['directory_one', 'directory_two', 'directory_three']; $exclusions = array_merge($exclusions, $dirs_to_exclude); return $exclusions; }
Exclude a specific file
To exclude a specific file, add its name to the exclusions array.
add_filter('plugin_files_exclusions', 'exclude_specific_file'); function exclude_specific_file($exclusions) { $exclusions[] = 'my_file_to_exclude.php'; return $exclusions; }
Exclude files with a specific extension
To exclude all files with a specific extension, iterate through the exclusions array and add the file names that match the extension.
add_filter('plugin_files_exclusions', 'exclude_files_with_extension'); function exclude_files_with_extension($exclusions) { $extension_to_exclude = '.txt'; foreach (glob('*' . $extension_to_exclude) as $file) { $exclusions[] = $file; } return $exclusions; }
Remove an exclusion
To remove an exclusion from the list, use array_search and unset functions.
add_filter('plugin_files_exclusions', 'remove_exclusion_from_list'); function remove_exclusion_from_list($exclusions) { $exclusion_to_remove = 'directory_to_include'; if (($key = array_search($exclusion_to_remove, $exclusions)) !== false) { unset($exclusions[$key]); } return $exclusions; }