The all_plugins WordPress PHP filter allows you to modify the full array of plugins that are displayed in the Plugins list table.
Usage
add_filter('all_plugins', 'your_custom_function_name'); function your_custom_function_name($all_plugins) { // your custom code here return $all_plugins; }
Parameters
$all_plugins
(array): An array of plugins to display in the list table.
More information
See WordPress Developer Resources: all_plugins
Examples
Hiding a specific plugin
Hide the “Hello Dolly” plugin from the Plugins list table.
add_filter('all_plugins', 'hide_hello_dolly_plugin'); function hide_hello_dolly_plugin($all_plugins) { unset($all_plugins['hello.php']); return $all_plugins; }
Adding a custom plugin
Add a custom plugin to the Plugins list table.
add_filter('all_plugins', 'add_custom_plugin'); function add_custom_plugin($all_plugins) { $custom_plugin = array( 'custom-plugin.php' => array( 'Name' => 'Custom Plugin', 'Description' => 'A custom plugin description.', ) ); $all_plugins = array_merge($all_plugins, $custom_plugin); return $all_plugins; }
Alphabetically sorting plugins
Sort the plugins in the Plugins list table alphabetically by plugin name.
add_filter('all_plugins', 'sort_plugins_alphabetically'); function sort_plugins_alphabetically($all_plugins) { uasort($all_plugins, function($a, $b) { return strcmp($a['Name'], $b['Name']); }); return $all_plugins; }
Filtering plugins by author
Only display plugins by a specific author in the Plugins list table.
add_filter('all_plugins', 'filter_plugins_by_author'); function filter_plugins_by_author($all_plugins) { $filtered_plugins = array(); foreach ($all_plugins as $key => $plugin) { if ($plugin['Author'] === 'Author Name') { $filtered_plugins[$key] = $plugin; } } return $filtered_plugins; }
Hiding inactive plugins
Hide inactive plugins from the Plugins list table.
add_filter('all_plugins', 'hide_inactive_plugins'); function hide_inactive_plugins($all_plugins) { $active_plugins = get_option('active_plugins'); $active_plugins = array_flip($active_plugins); return array_intersect_key($all_plugins, $active_plugins); }