diff --git a/src/wp-admin/includes/plugin.php b/src/wp-admin/includes/plugin.php index f8ca6ea5fd..b8dcdbe53b 100644 --- a/src/wp-admin/includes/plugin.php +++ b/src/wp-admin/includes/plugin.php @@ -635,7 +635,9 @@ function activate_plugin( $plugin, $redirect = '', $network_wide = false, $silen ob_start(); wp_register_plugin_realpath( WP_PLUGIN_DIR . '/' . $plugin ); $_wp_plugin_file = $plugin; - define( 'WP_SANDBOX_SCRAPING', true ); + if ( ! defined( 'WP_SANDBOX_SCRAPING' ) ) { + define( 'WP_SANDBOX_SCRAPING', true ); + } include_once( WP_PLUGIN_DIR . '/' . $plugin ); $plugin = $_wp_plugin_file; // Avoid stomping of the $plugin variable in a plugin. @@ -2132,7 +2134,9 @@ function wp_clean_plugins_cache( $clear_update_cache = true ) { * @param string $plugin Path to the plugin file relative to the plugins directory. */ function plugin_sandbox_scrape( $plugin ) { - define( 'WP_SANDBOX_SCRAPING', true ); + if ( ! defined( 'WP_SANDBOX_SCRAPING' ) ) { + define( 'WP_SANDBOX_SCRAPING', true ); + } wp_register_plugin_realpath( WP_PLUGIN_DIR . '/' . $plugin ); include( WP_PLUGIN_DIR . '/' . $plugin ); } diff --git a/src/wp-admin/includes/theme.php b/src/wp-admin/includes/theme.php index 98391123aa..5283cea8bc 100644 --- a/src/wp-admin/includes/theme.php +++ b/src/wp-admin/includes/theme.php @@ -859,7 +859,9 @@ function resume_theme( $theme, $redirect = '' ) { // Load the theme's functions.php to test whether it throws a fatal error. ob_start(); - define( 'WP_SANDBOX_SCRAPING', true ); + if ( ! defined( 'WP_SANDBOX_SCRAPING' ) ) { + define( 'WP_SANDBOX_SCRAPING', true ); + } include $functions_path; ob_clean(); } diff --git a/src/wp-includes/load.php b/src/wp-includes/load.php index 1915fbde17..05d37f5a79 100644 --- a/src/wp-includes/load.php +++ b/src/wp-includes/load.php @@ -1444,7 +1444,9 @@ function wp_start_scraping_edited_file_errors() { echo "###### wp_scraping_result_end:$key ######"; die(); } - define( 'WP_SANDBOX_SCRAPING', true ); + if ( ! defined( 'WP_SANDBOX_SCRAPING' ) ) { + define( 'WP_SANDBOX_SCRAPING', true ); + } register_shutdown_function( 'wp_finalize_scraping_edited_file_errors', $key ); }