validate_plugin()WP 2.5.0

Validates the plugin path.

Checks that the main plugin file exists and is a valid plugin. See validate_file().

No Hooks.

Returns

Int|WP_Error. 0 on success, WP_Error on failure.

Usage

validate_plugin( $plugin );
$plugin(string) (required)
Path to the plugin file relative to the plugins directory.

Changelog

Since 2.5.0 Introduced.

validate_plugin() code WP 6.8.1

function validate_plugin( $plugin ) {
	if ( validate_file( $plugin ) ) {
		return new WP_Error( 'plugin_invalid', __( 'Invalid plugin path.' ) );
	}
	if ( ! file_exists( WP_PLUGIN_DIR . '/' . $plugin ) ) {
		return new WP_Error( 'plugin_not_found', __( 'Plugin file does not exist.' ) );
	}

	$installed_plugins = get_plugins();
	if ( ! isset( $installed_plugins[ $plugin ] ) ) {
		return new WP_Error( 'no_plugin_header', __( 'The plugin does not have a valid header.' ) );
	}
	return 0;
}