The is_uninstallable_plugin() WordPress PHP function determines whether a plugin can be uninstalled.
Usage
To use the is_uninstallable_plugin() function, pass the plugin file path relative to the plugins directory as a string:
is_uninstallable_plugin($plugin);
Parameters
$plugin
(string) – Required: Path to the plugin file relative to the plugins directory.
More information
See WordPress Developer Resources: is_uninstallable_plugin()
Examples
Check if a plugin can be uninstalled
This example checks if the plugin my-plugin/my-plugin.php
can be uninstalled.
$plugin = 'my-plugin/my-plugin.php'; $uninstallable = is_uninstallable_plugin($plugin); if ($uninstallable) { echo "The plugin can be uninstalled."; } else { echo "The plugin cannot be uninstalled."; }
Display uninstallable plugins from an array
This example displays all uninstallable plugins from an array of plugins.
$plugins = [ 'plugin1/plugin1.php', 'plugin2/plugin2.php', 'plugin3/plugin3.php' ]; foreach ($plugins as $plugin) { if (is_uninstallable_plugin($plugin)) { echo $plugin . " can be uninstalled.<br>"; } }
Get uninstallable plugins from all active plugins
This example retrieves all uninstallable plugins from the list of active plugins.
$active_plugins = get_option('active_plugins'); $uninstallable_plugins = []; foreach ($active_plugins as $plugin) { if (is_uninstallable_plugin($plugin)) { $uninstallable_plugins[] = $plugin; } } print_r($uninstallable_plugins);
Create a function to check if a plugin is uninstallable
This example creates a reusable function check_plugin_uninstallable
that checks if a given plugin is uninstallable.
function check_plugin_uninstallable($plugin) { if (is_uninstallable_plugin($plugin)) { return true; } else { return false; } } $plugin = 'my-plugin/my-plugin.php'; $result = check_plugin_uninstallable($plugin); if ($result) { echo "The plugin can be uninstalled."; } else { echo "The plugin cannot be uninstalled."; }
Uninstall all uninstallable plugins
This example uninstalls all uninstallable plugins from the list of active plugins.
$active_plugins = get_option('active_plugins'); foreach ($active_plugins as $plugin) { if (is_uninstallable_plugin($plugin)) { uninstall_plugin($plugin); echo $plugin . " has been uninstalled.<br>"; } }