W3cubDocs

/WordPress

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

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

Parameters

$extensionarrayrequired
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'.

Return

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

Source

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;
}

Changelog

Version Description
5.3.0 Introduced.

© 2003–2024 WordPress Foundation
Licensed under the GNU GPLv2+ License.
https://developer.wordpress.org/reference/classes/wp_recovery_mode_email_service/get_plugin