WP_Recovery_Mode::get_extension_for_error()
Gets the extension that the error occurred in.
Method of the class: WP_Recovery_Mode{}
No Hooks.
Return
Array|false
. Extension details.
Usage
// protected - for code of main (parent) or child class $result = $this->get_extension_for_error( $error );
- $error(array) (required)
- Error details from error_get_last().
Notes
- Global. Array. $wp_theme_directories
Changelog
Since 5.2.0 | Introduced. |
WP_Recovery_Mode::get_extension_for_error() WP Recovery Mode::get extension for error code WP 6.7.1
protected function get_extension_for_error( $error ) { global $wp_theme_directories; if ( ! isset( $error['file'] ) ) { return false; } if ( ! defined( 'WP_PLUGIN_DIR' ) ) { return false; } $error_file = wp_normalize_path( $error['file'] ); $wp_plugin_dir = wp_normalize_path( WP_PLUGIN_DIR ); if ( str_starts_with( $error_file, $wp_plugin_dir ) ) { $path = str_replace( $wp_plugin_dir . '/', '', $error_file ); $parts = explode( '/', $path ); return array( 'type' => 'plugin', 'slug' => $parts[0], ); } if ( empty( $wp_theme_directories ) ) { return false; } foreach ( $wp_theme_directories as $theme_directory ) { $theme_directory = wp_normalize_path( $theme_directory ); if ( str_starts_with( $error_file, $theme_directory ) ) { $path = str_replace( $theme_directory . '/', '', $error_file ); $parts = explode( '/', $path ); return array( 'type' => 'theme', 'slug' => $parts[0], ); } } return false; }