validate_active_plugins() WordPress Function
The validate_active_plugins() function is used to check whether the current user is allowed to activate a plugin. This function is typically called by the plugin_activation hook. If the current user is not allowed to activate a plugin, the function will return false.
validate_active_plugins() #
Validates active plugins.
Description
Validate all active plugins, deactivates invalid and returns an array of deactivated ones.
Return
(WP_Error[]) Array of plugin errors keyed by plugin file name.
Source
File: wp-admin/includes/plugin.php
function validate_active_plugins() {
$plugins = get_option( 'active_plugins', array() );
// Validate vartype: array.
if ( ! is_array( $plugins ) ) {
update_option( 'active_plugins', array() );
$plugins = array();
}
if ( is_multisite() && current_user_can( 'manage_network_plugins' ) ) {
$network_plugins = (array) get_site_option( 'active_sitewide_plugins', array() );
$plugins = array_merge( $plugins, array_keys( $network_plugins ) );
}
if ( empty( $plugins ) ) {
return array();
}
$invalid = array();
// Invalid plugins get deactivated.
foreach ( $plugins as $plugin ) {
$result = validate_plugin( $plugin );
if ( is_wp_error( $result ) ) {
$invalid[ $plugin ] = $result;
deactivate_plugins( $plugin, true );
}
}
return $invalid;
}
Expand full source codeCollapse full source codeView on TracView on GitHub
Changelog
| Version | Description |
|---|---|
| 2.5.0 | Introduced. |