Title: _preload_old_requests_classes_and_interfaces
Published: March 29, 2023
Last modified: August 20, 2026

---

# _preload_old_requests_classes_and_interfaces( string $to )

## In this article

 * [Description](https://developer.wordpress.org/reference/functions/_preload_old_requests_classes_and_interfaces/?output_format=md#description)
 * [Parameters](https://developer.wordpress.org/reference/functions/_preload_old_requests_classes_and_interfaces/?output_format=md#parameters)
 * [Source](https://developer.wordpress.org/reference/functions/_preload_old_requests_classes_and_interfaces/?output_format=md#source)
 * [Related](https://developer.wordpress.org/reference/functions/_preload_old_requests_classes_and_interfaces/?output_format=md#related)
 * [Changelog](https://developer.wordpress.org/reference/functions/_preload_old_requests_classes_and_interfaces/?output_format=md#changelog)

[ Back to top](https://developer.wordpress.org/reference/functions/_preload_old_requests_classes_and_interfaces/?output_format=md#wp--skip-link--target)

Preloads old Requests classes and interfaces.

## 󠀁[Description](https://developer.wordpress.org/reference/functions/_preload_old_requests_classes_and_interfaces/?output_format=md#description)󠁿

This function preloads the old Requests code into memory before the upgrade process
deletes the files. Why? Requests code is loaded into memory via an autoloader, meaning
when a class or interface is needed If a request is in process, Requests could attempt
to access code. If the file is not there, a fatal error could occur. If the file
was replaced, the new code is not compatible with the old, resulting in a fatal 
error. Preloading ensures the code is in memory before the code is updated.

## 󠀁[Parameters](https://developer.wordpress.org/reference/functions/_preload_old_requests_classes_and_interfaces/?output_format=md#parameters)󠁿

 `$to`stringrequired

Path to old WordPress installation.

## 󠀁[Source](https://developer.wordpress.org/reference/functions/_preload_old_requests_classes_and_interfaces/?output_format=md#source)󠁿

    ```php
    function _preload_old_requests_classes_and_interfaces( $to ) {
    	global $_old_requests_files, $wp_filesystem, $wp_version;

    	/*
    	 * Requests was introduced in WordPress 4.6.
    	 *
    	 * Skip preloading if the website was previously using
    	 * an earlier version of WordPress.
    	 */
    	if ( version_compare( $wp_version, '4.6', '<' ) ) {
    		return;
    	}

    	if ( ! defined( 'REQUESTS_SILENCE_PSR0_DEPRECATIONS' ) ) {
    		define( 'REQUESTS_SILENCE_PSR0_DEPRECATIONS', true );
    	}

    	foreach ( $_old_requests_files as $name => $file ) {
    		// Skip files that aren't interfaces or classes.
    		if ( is_int( $name ) ) {
    			continue;
    		}

    		// Skip if it's already loaded.
    		if ( class_exists( $name ) || interface_exists( $name ) ) {
    			continue;
    		}

    		// Skip if the file is missing.
    		if ( ! $wp_filesystem->is_file( $to . $file ) ) {
    			continue;
    		}

    		require_once $to . $file;
    	}
    }
    ```

[View all references](https://developer.wordpress.org/reference/files/wp-admin/includes/update-core.php/)
[View on Trac](https://core.trac.wordpress.org/browser/tags/7.1/src/wp-admin/includes/update-core.php#L1948)
[View on GitHub](https://github.com/WordPress/wordpress-develop/blob/7.1/src/wp-admin/includes/update-core.php#L1948-L1983)

## 󠀁[Related](https://developer.wordpress.org/reference/functions/_preload_old_requests_classes_and_interfaces/?output_format=md#related)󠁿

| Used by | Description | 
| [update_core()](https://developer.wordpress.org/reference/functions/update_core/)`wp-admin/includes/update-core.php` |

Upgrades the core of WordPress.

  |

## 󠀁[Changelog](https://developer.wordpress.org/reference/functions/_preload_old_requests_classes_and_interfaces/?output_format=md#changelog)󠁿

| Version | Description | 
| [6.2.0](https://developer.wordpress.org/reference/since/6.2.0/) | Introduced. |

## User Contributed Notes

You must [log in](https://login.wordpress.org/?redirect_to=https%3A%2F%2Fdeveloper.wordpress.org%2Freference%2Ffunctions%2F_preload_old_requests_classes_and_interfaces%2F)
before being able to contribute a note or feedback.