WP_Recovery_Mode_Email_Service::get_plugin( array $extension ): array|false

In this article

This function’s access is marked private. This means it is not intended for use by plugin or theme developers, only in other core functions. It is listed here for completeness.

Return the details for a single plugin based on the extension data from an error.


The extension that caused the error.
  • slug string
    The extension slug. The directory of the plugin or theme.
  • type string
    The extension type. Either 'plugin' or 'theme'.


array|false A plugin array get_plugins() or false if no plugin was found.


private function get_plugin( $extension ) {
	if ( ! function_exists( 'get_plugins' ) ) {
		require_once ABSPATH . 'wp-admin/includes/plugin.php';

	$plugins = get_plugins();

	// Assume plugin main file name first since it is a common convention.
	if ( isset( $plugins[ "{$extension['slug']}/{$extension['slug']}.php" ] ) ) {
		return $plugins[ "{$extension['slug']}/{$extension['slug']}.php" ];
	} else {
		foreach ( $plugins as $file => $plugin_data ) {
			if ( str_starts_with( $file, "{$extension['slug']}/" ) || $file === $extension['slug'] ) {
				return $plugin_data;

	return false;



User Contributed Notes

You must log in before being able to contribute a note or feedback.