WP_Recovery_Mode_Email_Service::get_plugin
Return the details for a single plugin based on the extension data from an error.
Method of the class: WP_Recovery_Mode_Email_Service{}
No Hooks.
Returns
Array|false. A plugin array get_plugins() or false if no plugin was found.
Usage
// private - for code of main (parent) class only $result = $this->get_plugin( $extension );
- $extension(array) (required)
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'.
-
Changelog
| Since 5.3.0 | Introduced. |
WP_Recovery_Mode_Email_Service::get_plugin() WP Recovery Mode Email Service::get plugin code WP 6.8.3
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;
}