else {
$name = $plugin['Name'];
}
/* translators: %s: Plugin name. */
$cause = sprintf( __( 'In this case, WordPress caught an error with one of your plugins, %s.' ), $name );
} else {
$theme = wp_get_theme( $extension['slug'] );
$name = $theme->exists() ? $theme->display( 'Name' ) : $extension['slug'];
/* translators: %s: Theme name. */
$cause = sprintf( __( 'In this case, WordPress caught an error with your theme, %s.' ), $name );
}
return $cause;
}
/**
* Return the details for a single plugin based on the extension data from an error.
*
* @since 5.3.0
*
* @param array $extension {
* The extension that caused the error.
*
* @type string $slug The extension slug. The directory of the plugin or theme.
* @type string $type The extension type. Either 'plugin' or 'theme'.
* }
* @return array|false A plugin array {@see 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;
}
/**
* Return debug information in an easy to manipulate format.
*
* @since 5.3.0
*
* @param array $extension {
* The extension that caused the error.
*
* @type string $slug The extension slug. The directory of the plugin or theme.
* @type string $type The extension type. Either 'plugin' or 'theme'.
* }
* @return array An associative array of debug information.
*/
private function get_debug( $extension ) {
$theme = wp_get_theme();
$wp_version = get_bloginfo( 'version' );
if ( $extension ) {
$plugin = $this->get_plugin( $extension );
} else {
$plugin = null;
}
$debug = array(
'wp' => sprintf(
/* translators: %s: Current WordPress version number. */
__( 'WordPress version %s' ),
$wp_version
),
'theme' => sprintf(
/* translators: 1: Current active theme name. 2: Current active theme version. */
__( 'Active theme: %1$s (version %2$s)' ),
$theme->get( 'Name' ),
$theme->get( 'Version' )
),
);
if ( null !== $plugin ) {
$debug['plugin'] = sprintf(
/* translators: 1: The failing plugins name. 2: The failing plugins version. */
__( 'Current plugin: %1$s (version %2$s)' ),
$plugin['Name'],
$plugin['Version']
);
}
$debug['php'] = sprintf(
/* translators: %s: The currently used PHP version. */
__( 'PHP version %s' ),
PHP_VERSION
);
return $debug;
}
}
Fatal error: Uncaught Error: Class 'WP_Recovery_Mode_Email_Service' not found in /var/www/html/helitower.com.br/web/wp-includes/class-wp-recovery-mode.php:84
Stack trace:
#0 /var/www/html/helitower.com.br/web/wp-includes/error-protection.php(153): WP_Recovery_Mode->__construct()
#1 /var/www/html/helitower.com.br/web/wp-settings.php(509): wp_recovery_mode()
#2 /var/www/html/helitower.com.br/web/wp-config.php(99): require_once('/var/www/html/h...')
#3 /var/www/html/helitower.com.br/web/wp-load.php(50): require_once('/var/www/html/h...')
#4 /var/www/html/helitower.com.br/web/wp-blog-header.php(13): require_once('/var/www/html/h...')
#5 /var/www/html/helitower.com.br/web/index.php(18): require('/var/www/html/h...')
#6 {main}
thrown in /var/www/html/helitower.com.br/web/wp-includes/class-wp-recovery-mode.php on line 84
Fatal error: Uncaught Error: Class 'WP_Recovery_Mode_Email_Service' not found in /var/www/html/helitower.com.br/web/wp-includes/class-wp-recovery-mode.php:84
Stack trace:
#0 /var/www/html/helitower.com.br/web/wp-includes/error-protection.php(153): WP_Recovery_Mode->__construct()
#1 /var/www/html/helitower.com.br/web/wp-includes/class-wp-fatal-error-handler.php(54): wp_recovery_mode()
#2 [internal function]: WP_Fatal_Error_Handler->handle()
#3 {main}
thrown in /var/www/html/helitower.com.br/web/wp-includes/class-wp-recovery-mode.php on line 84