diff --git a/src/index.php b/src/index.php index 91c0517857339..6b9421d84b614 100644 --- a/src/index.php +++ b/src/index.php @@ -11,16 +11,18 @@ define( 'ABSPATH', __DIR__ . '/' ); } -/* - * Load the actual index.php file if the assets were already built. - * Note: WPINC is not defined yet, it is defined later in wp-settings.php. - */ -if ( file_exists( ABSPATH . 'wp-includes/js/dist/edit-post.js' ) ) { +if ( ! defined( 'WPINC' ) ) { + define( 'WPINC', 'wp-includes' ); +} + +require_once ABSPATH . WPINC . '/class-wp-autoload.php'; + +// Load the actual index.php file if the assets were already built. +if ( file_exists( ABSPATH . WPINC . '/js/dist/edit-post.js' ) ) { require_once ABSPATH . '_index.php'; return; } -define( 'WPINC', 'wp-includes' ); require_once ABSPATH . WPINC . '/version.php'; require_once ABSPATH . WPINC . '/compat.php'; require_once ABSPATH . WPINC . '/load.php'; diff --git a/src/wp-admin/custom-background.php b/src/wp-admin/custom-background.php index 37b8c3d8b8403..08cd82960a9c7 100644 --- a/src/wp-admin/custom-background.php +++ b/src/wp-admin/custom-background.php @@ -10,6 +10,3 @@ */ _deprecated_file( basename( __FILE__ ), '5.3.0', 'wp-admin/includes/class-custom-background.php' ); - -/** Custom_Background class */ -require_once ABSPATH . 'wp-admin/includes/class-custom-background.php'; diff --git a/src/wp-admin/custom-header.php b/src/wp-admin/custom-header.php index d89f03bbaab2a..1f11ee047aa0a 100644 --- a/src/wp-admin/custom-header.php +++ b/src/wp-admin/custom-header.php @@ -10,6 +10,3 @@ */ _deprecated_file( basename( __FILE__ ), '5.3.0', 'wp-admin/includes/class-custom-image-header.php' ); - -/** Custom_Image_Header class */ -require_once ABSPATH . 'wp-admin/includes/class-custom-image-header.php'; diff --git a/src/wp-admin/includes/admin.php b/src/wp-admin/includes/admin.php index ce2ec0c68b855..455448e23cd61 100644 --- a/src/wp-admin/includes/admin.php +++ b/src/wp-admin/includes/admin.php @@ -42,9 +42,6 @@ /** WordPress Misc Administration API */ require_once ABSPATH . 'wp-admin/includes/misc.php'; -/** WordPress Misc Administration API */ -require_once ABSPATH . 'wp-admin/includes/class-wp-privacy-policy-content.php'; - /** WordPress Options Administration API */ require_once ABSPATH . 'wp-admin/includes/options.php'; @@ -55,7 +52,6 @@ require_once ABSPATH . 'wp-admin/includes/post.php'; /** WordPress Administration Screen API */ -require_once ABSPATH . 'wp-admin/includes/class-wp-screen.php'; require_once ABSPATH . 'wp-admin/includes/screen.php'; /** WordPress Taxonomy Administration API */ @@ -65,8 +61,6 @@ require_once ABSPATH . 'wp-admin/includes/template.php'; /** WordPress List Table Administration API and base class */ -require_once ABSPATH . 'wp-admin/includes/class-wp-list-table.php'; -require_once ABSPATH . 'wp-admin/includes/class-wp-list-table-compat.php'; require_once ABSPATH . 'wp-admin/includes/list-table.php'; /** WordPress Theme Administration API */ @@ -75,18 +69,9 @@ /** WordPress Privacy Functions */ require_once ABSPATH . 'wp-admin/includes/privacy-tools.php'; -/** WordPress Privacy List Table classes. */ -// Previously in wp-admin/includes/user.php. Need to be loaded for backward compatibility. -require_once ABSPATH . 'wp-admin/includes/class-wp-privacy-requests-table.php'; -require_once ABSPATH . 'wp-admin/includes/class-wp-privacy-data-export-requests-list-table.php'; -require_once ABSPATH . 'wp-admin/includes/class-wp-privacy-data-removal-requests-list-table.php'; - /** WordPress User Administration API */ require_once ABSPATH . 'wp-admin/includes/user.php'; -/** WordPress Site Icon API */ -require_once ABSPATH . 'wp-admin/includes/class-wp-site-icon.php'; - /** WordPress Update Administration API */ require_once ABSPATH . 'wp-admin/includes/update.php'; diff --git a/src/wp-admin/includes/ajax-actions.php b/src/wp-admin/includes/ajax-actions.php index 75d7a610006af..522f3b101563f 100644 --- a/src/wp-admin/includes/ajax-actions.php +++ b/src/wp-admin/includes/ajax-actions.php @@ -366,8 +366,6 @@ function wp_ajax_autocomplete_user() { * @since 4.8.0 */ function wp_ajax_get_community_events() { - require_once ABSPATH . 'wp-admin/includes/class-wp-community-events.php'; - check_ajax_referer( 'community_events' ); $search = isset( $_POST['location'] ) ? wp_unslash( $_POST['location'] ) : ''; @@ -1935,10 +1933,6 @@ function wp_ajax_wp_link_ajax() { $args['pagenum'] = ! empty( $_POST['page'] ) ? absint( $_POST['page'] ) : 1; - if ( ! class_exists( '_WP_Editors', false ) ) { - require ABSPATH . WPINC . '/class-wp-editor.php'; - } - $results = _WP_Editors::wp_link_query( $args ); if ( ! isset( $results ) ) { @@ -4025,7 +4019,6 @@ function wp_ajax_crop_image() { switch ( $context ) { case 'site-icon': - require_once ABSPATH . 'wp-admin/includes/class-wp-site-icon.php'; $wp_site_icon = new WP_Site_Icon(); // Skip creating a new attachment if the attachment is a Site Icon. @@ -4176,7 +4169,6 @@ function wp_ajax_install_theme() { wp_send_json_error( $status ); } - require_once ABSPATH . 'wp-admin/includes/class-wp-upgrader.php'; require_once ABSPATH . 'wp-admin/includes/theme.php'; $api = themes_api( @@ -4308,8 +4300,6 @@ function wp_ajax_update_theme() { $status['oldVersion'] = $theme->get( 'Version' ); } - require_once ABSPATH . 'wp-admin/includes/class-wp-upgrader.php'; - $current = get_site_transient( 'update_themes' ); if ( empty( $current ) ) { wp_update_themes(); @@ -4469,7 +4459,6 @@ function wp_ajax_install_plugin() { wp_send_json_error( $status ); } - require_once ABSPATH . 'wp-admin/includes/class-wp-upgrader.php'; require_once ABSPATH . 'wp-admin/includes/plugin-install.php'; $api = plugins_api( @@ -4641,8 +4630,6 @@ function wp_ajax_update_plugin() { $status['oldVersion'] = sprintf( __( 'Version %s' ), $plugin_data['Version'] ); } - require_once ABSPATH . 'wp-admin/includes/class-wp-upgrader.php'; - wp_update_plugins(); $skin = new WP_Ajax_Upgrader_Skin(); @@ -5368,10 +5355,6 @@ function wp_ajax_health_check_dotorg_communication() { wp_send_json_error(); } - if ( ! class_exists( 'WP_Site_Health' ) ) { - require_once ABSPATH . 'wp-admin/includes/class-wp-site-health.php'; - } - $site_health = WP_Site_Health::get_instance(); wp_send_json_success( $site_health->get_test_dotorg_communication() ); } @@ -5401,10 +5384,6 @@ function wp_ajax_health_check_background_updates() { wp_send_json_error(); } - if ( ! class_exists( 'WP_Site_Health' ) ) { - require_once ABSPATH . 'wp-admin/includes/class-wp-site-health.php'; - } - $site_health = WP_Site_Health::get_instance(); wp_send_json_success( $site_health->get_test_background_updates() ); } @@ -5434,10 +5413,6 @@ function wp_ajax_health_check_loopback_requests() { wp_send_json_error(); } - if ( ! class_exists( 'WP_Site_Health' ) ) { - require_once ABSPATH . 'wp-admin/includes/class-wp-site-health.php'; - } - $site_health = WP_Site_Health::get_instance(); wp_send_json_success( $site_health->get_test_loopback_requests() ); } @@ -5484,10 +5459,6 @@ function wp_ajax_health_check_get_sizes() { wp_send_json_error(); } - if ( ! class_exists( 'WP_Debug_Data' ) ) { - require_once ABSPATH . 'wp-admin/includes/class-wp-debug-data.php'; - } - $sizes_data = WP_Debug_Data::get_sizes(); $all_sizes = array( 'raw' => 0 ); diff --git a/src/wp-admin/includes/class-ftp.php b/src/wp-admin/includes/class-ftp.php index 1b29783ffa31a..4b08e3bac7e7c 100644 --- a/src/wp-admin/includes/class-ftp.php +++ b/src/wp-admin/includes/class-ftp.php @@ -904,8 +904,6 @@ function PopError(){ $mod_sockets = extension_loaded( 'sockets' ); } -require_once __DIR__ . "/class-ftp-" . ( $mod_sockets ? "sockets" : "pure" ) . ".php"; - if ( $mod_sockets ) { class ftp extends ftp_sockets {} } else { diff --git a/src/wp-admin/includes/class-wp-filesystem-ftpsockets.php b/src/wp-admin/includes/class-wp-filesystem-ftpsockets.php index 9a37d88c116dd..bcea14ab615f7 100644 --- a/src/wp-admin/includes/class-wp-filesystem-ftpsockets.php +++ b/src/wp-admin/includes/class-wp-filesystem-ftpsockets.php @@ -32,11 +32,6 @@ public function __construct( $opt = '' ) { $this->method = 'ftpsockets'; $this->errors = new WP_Error(); - // Check if possible to use ftp functions. - if ( ! require_once ABSPATH . 'wp-admin/includes/class-ftp.php' ) { - return; - } - $this->ftp = new ftp(); if ( empty( $opt['port'] ) ) { diff --git a/src/wp-admin/includes/class-wp-privacy-data-export-requests-list-table.php b/src/wp-admin/includes/class-wp-privacy-data-export-requests-list-table.php index aa68c84649e2f..06fb55dabe77d 100644 --- a/src/wp-admin/includes/class-wp-privacy-data-export-requests-list-table.php +++ b/src/wp-admin/includes/class-wp-privacy-data-export-requests-list-table.php @@ -7,10 +7,6 @@ * @since 4.9.6 */ -if ( ! class_exists( 'WP_Privacy_Requests_Table' ) ) { - require_once ABSPATH . 'wp-admin/includes/class-wp-privacy-requests-table.php'; -} - /** * WP_Privacy_Data_Export_Requests_Table class. * diff --git a/src/wp-admin/includes/class-wp-privacy-data-removal-requests-list-table.php b/src/wp-admin/includes/class-wp-privacy-data-removal-requests-list-table.php index 716535160f12d..3ab7f6f182d3a 100644 --- a/src/wp-admin/includes/class-wp-privacy-data-removal-requests-list-table.php +++ b/src/wp-admin/includes/class-wp-privacy-data-removal-requests-list-table.php @@ -7,10 +7,6 @@ * @since 4.9.6 */ -if ( ! class_exists( 'WP_Privacy_Requests_Table' ) ) { - require_once ABSPATH . 'wp-admin/includes/class-wp-privacy-requests-table.php'; -} - /** * WP_Privacy_Data_Removal_Requests_List_Table class. * diff --git a/src/wp-admin/includes/class-wp-site-health-auto-updates.php b/src/wp-admin/includes/class-wp-site-health-auto-updates.php index 581fc44600c5f..7b286128471a0 100644 --- a/src/wp-admin/includes/class-wp-site-health-auto-updates.php +++ b/src/wp-admin/includes/class-wp-site-health-auto-updates.php @@ -9,15 +9,6 @@ #[AllowDynamicProperties] class WP_Site_Health_Auto_Updates { - /** - * WP_Site_Health_Auto_Updates constructor. - * - * @since 5.2.0 - */ - public function __construct() { - require_once ABSPATH . 'wp-admin/includes/class-wp-upgrader.php'; - } - /** * Runs tests to determine if auto-updates can run. @@ -135,10 +126,6 @@ public function test_filters_automatic_updater_disabled() { * @return array|false The test results. False if auto-updates are enabled. */ public function test_wp_automatic_updates_disabled() { - if ( ! class_exists( 'WP_Automatic_Updater' ) ) { - require_once ABSPATH . 'wp-admin/includes/class-wp-automatic-updater.php'; - } - $auto_updates = new WP_Automatic_Updater(); if ( ! $auto_updates->is_disabled() ) { diff --git a/src/wp-admin/includes/class-wp-site-health.php b/src/wp-admin/includes/class-wp-site-health.php index b35c595c3cf61..34bd411167e25 100644 --- a/src/wp-admin/includes/class-wp-site-health.php +++ b/src/wp-admin/includes/class-wp-site-health.php @@ -1718,10 +1718,6 @@ public function get_test_background_updates() { 'test' => 'background_updates', ); - if ( ! class_exists( 'WP_Site_Health_Auto_Updates' ) ) { - require_once ABSPATH . 'wp-admin/includes/class-wp-site-health-auto-updates.php'; - } - /* * Run the auto-update tests in a separate class, * as there are many considerations to be made. @@ -2315,6 +2311,77 @@ public function get_test_file_uploads() { return $result; } + /** + * Tests if any of the WordPress Core classes are overridden. + * + * @since 6.6.0 + * + * @return array + */ + public static function get_test_core_classes_paths() { + $overridden_classes = array(); + /* + * Bypass check for WP_Object_Cache. + * + * It is intended that persistent caching plugins replace the core version + * of WP_Object_Cache with their own version so it shouldn't be reported + * as an error in site health. + */ + $wp_core_classes = WP_Autoload::CLASSES_PATHS; + unset( $wp_core_classes['wp_object_cache'] ); + foreach ( $wp_core_classes as $class_name => $class_path ) { + $default_path = ABSPATH . $class_path; + + /* + * Init a Reflection class to get the real path of the class. + * This is performed inside an output buffer to avoid any errors + * that might be thrown by the ReflectionClass constructor. + */ + ob_start(); + $reflection = new \ReflectionClass( $class_name ); + ob_end_clean(); + + if ( $default_path !== $reflection->getFileName() ) { + $overridden_classes[ $reflection->getName() ] = $reflection->getFileName(); + } + } + + $result = array( + 'label' => __( 'All WordPress Core classes can be properly loaded' ), + 'status' => 'good', + 'badge' => array( + 'label' => __( 'Security' ), + 'color' => 'blue', + ), + 'description' => sprintf( + '

%s

', + __( 'Plugins and Themes should not override the default WordPress Core classes, as that might lead to unexpected side-effects on your site.' ) + ), + 'actions' => '', + 'test' => 'core_classes_paths', + ); + + if ( ! empty( $overridden_classes ) ) { + $result['status'] = 'critical'; + $result['label'] = __( 'WordPress Core classes are being overridden' ); + $result['description'] .= sprintf( + '

%s

', + __( 'The following WordPress Core classes are being overridden:' ) + ); + + $result['description'] .= ''; + foreach ( $overridden_classes as $class_name => $class_path ) { + $result['description'] .= ''; + $result['description'] .= ''; + $result['description'] .= ''; + $result['description'] .= ''; + } + $result['description'] .= '
' . esc_html( $class_name ) . '' . esc_html( $class_path ) . '
'; + } + + return $result; + } + /** * Tests if the Authorization header has the expected values. * @@ -2830,6 +2897,12 @@ public static function get_tests() { ); } + // Check for Core classes being overridden. + $tests['direct']['core_classes_paths'] = array( + 'label' => __( 'Core classes paths' ), + 'test' => 'core_classes_paths', + ); + /** * Filters which site status tests are run on a site. * diff --git a/src/wp-admin/includes/class-wp-upgrader-skins.php b/src/wp-admin/includes/class-wp-upgrader-skins.php index 636ce1838cdc3..9e2f197c307e6 100644 --- a/src/wp-admin/includes/class-wp-upgrader-skins.php +++ b/src/wp-admin/includes/class-wp-upgrader-skins.php @@ -9,36 +9,3 @@ */ _deprecated_file( basename( __FILE__ ), '4.7.0', 'class-wp-upgrader.php' ); - -/** WP_Upgrader_Skin class */ -require_once ABSPATH . 'wp-admin/includes/class-wp-upgrader-skin.php'; - -/** Plugin_Upgrader_Skin class */ -require_once ABSPATH . 'wp-admin/includes/class-plugin-upgrader-skin.php'; - -/** Theme_Upgrader_Skin class */ -require_once ABSPATH . 'wp-admin/includes/class-theme-upgrader-skin.php'; - -/** Bulk_Upgrader_Skin class */ -require_once ABSPATH . 'wp-admin/includes/class-bulk-upgrader-skin.php'; - -/** Bulk_Plugin_Upgrader_Skin class */ -require_once ABSPATH . 'wp-admin/includes/class-bulk-plugin-upgrader-skin.php'; - -/** Bulk_Theme_Upgrader_Skin class */ -require_once ABSPATH . 'wp-admin/includes/class-bulk-theme-upgrader-skin.php'; - -/** Plugin_Installer_Skin class */ -require_once ABSPATH . 'wp-admin/includes/class-plugin-installer-skin.php'; - -/** Theme_Installer_Skin class */ -require_once ABSPATH . 'wp-admin/includes/class-theme-installer-skin.php'; - -/** Language_Pack_Upgrader_Skin class */ -require_once ABSPATH . 'wp-admin/includes/class-language-pack-upgrader-skin.php'; - -/** Automatic_Upgrader_Skin class */ -require_once ABSPATH . 'wp-admin/includes/class-automatic-upgrader-skin.php'; - -/** WP_Ajax_Upgrader_Skin class */ -require_once ABSPATH . 'wp-admin/includes/class-wp-ajax-upgrader-skin.php'; diff --git a/src/wp-admin/includes/class-wp-upgrader.php b/src/wp-admin/includes/class-wp-upgrader.php index 67996aef3f12a..5c1e837b49660 100644 --- a/src/wp-admin/includes/class-wp-upgrader.php +++ b/src/wp-admin/includes/class-wp-upgrader.php @@ -9,39 +9,6 @@ * @since 2.8.0 */ -/** WP_Upgrader_Skin class */ -require_once ABSPATH . 'wp-admin/includes/class-wp-upgrader-skin.php'; - -/** Plugin_Upgrader_Skin class */ -require_once ABSPATH . 'wp-admin/includes/class-plugin-upgrader-skin.php'; - -/** Theme_Upgrader_Skin class */ -require_once ABSPATH . 'wp-admin/includes/class-theme-upgrader-skin.php'; - -/** Bulk_Upgrader_Skin class */ -require_once ABSPATH . 'wp-admin/includes/class-bulk-upgrader-skin.php'; - -/** Bulk_Plugin_Upgrader_Skin class */ -require_once ABSPATH . 'wp-admin/includes/class-bulk-plugin-upgrader-skin.php'; - -/** Bulk_Theme_Upgrader_Skin class */ -require_once ABSPATH . 'wp-admin/includes/class-bulk-theme-upgrader-skin.php'; - -/** Plugin_Installer_Skin class */ -require_once ABSPATH . 'wp-admin/includes/class-plugin-installer-skin.php'; - -/** Theme_Installer_Skin class */ -require_once ABSPATH . 'wp-admin/includes/class-theme-installer-skin.php'; - -/** Language_Pack_Upgrader_Skin class */ -require_once ABSPATH . 'wp-admin/includes/class-language-pack-upgrader-skin.php'; - -/** Automatic_Upgrader_Skin class */ -require_once ABSPATH . 'wp-admin/includes/class-automatic-upgrader-skin.php'; - -/** WP_Ajax_Upgrader_Skin class */ -require_once ABSPATH . 'wp-admin/includes/class-wp-ajax-upgrader-skin.php'; - /** * Core class used for upgrading/installing a local set of files via * the Filesystem Abstraction classes from a Zip file. @@ -1268,21 +1235,3 @@ public function delete_temp_backup( array $temp_backups = array() ) { return $errors->has_errors() ? $errors : true; } } - -/** Plugin_Upgrader class */ -require_once ABSPATH . 'wp-admin/includes/class-plugin-upgrader.php'; - -/** Theme_Upgrader class */ -require_once ABSPATH . 'wp-admin/includes/class-theme-upgrader.php'; - -/** Language_Pack_Upgrader class */ -require_once ABSPATH . 'wp-admin/includes/class-language-pack-upgrader.php'; - -/** Core_Upgrader class */ -require_once ABSPATH . 'wp-admin/includes/class-core-upgrader.php'; - -/** File_Upload_Upgrader class */ -require_once ABSPATH . 'wp-admin/includes/class-file-upload-upgrader.php'; - -/** WP_Automatic_Updater class */ -require_once ABSPATH . 'wp-admin/includes/class-wp-automatic-updater.php'; diff --git a/src/wp-admin/includes/dashboard.php b/src/wp-admin/includes/dashboard.php index 427006c03cef9..7209b45bd2fd1 100644 --- a/src/wp-admin/includes/dashboard.php +++ b/src/wp-admin/includes/dashboard.php @@ -56,9 +56,6 @@ function wp_dashboard_setup() { // Site Health. if ( current_user_can( 'view_site_health_checks' ) && ! is_network_admin() ) { - if ( ! class_exists( 'WP_Site_Health' ) ) { - require_once ABSPATH . 'wp-admin/includes/class-wp-site-health.php'; - } WP_Site_Health::get_instance(); diff --git a/src/wp-admin/includes/deprecated.php b/src/wp-admin/includes/deprecated.php index f7805b4cc7034..f85c0ee481e09 100644 --- a/src/wp-admin/includes/deprecated.php +++ b/src/wp-admin/includes/deprecated.php @@ -769,9 +769,6 @@ function wp_tiny_mce( $teeny = false, $settings = false ) { static $num = 1; - if ( ! class_exists( '_WP_Editors', false ) ) - require_once ABSPATH . WPINC . '/class-wp-editor.php'; - $editor_id = 'content' . $num++; $set = array( @@ -1165,7 +1162,6 @@ function wp_update_core($current, $feedback = '') { if ( !empty($feedback) ) add_filter('update_feedback', $feedback); - require ABSPATH . 'wp-admin/includes/class-wp-upgrader.php'; $upgrader = new Core_Upgrader(); return $upgrader->upgrade($current); @@ -1188,7 +1184,6 @@ function wp_update_plugin($plugin, $feedback = '') { if ( !empty($feedback) ) add_filter('update_feedback', $feedback); - require ABSPATH . 'wp-admin/includes/class-wp-upgrader.php'; $upgrader = new Plugin_Upgrader(); return $upgrader->upgrade($plugin); } @@ -1210,7 +1205,6 @@ function wp_update_theme($theme, $feedback = '') { if ( !empty($feedback) ) add_filter('update_feedback', $feedback); - require ABSPATH . 'wp-admin/includes/class-wp-upgrader.php'; $upgrader = new Theme_Upgrader(); return $upgrader->upgrade($theme); } diff --git a/src/wp-admin/includes/file.php b/src/wp-admin/includes/file.php index b1ea3fba1bda2..e41f296d7214b 100644 --- a/src/wp-admin/includes/file.php +++ b/src/wp-admin/includes/file.php @@ -1562,8 +1562,6 @@ function wp_zip_file_is_valid( $file ) { } // Fall through to PclZip if ZipArchive is not available, or encountered an error opening the file. - require_once ABSPATH . 'wp-admin/includes/class-pclzip.php'; - $archive = new PclZip( $file ); $archive_is_valid = is_array( $archive->properties() ); @@ -1858,8 +1856,6 @@ function _unzip_file_pclzip( $file, $to, $needed_dirs = array() ) { mbstring_binary_safe_encoding(); - require_once ABSPATH . 'wp-admin/includes/class-pclzip.php'; - $archive = new PclZip( $file ); $archive_files = $archive->extract( PCLZIP_OPT_EXTRACT_AS_STRING ); @@ -2152,8 +2148,6 @@ function move_dir( $from, $to, $overwrite = false ) { function WP_Filesystem( $args = false, $context = false, $allow_relaxed_file_ownership = false ) { // phpcs:ignore WordPress.NamingConventions.ValidFunctionName.FunctionNameInvalid global $wp_filesystem; - require_once ABSPATH . 'wp-admin/includes/class-wp-filesystem-base.php'; - $method = get_filesystem_method( $args, $context, $allow_relaxed_file_ownership ); if ( ! $method ) { diff --git a/src/wp-admin/includes/list-table.php b/src/wp-admin/includes/list-table.php index 1e2c190c80fe9..70208efbe51a3 100644 --- a/src/wp-admin/includes/list-table.php +++ b/src/wp-admin/includes/list-table.php @@ -21,34 +21,30 @@ function _get_list_table( $class_name, $args = array() ) { $core_classes = array( // Site Admin. - 'WP_Posts_List_Table' => 'posts', - 'WP_Media_List_Table' => 'media', - 'WP_Terms_List_Table' => 'terms', - 'WP_Users_List_Table' => 'users', - 'WP_Comments_List_Table' => 'comments', - 'WP_Post_Comments_List_Table' => array( 'comments', 'post-comments' ), - 'WP_Links_List_Table' => 'links', - 'WP_Plugin_Install_List_Table' => 'plugin-install', - 'WP_Themes_List_Table' => 'themes', - 'WP_Theme_Install_List_Table' => array( 'themes', 'theme-install' ), - 'WP_Plugins_List_Table' => 'plugins', - 'WP_Application_Passwords_List_Table' => 'application-passwords', + 'WP_Posts_List_Table', + 'WP_Media_List_Table', + 'WP_Terms_List_Table', + 'WP_Users_List_Table', + 'WP_Comments_List_Table', + 'WP_Post_Comments_List_Table', + 'WP_Links_List_Table', + 'WP_Plugin_Install_List_Table', + 'WP_Themes_List_Table', + 'WP_Theme_Install_List_Table', + 'WP_Plugins_List_Table', + 'WP_Application_Passwords_List_Table', // Network Admin. - 'WP_MS_Sites_List_Table' => 'ms-sites', - 'WP_MS_Users_List_Table' => 'ms-users', - 'WP_MS_Themes_List_Table' => 'ms-themes', + 'WP_MS_Sites_List_Table', + 'WP_MS_Users_List_Table', + 'WP_MS_Themes_List_Table', // Privacy requests tables. - 'WP_Privacy_Data_Export_Requests_List_Table' => 'privacy-data-export-requests', - 'WP_Privacy_Data_Removal_Requests_List_Table' => 'privacy-data-removal-requests', + 'WP_Privacy_Data_Export_Requests_List_Table', + 'WP_Privacy_Data_Removal_Requests_List_Table', ); - if ( isset( $core_classes[ $class_name ] ) ) { - foreach ( (array) $core_classes[ $class_name ] as $required ) { - require_once ABSPATH . 'wp-admin/includes/class-wp-' . $required . '-list-table.php'; - } - + if ( in_array( $class_name, $core_classes ) ) { if ( isset( $args['screen'] ) ) { $args['screen'] = convert_to_screen( $args['screen'] ); } elseif ( isset( $GLOBALS['hook_suffix'] ) ) { diff --git a/src/wp-admin/includes/nav-menu.php b/src/wp-admin/includes/nav-menu.php index 5ba3276b3aea5..72cae03db5d25 100644 --- a/src/wp-admin/includes/nav-menu.php +++ b/src/wp-admin/includes/nav-menu.php @@ -7,12 +7,6 @@ * @since 3.0.0 */ -/** Walker_Nav_Menu_Edit class */ -require_once ABSPATH . 'wp-admin/includes/class-walker-nav-menu-edit.php'; - -/** Walker_Nav_Menu_Checklist class */ -require_once ABSPATH . 'wp-admin/includes/class-walker-nav-menu-checklist.php'; - /** * Prints the appropriate response to a menu quick search. * diff --git a/src/wp-admin/includes/plugin.php b/src/wp-admin/includes/plugin.php index de1468352b3d9..469fed9db7547 100644 --- a/src/wp-admin/includes/plugin.php +++ b/src/wp-admin/includes/plugin.php @@ -2437,11 +2437,6 @@ function wp_add_privacy_policy_content( $plugin_name, $policy_text ) { ); return; } - - if ( ! class_exists( 'WP_Privacy_Policy_Content' ) ) { - require_once ABSPATH . 'wp-admin/includes/class-wp-privacy-policy-content.php'; - } - WP_Privacy_Policy_Content::add( $plugin_name, $policy_text ); } diff --git a/src/wp-admin/includes/template.php b/src/wp-admin/includes/template.php index f78acff4285e6..8296aa29a56c6 100644 --- a/src/wp-admin/includes/template.php +++ b/src/wp-admin/includes/template.php @@ -8,12 +8,6 @@ * @subpackage Administration */ -/** Walker_Category_Checklist class */ -require_once ABSPATH . 'wp-admin/includes/class-walker-category-checklist.php'; - -/** WP_Internal_Pointers class */ -require_once ABSPATH . 'wp-admin/includes/class-wp-internal-pointers.php'; - // // Category Checklists. // diff --git a/src/wp-admin/includes/translation-install.php b/src/wp-admin/includes/translation-install.php index 67609836b94a2..a53afcf639dd5 100644 --- a/src/wp-admin/includes/translation-install.php +++ b/src/wp-admin/includes/translation-install.php @@ -278,7 +278,6 @@ function wp_download_language_pack( $download ) { } $translation = (object) $translation; - require_once ABSPATH . 'wp-admin/includes/class-wp-upgrader.php'; $skin = new Automatic_Upgrader_Skin(); $upgrader = new Language_Pack_Upgrader( $skin ); $translation->type = 'core'; @@ -304,7 +303,6 @@ function wp_can_install_language_pack() { return false; } - require_once ABSPATH . 'wp-admin/includes/class-wp-upgrader.php'; $skin = new Automatic_Upgrader_Skin(); $upgrader = new Language_Pack_Upgrader( $skin ); $upgrader->init(); diff --git a/src/wp-admin/includes/update-core.php b/src/wp-admin/includes/update-core.php index 24f22199f3e9e..3b5e3ab1acfcf 100644 --- a/src/wp-admin/includes/update-core.php +++ b/src/wp-admin/includes/update-core.php @@ -978,6 +978,9 @@ function update_core( $from, $to ) { $_old_files = array_merge( $_old_files, array_values( $_old_requests_files ) ); _preload_old_requests_classes_and_interfaces( $to ); + // Preload Core classes and interfaces to ensure the code is in memory if needed. + _preload_core_classes_and_interfaces(); + /** * Filters feedback messages displayed during the core update process. * @@ -1579,6 +1582,54 @@ function _preload_old_requests_classes_and_interfaces( $to ) { } } +/** + * Preloads old classes and interfaces required for updating Core. + * + * This function preloads the old code into memory before the + * upgrade process deletes the files. These files are loaded into + * memory via an autoloader, meaning when a class or interface is needed + * WordPress Core 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. + * + * @since 6.6.0 + */ +function _preload_core_classes_and_interfaces() { + /* + * The classes to be preloaded. + * These are lowercased to match the format used in the autoloader. + */ + $preload_classes = array( + 'core_upgrader', + 'automatic_upgrader_skin', + 'wp_upgrader_skin', + 'wp_upgrader', + 'wp_error', + 'wp_filesystem_base', + 'wp_filesystem_direct', + 'wp_filesystem_ftpext', + 'wp_filesystem_ftpsockets', + 'wp_filesystem_ssh2', + 'wpdb', + 'ftp', + 'ftp_base', + 'ftp_pure', + 'ftp_sockets', + ); + foreach ( $preload_classes as $class_name ) { + /* + * Skip if it's already loaded. + * This should trigger the autoloader to load the file. + */ + if ( class_exists( $class_name, true ) ) { + continue; + } + // Load the file. + require_once ABSPATH . WP_Autoload::CLASSES_PATHS[ $class_name ]; + } +} + /** * Redirect to the About WordPress page after a successful upgrade. * diff --git a/src/wp-admin/includes/update.php b/src/wp-admin/includes/update.php index 629c1be1cc639..50c3c71c25278 100644 --- a/src/wp-admin/includes/update.php +++ b/src/wp-admin/includes/update.php @@ -97,8 +97,6 @@ function find_core_auto_update() { return false; } - require_once ABSPATH . 'wp-admin/includes/class-wp-upgrader.php'; - $auto_update = false; $upgrader = new WP_Automatic_Updater(); @@ -1042,10 +1040,6 @@ function wp_recovery_mode_nag() { * @return bool True if auto-updates are enabled for `$type`, false otherwise. */ function wp_is_auto_update_enabled_for_type( $type ) { - if ( ! class_exists( 'WP_Automatic_Updater' ) ) { - require_once ABSPATH . 'wp-admin/includes/class-wp-automatic-updater.php'; - } - $updater = new WP_Automatic_Updater(); $enabled = ! $updater->is_disabled(); diff --git a/src/wp-admin/includes/upgrade.php b/src/wp-admin/includes/upgrade.php index 08d04ae2f147c..93324fc091606 100644 --- a/src/wp-admin/includes/upgrade.php +++ b/src/wp-admin/includes/upgrade.php @@ -366,10 +366,6 @@ function wp_install_defaults( $user_id ) { // Disable by default unless the suggested content is provided. $privacy_policy_content = get_site_option( 'default_privacy_policy_content' ); } else { - if ( ! class_exists( 'WP_Privacy_Policy_Content' ) ) { - require_once ABSPATH . 'wp-admin/includes/class-wp-privacy-policy-content.php'; - } - $privacy_policy_content = WP_Privacy_Policy_Content::get_default_content(); } diff --git a/src/wp-admin/install.php b/src/wp-admin/install.php index e81331acfc82e..c260b43e9209e 100644 --- a/src/wp-admin/install.php +++ b/src/wp-admin/install.php @@ -41,9 +41,6 @@ /** Load WordPress Translation Install API */ require_once ABSPATH . 'wp-admin/includes/translation-install.php'; -/** Load wpdb */ -require_once ABSPATH . WPINC . '/class-wpdb.php'; - nocache_headers(); $step = isset( $_GET['step'] ) ? (int) $_GET['step'] : 0; diff --git a/src/wp-admin/load-scripts.php b/src/wp-admin/load-scripts.php index e4b6a1ee5b918..c456f6beaae26 100644 --- a/src/wp-admin/load-scripts.php +++ b/src/wp-admin/load-scripts.php @@ -19,7 +19,11 @@ define( 'ABSPATH', dirname( __DIR__ ) . '/' ); } -define( 'WPINC', 'wp-includes' ); +if ( ! defined( 'WPINC' ) ) { + define( 'WPINC', 'wp-includes' ); +} + +require_once ABSPATH . WPINC . '/class-wp-autoload.php'; $protocol = $_SERVER['SERVER_PROTOCOL']; if ( ! in_array( $protocol, array( 'HTTP/1.1', 'HTTP/2', 'HTTP/2.0', 'HTTP/3' ), true ) ) { diff --git a/src/wp-admin/load-styles.php b/src/wp-admin/load-styles.php index 083c3832eb8cb..1e84df5712f11 100644 --- a/src/wp-admin/load-styles.php +++ b/src/wp-admin/load-styles.php @@ -19,12 +19,15 @@ define( 'ABSPATH', dirname( __DIR__ ) . '/' ); } -define( 'WPINC', 'wp-includes' ); +if ( ! defined( 'WPINC' ) ) { + define( 'WPINC', 'wp-includes' ); +} define( 'WP_CONTENT_DIR', ABSPATH . 'wp-content' ); +require_once ABSPATH . WPINC . '/class-wp-autoload.php'; + require ABSPATH . 'wp-admin/includes/noop.php'; require ABSPATH . WPINC . '/theme.php'; -require ABSPATH . WPINC . '/class-wp-theme-json-resolver.php'; require ABSPATH . WPINC . '/global-styles-and-settings.php'; require ABSPATH . WPINC . '/script-loader.php'; require ABSPATH . WPINC . '/version.php'; diff --git a/src/wp-admin/options-privacy.php b/src/wp-admin/options-privacy.php index 92de2ca9b9b68..7e465e791faf2 100644 --- a/src/wp-admin/options-privacy.php +++ b/src/wp-admin/options-privacy.php @@ -79,11 +79,6 @@ static function ( $body_class ) { add_settings_error( 'page_for_privacy_policy', 'page_for_privacy_policy', $privacy_page_updated_message, 'success' ); } elseif ( 'create-privacy-page' === $action ) { - - if ( ! class_exists( 'WP_Privacy_Policy_Content' ) ) { - require_once ABSPATH . 'wp-admin/includes/class-wp-privacy-policy-content.php'; - } - $privacy_policy_page_content = WP_Privacy_Policy_Content::get_default_content(); $privacy_policy_page_id = wp_insert_post( array( diff --git a/src/wp-admin/privacy-policy-guide.php b/src/wp-admin/privacy-policy-guide.php index ffff9e437463b..88adc4f5c3453 100644 --- a/src/wp-admin/privacy-policy-guide.php +++ b/src/wp-admin/privacy-policy-guide.php @@ -13,10 +13,6 @@ wp_die( __( 'Sorry, you are not allowed to manage privacy options on this site.' ) ); } -if ( ! class_exists( 'WP_Privacy_Policy_Content' ) ) { - require_once ABSPATH . 'wp-admin/includes/class-wp-privacy-policy-content.php'; -} - // Used in the HTML title tag. $title = __( 'Privacy Policy Guide' ); diff --git a/src/wp-admin/setup-config.php b/src/wp-admin/setup-config.php index 2d1ff715d3d23..9dfd59558e862 100644 --- a/src/wp-admin/setup-config.php +++ b/src/wp-admin/setup-config.php @@ -30,6 +30,8 @@ define( 'ABSPATH', dirname( __DIR__ ) . '/' ); } +require_once ABSPATH . 'wp-includes/class-wp-autoload.php'; + require ABSPATH . 'wp-settings.php'; /** Load WordPress Administration Upgrade API */ diff --git a/src/wp-admin/site-health-info.php b/src/wp-admin/site-health-info.php index 2f23f8306854d..09a8779da0d6d 100644 --- a/src/wp-admin/site-health-info.php +++ b/src/wp-admin/site-health-info.php @@ -10,13 +10,6 @@ die(); } -if ( ! class_exists( 'WP_Debug_Data' ) ) { - require_once ABSPATH . 'wp-admin/includes/class-wp-debug-data.php'; -} -if ( ! class_exists( 'WP_Site_Health' ) ) { - require_once ABSPATH . 'wp-admin/includes/class-wp-site-health.php'; -} - $health_check_site_status = WP_Site_Health::get_instance(); wp_admin_notice( diff --git a/src/wp-admin/site-health.php b/src/wp-admin/site-health.php index 0fd7fef07a00a..8d7d2f86227e6 100644 --- a/src/wp-admin/site-health.php +++ b/src/wp-admin/site-health.php @@ -51,10 +51,6 @@ wp_enqueue_style( 'site-health' ); wp_enqueue_script( 'site-health' ); -if ( ! class_exists( 'WP_Site_Health' ) ) { - require_once ABSPATH . 'wp-admin/includes/class-wp-site-health.php'; -} - if ( 'update_https' === $action ) { check_admin_referer( 'wp_update_https' ); diff --git a/src/wp-admin/update-core.php b/src/wp-admin/update-core.php index b41f7285dcea9..3f8129301a67b 100644 --- a/src/wp-admin/update-core.php +++ b/src/wp-admin/update-core.php @@ -326,7 +326,6 @@ function core_auto_updates_settings() { } } - require_once ABSPATH . 'wp-admin/includes/class-wp-upgrader.php'; $updater = new WP_Automatic_Updater(); // Defaults: @@ -845,8 +844,6 @@ function list_translation_updates() { function do_core_upgrade( $reinstall = false ) { global $wp_filesystem; - require_once ABSPATH . 'wp-admin/includes/class-wp-upgrader.php'; - if ( $reinstall ) { $url = 'update-core.php?action=do-core-reinstall'; } else { @@ -1276,7 +1273,6 @@ function do_undismiss_core_update() { check_admin_referer( 'upgrade-translations' ); require_once ABSPATH . 'wp-admin/admin-header.php'; - require_once ABSPATH . 'wp-admin/includes/class-wp-upgrader.php'; $url = 'update-core.php?action=do-translation-upgrade'; $nonce = 'upgrade-translations'; diff --git a/src/wp-admin/update.php b/src/wp-admin/update.php index 090c37cfc4dfe..788ab64de8965 100644 --- a/src/wp-admin/update.php +++ b/src/wp-admin/update.php @@ -15,8 +15,6 @@ /** WordPress Administration Bootstrap */ require_once __DIR__ . '/admin.php'; -require_once ABSPATH . 'wp-admin/includes/class-wp-upgrader.php'; - wp_enqueue_script( 'wp-a11y' ); if ( isset( $_GET['action'] ) ) { @@ -262,8 +260,6 @@ wp_die( __( 'Sorry, you are not allowed to install themes on this site.' ) ); } - require_once ABSPATH . 'wp-admin/includes/class-wp-upgrader.php'; // For themes_api(). - check_admin_referer( 'install-theme_' . $theme ); $api = themes_api( 'theme_information', diff --git a/src/wp-includes/admin-bar.php b/src/wp-includes/admin-bar.php index 0d7c3b63c70ef..8aa599512021d 100644 --- a/src/wp-includes/admin-bar.php +++ b/src/wp-includes/admin-bar.php @@ -27,9 +27,6 @@ function _wp_admin_bar_init() { return false; } - /* Load the admin bar class code ready for instantiation */ - require_once ABSPATH . WPINC . '/class-wp-admin-bar.php'; - /* Instantiate the admin bar */ /** diff --git a/src/wp-includes/block-patterns.php b/src/wp-includes/block-patterns.php index 851898d006a98..94acdd4352b6f 100644 --- a/src/wp-includes/block-patterns.php +++ b/src/wp-includes/block-patterns.php @@ -8,6 +8,59 @@ add_theme_support( 'core-block-patterns' ); +/** + * Registers a new block pattern. + * + * @since 5.5.0 + * + * @param string $pattern_name Block pattern name including namespace. + * @param array $pattern_properties List of properties for the block pattern. + * See WP_Block_Patterns_Registry::register() for accepted arguments. + * @return bool True if the pattern was registered with success and false otherwise. + */ +function register_block_pattern( $pattern_name, $pattern_properties ) { + return WP_Block_Patterns_Registry::get_instance()->register( $pattern_name, $pattern_properties ); +} + +/** + * Unregisters a block pattern. + * + * @since 5.5.0 + * + * @param string $pattern_name Block pattern name including namespace. + * @return bool True if the pattern was unregistered with success and false otherwise. + */ +function unregister_block_pattern( $pattern_name ) { + return WP_Block_Patterns_Registry::get_instance()->unregister( $pattern_name ); +} + +/** + * Registers a new pattern category. + * + * @since 5.5.0 + * + * @param string $category_name Pattern category name including namespace. + * @param array $category_properties List of properties for the block pattern. + * See WP_Block_Pattern_Categories_Registry::register() for + * accepted arguments. + * @return bool True if the pattern category was registered with success and false otherwise. + */ +function register_block_pattern_category( $category_name, $category_properties ) { + return WP_Block_Pattern_Categories_Registry::get_instance()->register( $category_name, $category_properties ); +} + +/** + * Unregisters a pattern category. + * + * @since 5.5.0 + * + * @param string $category_name Pattern category name including namespace. + * @return bool True if the pattern category was unregistered with success and false otherwise. + */ +function unregister_block_pattern_category( $category_name ) { + return WP_Block_Pattern_Categories_Registry::get_instance()->unregister( $category_name ); +} + /** * Registers the core block patterns and categories. * diff --git a/src/wp-includes/cache.php b/src/wp-includes/cache.php index e7fe7b87a85cd..2e06428211e41 100644 --- a/src/wp-includes/cache.php +++ b/src/wp-includes/cache.php @@ -8,9 +8,6 @@ * @subpackage Cache */ -/** WP_Object_Cache class */ -require_once ABSPATH . WPINC . '/class-wp-object-cache.php'; - /** * Sets up Object Cache Global and assigns it. * diff --git a/src/wp-includes/class-IXR.php b/src/wp-includes/class-IXR.php index 0cd72df20e895..c6f9f8d9fefea 100644 --- a/src/wp-includes/class-IXR.php +++ b/src/wp-includes/class-IXR.php @@ -38,23 +38,3 @@ * @link http://scripts.incutio.com/xmlrpc/ Site/manual * @license http://www.opensource.org/licenses/bsd-license.php BSD */ - -require_once ABSPATH . WPINC . '/IXR/class-IXR-server.php'; - -require_once ABSPATH . WPINC . '/IXR/class-IXR-base64.php'; - -require_once ABSPATH . WPINC . '/IXR/class-IXR-client.php'; - -require_once ABSPATH . WPINC . '/IXR/class-IXR-clientmulticall.php'; - -require_once ABSPATH . WPINC . '/IXR/class-IXR-date.php'; - -require_once ABSPATH . WPINC . '/IXR/class-IXR-error.php'; - -require_once ABSPATH . WPINC . '/IXR/class-IXR-introspectionserver.php'; - -require_once ABSPATH . WPINC . '/IXR/class-IXR-message.php'; - -require_once ABSPATH . WPINC . '/IXR/class-IXR-request.php'; - -require_once ABSPATH . WPINC . '/IXR/class-IXR-value.php'; \ No newline at end of file diff --git a/src/wp-includes/class-feed.php b/src/wp-includes/class-feed.php index 9a4772dc7590f..c6a320640ed3d 100644 --- a/src/wp-includes/class-feed.php +++ b/src/wp-includes/class-feed.php @@ -8,12 +8,3 @@ */ _deprecated_file( basename( __FILE__ ), '4.7.0', 'fetch_feed()' ); - -if ( ! class_exists( 'SimplePie', false ) ) { - require_once ABSPATH . WPINC . '/class-simplepie.php'; -} - -require_once ABSPATH . WPINC . '/class-wp-feed-cache.php'; -require_once ABSPATH . WPINC . '/class-wp-feed-cache-transient.php'; -require_once ABSPATH . WPINC . '/class-wp-simplepie-file.php'; -require_once ABSPATH . WPINC . '/class-wp-simplepie-sanitize-kses.php'; diff --git a/src/wp-includes/class-http.php b/src/wp-includes/class-http.php index df43f11717840..91c387d6b1389 100644 --- a/src/wp-includes/class-http.php +++ b/src/wp-includes/class-http.php @@ -9,6 +9,3 @@ */ _deprecated_file( basename( __FILE__ ), '5.9.0', WPINC . '/class-wp-http.php' ); - -/** WP_Http class */ -require_once ABSPATH . WPINC . '/class-wp-http.php'; diff --git a/src/wp-includes/class-oembed.php b/src/wp-includes/class-oembed.php index c7ff40d1cc743..229ac76840369 100644 --- a/src/wp-includes/class-oembed.php +++ b/src/wp-includes/class-oembed.php @@ -10,6 +10,3 @@ */ _deprecated_file( basename( __FILE__ ), '5.3.0', WPINC . '/class-wp-oembed.php' ); - -/** WP_oEmbed class */ -require_once ABSPATH . WPINC . '/class-wp-oembed.php'; diff --git a/src/wp-includes/class-wp-autoload.php b/src/wp-includes/class-wp-autoload.php new file mode 100644 index 0000000000000..8483fd2b3240d --- /dev/null +++ b/src/wp-includes/class-wp-autoload.php @@ -0,0 +1,509 @@ + 'wp-includes/class-phpass.php', + 'pop3' => 'wp-includes/class-pop3.php', + 'services_json' => 'wp-includes/class-json.php', + 'services_json_error' => 'wp-includes/class-json.php', + 'walker_categorydropdown' => 'wp-includes/class-walker-category-dropdown.php', + 'walker_category' => 'wp-includes/class-walker-category.php', + 'walker_comment' => 'wp-includes/class-walker-comment.php', + 'walker_nav_menu' => 'wp-includes/class-walker-nav-menu.php', + 'walker_pagedropdown' => 'wp-includes/class-walker-page-dropdown.php', + 'walker_page' => 'wp-includes/class-walker-page.php', + 'wp_admin_bar' => 'wp-includes/class-wp-admin-bar.php', + 'wp_ajax_response' => 'wp-includes/class-wp-ajax-response.php', + 'wp_application_passwords' => 'wp-includes/class-wp-application-passwords.php', + 'wp_block_bindings_registry' => 'wp-includes/class-wp-block-bindings-registry.php', + 'wp_block_bindings_source' => 'wp-includes/class-wp-block-bindings-source.php', + 'wp_block_editor_context' => 'wp-includes/class-wp-block-editor-context.php', + 'wp_block_list' => 'wp-includes/class-wp-block-list.php', + 'wp_block_parser_block' => 'wp-includes/class-wp-block-parser-block.php', + 'wp_block_parser_frame' => 'wp-includes/class-wp-block-parser-frame.php', + 'wp_block_parser' => 'wp-includes/class-wp-block-parser.php', + 'wp_block_pattern_categories_registry' => 'wp-includes/class-wp-block-pattern-categories-registry.php', + 'wp_block_patterns_registry' => 'wp-includes/class-wp-block-patterns-registry.php', + 'wp_block_styles_registry' => 'wp-includes/class-wp-block-styles-registry.php', + 'wp_block_supports' => 'wp-includes/class-wp-block-supports.php', + 'wp_block_template' => 'wp-includes/class-wp-block-template.php', + 'wp_block_templates_registry' => 'wp-includes/class-wp-block-templates-registry.php', + 'wp_block_type_registry' => 'wp-includes/class-wp-block-type-registry.php', + 'wp_block_type' => 'wp-includes/class-wp-block-type.php', + 'wp_block' => 'wp-includes/class-wp-block.php', + 'wp_classic_to_block_menu_converter' => 'wp-includes/class-wp-classic-to-block-menu-converter.php', + 'wp_comment_query' => 'wp-includes/class-wp-comment-query.php', + 'wp_comment' => 'wp-includes/class-wp-comment.php', + 'wp_customize_control' => 'wp-includes/class-wp-customize-control.php', + 'wp_customize_manager' => 'wp-includes/class-wp-customize-manager.php', + 'wp_customize_nav_menus' => 'wp-includes/class-wp-customize-nav-menus.php', + 'wp_customize_panel' => 'wp-includes/class-wp-customize-panel.php', + 'wp_customize_section' => 'wp-includes/class-wp-customize-section.php', + 'wp_customize_setting' => 'wp-includes/class-wp-customize-setting.php', + 'wp_customize_widgets' => 'wp-includes/class-wp-customize-widgets.php', + 'wp_date_query' => 'wp-includes/class-wp-date-query.php', + 'wp_dependencies' => 'wp-includes/class-wp-dependencies.php', + '_wp_dependency' => 'wp-includes/class-wp-dependency.php', + 'wp_duotone' => 'wp-includes/class-wp-duotone.php', + '_wp_editors' => 'wp-includes/class-wp-editor.php', + 'wp_embed' => 'wp-includes/class-wp-embed.php', + 'wp_error' => 'wp-includes/class-wp-error.php', + 'wp_fatal_error_handler' => 'wp-includes/class-wp-fatal-error-handler.php', + 'wp_feed_cache_transient' => 'wp-includes/class-wp-feed-cache-transient.php', + 'wp_feed_cache' => 'wp-includes/class-wp-feed-cache.php', + 'wp_hook' => 'wp-includes/class-wp-hook.php', + 'wp_http_cookie' => 'wp-includes/class-wp-http-cookie.php', + 'wp_http_curl' => 'wp-includes/class-wp-http-curl.php', + 'wp_http_encoding' => 'wp-includes/class-wp-http-encoding.php', + 'wp_http_ixr_client' => 'wp-includes/class-wp-http-ixr-client.php', + 'wp_http_proxy' => 'wp-includes/class-wp-http-proxy.php', + 'wp_http_requests_hooks' => 'wp-includes/class-wp-http-requests-hooks.php', + 'wp_http_requests_response' => 'wp-includes/class-wp-http-requests-response.php', + 'wp_http_response' => 'wp-includes/class-wp-http-response.php', + 'wp_http_streams' => 'wp-includes/class-wp-http-streams.php', + 'wp_http_fsockopen' => 'wp-includes/class-wp-http-streams.php', + 'wp_http' => 'wp-includes/class-wp-http.php', + 'wp_image_editor_gd' => 'wp-includes/class-wp-image-editor-gd.php', + 'wp_image_editor_imagick' => 'wp-includes/class-wp-image-editor-imagick.php', + 'wp_image_editor' => 'wp-includes/class-wp-image-editor.php', + 'wp_list_util' => 'wp-includes/class-wp-list-util.php', + 'wp_locale_switcher' => 'wp-includes/class-wp-locale-switcher.php', + 'wp_locale' => 'wp-includes/class-wp-locale.php', + 'wp_matchesmapregex' => 'wp-includes/class-wp-matchesmapregex.php', + 'wp_meta_query' => 'wp-includes/class-wp-meta-query.php', + 'wp_metadata_lazyloader' => 'wp-includes/class-wp-metadata-lazyloader.php', + 'wp_navigation_fallback' => 'wp-includes/class-wp-navigation-fallback.php', + 'wp_network_query' => 'wp-includes/class-wp-network-query.php', + 'wp_network' => 'wp-includes/class-wp-network.php', + 'wp_object_cache' => 'wp-includes/class-wp-object-cache.php', + 'wp_oembed_controller' => 'wp-includes/class-wp-oembed-controller.php', + 'wp_oembed' => 'wp-includes/class-wp-oembed.php', + 'wp_paused_extensions_storage' => 'wp-includes/class-wp-paused-extensions-storage.php', + 'wp_plugin_dependencies' => 'wp-includes/class-wp-plugin-dependencies.php', + 'wp_post_type' => 'wp-includes/class-wp-post-type.php', + 'wp_post' => 'wp-includes/class-wp-post.php', + 'wp_query' => 'wp-includes/class-wp-query.php', + 'wp_recovery_mode_cookie_service' => 'wp-includes/class-wp-recovery-mode-cookie-service.php', + 'wp_recovery_mode_email_service' => 'wp-includes/class-wp-recovery-mode-email-service.php', + 'wp_recovery_mode_key_service' => 'wp-includes/class-wp-recovery-mode-key-service.php', + 'wp_recovery_mode_link_service' => 'wp-includes/class-wp-recovery-mode-link-service.php', + 'wp_recovery_mode' => 'wp-includes/class-wp-recovery-mode.php', + 'wp_rewrite' => 'wp-includes/class-wp-rewrite.php', + 'wp_role' => 'wp-includes/class-wp-role.php', + 'wp_roles' => 'wp-includes/class-wp-roles.php', + 'wp_script_modules' => 'wp-includes/class-wp-script-modules.php', + 'wp_scripts' => 'wp-includes/class-wp-scripts.php', + 'wp_session_tokens' => 'wp-includes/class-wp-session-tokens.php', + 'wp_simplepie_file' => 'wp-includes/class-wp-simplepie-file.php', + 'wp_simplepie_sanitize_kses' => 'wp-includes/class-wp-simplepie-sanitize-kses.php', + 'wp_site_query' => 'wp-includes/class-wp-site-query.php', + 'wp_site' => 'wp-includes/class-wp-site.php', + 'wp_styles' => 'wp-includes/class-wp-styles.php', + 'wp_tax_query' => 'wp-includes/class-wp-tax-query.php', + 'wp_taxonomy' => 'wp-includes/class-wp-taxonomy.php', + 'wp_term_query' => 'wp-includes/class-wp-term-query.php', + 'wp_term' => 'wp-includes/class-wp-term.php', + 'wp_text_diff_renderer_inline' => 'wp-includes/class-wp-text-diff-renderer-inline.php', + 'wp_text_diff_renderer_table' => 'wp-includes/class-wp-text-diff-renderer-table.php', + 'wp_textdomain_registry' => 'wp-includes/class-wp-textdomain-registry.php', + 'wp_theme_json_data' => 'wp-includes/class-wp-theme-json-data.php', + 'wp_theme_json_resolver' => 'wp-includes/class-wp-theme-json-resolver.php', + 'wp_theme_json_schema' => 'wp-includes/class-wp-theme-json-schema.php', + 'wp_theme_json' => 'wp-includes/class-wp-theme-json.php', + 'wp_theme' => 'wp-includes/class-wp-theme.php', + 'wp_token_map' => 'wp-includes/class-wp-token-map.php', + 'wp_user_meta_session_tokens' => 'wp-includes/class-wp-user-meta-session-tokens.php', + 'wp_user_query' => 'wp-includes/class-wp-user-query.php', + 'wp_user_request' => 'wp-includes/class-wp-user-request.php', + 'wp_user' => 'wp-includes/class-wp-user.php', + 'walker' => 'wp-includes/class-wp-walker.php', + 'wp_widget_factory' => 'wp-includes/class-wp-widget-factory.php', + 'wp_widget' => 'wp-includes/class-wp-widget.php', + 'wp_xmlrpc_server' => 'wp-includes/class-wp-xmlrpc-server.php', + 'wp' => 'wp-includes/class-wp.php', + 'wpdb' => 'wp-includes/class-wpdb.php', // Defines some constants. + + // Classes in the wp-includes/fonts folder. + 'wp_font_collection' => 'wp-includes/fonts/class-wp-font-collection.php', + 'wp_font_face_resolver' => 'wp-includes/fonts/class-wp-font-face-resolver.php', + 'wp_font_face' => 'wp-includes/fonts/class-wp-font-face.php', + 'wp_font_library' => 'wp-includes/fonts/class-wp-font-library.php', + 'wp_font_utils' => 'wp-includes/fonts/class-wp-font-utils.php', + + // Classes in the wp-includes/html-api/ folder. + 'wp_html_active_formatting_elements' => 'wp-includes/html-api/class-wp-html-active-formatting-elements.php', + 'wp_html_attribute_token' => 'wp-includes/html-api/class-wp-html-attribute-token.php', + 'wp_html_decoder' => 'wp-includes/html-api/class-wp-html-decoder.php', + 'wp_html_doctype_info' => 'wp-includes/html-api/class-wp-html-doctype-info.php', + 'wp_html_open_elements' => 'wp-includes/html-api/class-wp-html-open-elements.php', + 'wp_html_processor_state' => 'wp-includes/html-api/class-wp-html-processor-state.php', + 'wp_html_processor' => 'wp-includes/html-api/class-wp-html-processor.php', + 'wp_html_span' => 'wp-includes/html-api/class-wp-html-span.php', + 'wp_html_stack_event' => 'wp-includes/html-api/class-wp-html-stack-event.php', + 'wp_html_tag_processor' => 'wp-includes/html-api/class-wp-html-tag-processor.php', + 'wp_html_text_replacement' => 'wp-includes/html-api/class-wp-html-text-replacement.php', + 'wp_html_token' => 'wp-includes/html-api/class-wp-html-token.php', + 'wp_html_unsupported_exception' => 'wp-includes/html-api/class-wp-html-unsupported-exception.php', + + // Classes in the wp-includes/interactivity-api folder. + 'wp_interactivity_api_directives_processor' => 'wp-includes/interactivity-api/class-wp-interactivity-api-directives-processor.php', + 'wp_interactivity_api' => 'wp-includes/interactivity-api/class-wp-interactivity-api.php', + + // Classes in the wp-includes/customize/ folder. + 'wp_customize_background_image_control' => 'wp-includes/customize/class-wp-customize-background-image-control.php', + 'wp_customize_background_image_setting' => 'wp-includes/customize/class-wp-customize-background-image-setting.php', + 'wp_customize_background_position_control' => 'wp-includes/customize/class-wp-customize-background-position-control.php', + 'wp_customize_code_editor_control' => 'wp-includes/customize/class-wp-customize-code-editor-control.php', + 'wp_customize_color_control' => 'wp-includes/customize/class-wp-customize-color-control.php', + 'wp_customize_cropped_image_control' => 'wp-includes/customize/class-wp-customize-cropped-image-control.php', + 'wp_customize_custom_css_setting' => 'wp-includes/customize/class-wp-customize-custom-css-setting.php', + 'wp_customize_date_time_control' => 'wp-includes/customize/class-wp-customize-date-time-control.php', + 'wp_customize_filter_setting' => 'wp-includes/customize/class-wp-customize-filter-setting.php', + 'wp_customize_header_image_control' => 'wp-includes/customize/class-wp-customize-header-image-control.php', + 'wp_customize_header_image_setting' => 'wp-includes/customize/class-wp-customize-header-image-setting.php', + 'wp_customize_image_control' => 'wp-includes/customize/class-wp-customize-image-control.php', + 'wp_customize_media_control' => 'wp-includes/customize/class-wp-customize-media-control.php', + 'wp_customize_nav_menu_auto_add_control' => 'wp-includes/customize/class-wp-customize-nav-menu-auto-add-control.php', + 'wp_customize_nav_menu_control' => 'wp-includes/customize/class-wp-customize-nav-menu-control.php', + 'wp_customize_nav_menu_item_control' => 'wp-includes/customize/class-wp-customize-nav-menu-item-control.php', + 'wp_customize_nav_menu_item_setting' => 'wp-includes/customize/class-wp-customize-nav-menu-item-setting.php', + 'wp_customize_nav_menu_location_control' => 'wp-includes/customize/class-wp-customize-nav-menu-location-control.php', + 'wp_customize_nav_menu_locations_control' => 'wp-includes/customize/class-wp-customize-nav-menu-locations-control.php', + 'wp_customize_nav_menu_name_control' => 'wp-includes/customize/class-wp-customize-nav-menu-name-control.php', + 'wp_customize_nav_menu_section' => 'wp-includes/customize/class-wp-customize-nav-menu-section.php', + 'wp_customize_nav_menu_setting' => 'wp-includes/customize/class-wp-customize-nav-menu-setting.php', + 'wp_customize_nav_menus_panel' => 'wp-includes/customize/class-wp-customize-nav-menus-panel.php', + 'wp_customize_new_menu_control' => 'wp-includes/customize/class-wp-customize-new-menu-control.php', + 'wp_customize_new_menu_section' => 'wp-includes/customize/class-wp-customize-new-menu-section.php', + 'wp_customize_partial' => 'wp-includes/customize/class-wp-customize-partial.php', + 'wp_customize_selective_refresh' => 'wp-includes/customize/class-wp-customize-selective-refresh.php', + 'wp_customize_sidebar_section' => 'wp-includes/customize/class-wp-customize-sidebar-section.php', + 'wp_customize_site_icon_control' => 'wp-includes/customize/class-wp-customize-site-icon-control.php', + 'wp_customize_theme_control' => 'wp-includes/customize/class-wp-customize-theme-control.php', + 'wp_customize_themes_panel' => 'wp-includes/customize/class-wp-customize-themes-panel.php', + 'wp_customize_themes_section' => 'wp-includes/customize/class-wp-customize-themes-section.php', + 'wp_customize_upload_control' => 'wp-includes/customize/class-wp-customize-upload-control.php', + 'wp_sidebar_block_editor_control' => 'wp-includes/customize/class-wp-sidebar-block-editor-control.php', + 'wp_widget_area_customize_control' => 'wp-includes/customize/class-wp-widget-area-customize-control.php', + 'wp_widget_form_customize_control' => 'wp-includes/customize/class-wp-widget-form-customize-control.php', + + // Classes in the wp-includes/IXR folder. + 'ixr_base64' => 'wp-includes/IXR/class-IXR-base64.php', + 'ixr_client' => 'wp-includes/IXR/class-IXR-client.php', + 'ixr_clientmulticall' => 'wp-includes/IXR/class-IXR-clientmulticall.php', + 'ixr_date' => 'wp-includes/IXR/class-IXR-date.php', + 'ixr_error' => 'wp-includes/IXR/class-IXR-error.php', + 'ixr_introspectionserver' => 'wp-includes/IXR/class-IXR-introspectionserver.php', + 'ixr_message' => 'wp-includes/IXR/class-IXR-message.php', + 'ixr_request' => 'wp-includes/IXR/class-IXR-request.php', + 'ixr_server' => 'wp-includes/IXR/class-IXR-server.php', + 'ixr_value' => 'wp-includes/IXR/class-IXR-value.php', + + // Classes in the wp-includes/l10n folder. + 'wp_translation_controller' => 'wp-includes/l10n/class-wp-translation-controller.php', + 'wp_translation_file_mo' => 'wp-includes/l10n/class-wp-translation-file-mo.php', + 'wp_translation_file_php' => 'wp-includes/l10n/class-wp-translation-file-php.php', + 'wp_translation_file' => 'wp-includes/l10n/class-wp-translation-file.php', + 'wp_translations' => 'wp-includes/l10n/class-wp-translations.php', + + // Classes in the wp-includes/pomo folder. + 'translation_entry' => 'wp-includes/pomo/entry.php', + 'mo' => 'wp-includes/pomo/mo.php', + 'plural_forms' => 'wp-includes/pomo/plural-forms.php', + 'po' => 'wp-includes/pomo/po.php', + 'pomo_reader' => 'wp-includes/pomo/streams.php', + 'pomo_filereader' => 'wp-includes/pomo/streams.php', + 'pomo_stringreader' => 'wp-includes/pomo/streams.php', + 'pomo_cachedfilereader' => 'wp-includes/pomo/streams.php', + 'pomo_cachedintfilereader' => 'wp-includes/pomo/streams.php', + 'translations' => 'wp-includes/pomo/translations.php', + 'gettext_translations' => 'wp-includes/pomo/translations.php', + 'noop_translations' => 'wp-includes/pomo/translations.php', + + // Classes in the wp-includes/Text folder. + 'text_diff' => 'wp-includes/Text/Diff.php', + 'text_diff_engine_native' => 'wp-includes/Text/Diff/Engine/native.php', + 'text_diff_engine_shell' => 'wp-includes/Text/Diff/Engine/shell.php', + 'text_diff_engine_string' => 'wp-includes/Text/Diff/Engine/string.php', + 'text_diff_engine_xdiff' => 'wp-includes/Text/Diff/Engine/xdiff.php', + 'text_diff_renderer_inline' => 'wp-includes/Text/Diff/Renderer/inline.php', + 'text_diff_renderer' => 'wp-includes/Text/Diff/Renderer.php', + + // Classes in the wp-includes/rest-api folder. + 'wp_rest_application_passwords_controller' => 'wp-includes/rest-api/endpoints/class-wp-rest-application-passwords-controller.php', + 'wp_rest_attachments_controller' => 'wp-includes/rest-api/endpoints/class-wp-rest-attachments-controller.php', + 'wp_rest_autosaves_controller' => 'wp-includes/rest-api/endpoints/class-wp-rest-autosaves-controller.php', + 'wp_rest_block_directory_controller' => 'wp-includes/rest-api/endpoints/class-wp-rest-block-directory-controller.php', + 'wp_rest_block_pattern_categories_controller' => 'wp-includes/rest-api/endpoints/class-wp-rest-block-pattern-categories-controller.php', + 'wp_rest_block_patterns_controller' => 'wp-includes/rest-api/endpoints/class-wp-rest-block-patterns-controller.php', + 'wp_rest_block_renderer_controller' => 'wp-includes/rest-api/endpoints/class-wp-rest-block-renderer-controller.php', + 'wp_rest_block_types_controller' => 'wp-includes/rest-api/endpoints/class-wp-rest-block-types-controller.php', + 'wp_rest_blocks_controller' => 'wp-includes/rest-api/endpoints/class-wp-rest-blocks-controller.php', + 'wp_rest_comments_controller' => 'wp-includes/rest-api/endpoints/class-wp-rest-comments-controller.php', + 'wp_rest_controller' => 'wp-includes/rest-api/endpoints/class-wp-rest-controller.php', + 'wp_rest_edit_site_export_controller' => 'wp-includes/rest-api/endpoints/class-wp-rest-edit-site-export-controller.php', + 'wp_rest_font_collections_controller' => 'wp-includes/rest-api/endpoints/class-wp-rest-font-collections-controller.php', + 'wp_rest_font_faces_controller' => 'wp-includes/rest-api/endpoints/class-wp-rest-font-faces-controller.php', + 'wp_rest_font_families_controller' => 'wp-includes/rest-api/endpoints/class-wp-rest-font-families-controller.php', + 'wp_rest_global_styles_controller' => 'wp-includes/rest-api/endpoints/class-wp-rest-global-styles-controller.php', + 'wp_rest_global_styles_revisions_controller' => 'wp-includes/rest-api/endpoints/class-wp-rest-global-styles-revisions-controller.php', + 'wp_rest_menu_items_controller' => 'wp-includes/rest-api/endpoints/class-wp-rest-menu-items-controller.php', + 'wp_rest_menu_locations_controller' => 'wp-includes/rest-api/endpoints/class-wp-rest-menu-locations-controller.php', + 'wp_rest_menus_controller' => 'wp-includes/rest-api/endpoints/class-wp-rest-menus-controller.php', + 'wp_rest_navigation_fallback_controller' => 'wp-includes/rest-api/endpoints/class-wp-rest-navigation-fallback-controller.php', + 'wp_rest_pattern_directory_controller' => 'wp-includes/rest-api/endpoints/class-wp-rest-pattern-directory-controller.php', + 'wp_rest_plugins_controller' => 'wp-includes/rest-api/endpoints/class-wp-rest-plugins-controller.php', + 'wp_rest_post_statuses_controller' => 'wp-includes/rest-api/endpoints/class-wp-rest-post-statuses-controller.php', + 'wp_rest_post_types_controller' => 'wp-includes/rest-api/endpoints/class-wp-rest-post-types-controller.php', + 'wp_rest_posts_controller' => 'wp-includes/rest-api/endpoints/class-wp-rest-posts-controller.php', + 'wp_rest_revisions_controller' => 'wp-includes/rest-api/endpoints/class-wp-rest-revisions-controller.php', + 'wp_rest_search_controller' => 'wp-includes/rest-api/endpoints/class-wp-rest-search-controller.php', + 'wp_rest_settings_controller' => 'wp-includes/rest-api/endpoints/class-wp-rest-settings-controller.php', + 'wp_rest_sidebars_controller' => 'wp-includes/rest-api/endpoints/class-wp-rest-sidebars-controller.php', + 'wp_rest_site_health_controller' => 'wp-includes/rest-api/endpoints/class-wp-rest-site-health-controller.php', + 'wp_rest_taxonomies_controller' => 'wp-includes/rest-api/endpoints/class-wp-rest-taxonomies-controller.php', + 'wp_rest_template_autosaves_controller' => 'wp-includes/rest-api/endpoints/class-wp-rest-template-autosaves-controller.php', + 'wp_rest_template_revisions_controller' => 'wp-includes/rest-api/endpoints/class-wp-rest-template-revisions-controller.php', + 'wp_rest_templates_controller' => 'wp-includes/rest-api/endpoints/class-wp-rest-templates-controller.php', + 'wp_rest_terms_controller' => 'wp-includes/rest-api/endpoints/class-wp-rest-terms-controller.php', + 'wp_rest_themes_controller' => 'wp-includes/rest-api/endpoints/class-wp-rest-themes-controller.php', + 'wp_rest_url_details_controller' => 'wp-includes/rest-api/endpoints/class-wp-rest-url-details-controller.php', + 'wp_rest_users_controller' => 'wp-includes/rest-api/endpoints/class-wp-rest-users-controller.php', + 'wp_rest_widget_types_controller' => 'wp-includes/rest-api/endpoints/class-wp-rest-widget-types-controller.php', + 'wp_rest_widgets_controller' => 'wp-includes/rest-api/endpoints/class-wp-rest-widgets-controller.php', + 'wp_rest_comment_meta_fields' => 'wp-includes/rest-api/fields/class-wp-rest-comment-meta-fields.php', + 'wp_rest_meta_fields' => 'wp-includes/rest-api/fields/class-wp-rest-meta-fields.php', + 'wp_rest_post_meta_fields' => 'wp-includes/rest-api/fields/class-wp-rest-post-meta-fields.php', + 'wp_rest_term_meta_fields' => 'wp-includes/rest-api/fields/class-wp-rest-term-meta-fields.php', + 'wp_rest_user_meta_fields' => 'wp-includes/rest-api/fields/class-wp-rest-user-meta-fields.php', + 'wp_rest_post_format_search_handler' => 'wp-includes/rest-api/search/class-wp-rest-post-format-search-handler.php', + 'wp_rest_post_search_handler' => 'wp-includes/rest-api/search/class-wp-rest-post-search-handler.php', + 'wp_rest_search_handler' => 'wp-includes/rest-api/search/class-wp-rest-search-handler.php', + 'wp_rest_term_search_handler' => 'wp-includes/rest-api/search/class-wp-rest-term-search-handler.php', + 'wp_rest_request' => 'wp-includes/rest-api/class-wp-rest-request.php', + 'wp_rest_response' => 'wp-includes/rest-api/class-wp-rest-response.php', + 'wp_rest_server' => 'wp-includes/rest-api/class-wp-rest-server.php', + + // Classes in wp-includes/sitemaps. + 'wp_sitemaps_posts' => 'wp-includes/sitemaps/providers/class-wp-sitemaps-posts.php', + 'wp_sitemaps_taxonomies' => 'wp-includes/sitemaps/providers/class-wp-sitemaps-taxonomies.php', + 'wp_sitemaps_users' => 'wp-includes/sitemaps/providers/class-wp-sitemaps-users.php', + 'wp_sitemaps_index' => 'wp-includes/sitemaps/class-wp-sitemaps-index.php', + 'wp_sitemaps_provider' => 'wp-includes/sitemaps/class-wp-sitemaps-provider.php', + 'wp_sitemaps_registry' => 'wp-includes/sitemaps/class-wp-sitemaps-registry.php', + 'wp_sitemaps_renderer' => 'wp-includes/sitemaps/class-wp-sitemaps-renderer.php', + 'wp_sitemaps_stylesheet' => 'wp-includes/sitemaps/class-wp-sitemaps-stylesheet.php', + 'wp_sitemaps' => 'wp-includes/sitemaps/class-wp-sitemaps.php', + + // Classes in wp-includes/style-engine. + 'wp_style_engine_css_declarations' => 'wp-includes/style-engine/class-wp-style-engine-css-declarations.php', + 'wp_style_engine_css_rule' => 'wp-includes/style-engine/class-wp-style-engine-css-rule.php', + 'wp_style_engine_css_rules_store' => 'wp-includes/style-engine/class-wp-style-engine-css-rules-store.php', + 'wp_style_engine_processor' => 'wp-includes/style-engine/class-wp-style-engine-processor.php', + 'wp_style_engine' => 'wp-includes/style-engine/class-wp-style-engine.php', + + // Classes in wp-includes/widgets. + 'wp_nav_menu_widget' => 'wp-includes/widgets/class-wp-nav-menu-widget.php', + 'wp_widget_archives' => 'wp-includes/widgets/class-wp-widget-archives.php', + 'wp_widget_block' => 'wp-includes/widgets/class-wp-widget-block.php', + 'wp_widget_calendar' => 'wp-includes/widgets/class-wp-widget-calendar.php', + 'wp_widget_categories' => 'wp-includes/widgets/class-wp-widget-categories.php', + 'wp_widget_custom_html' => 'wp-includes/widgets/class-wp-widget-custom-html.php', + 'wp_widget_links' => 'wp-includes/widgets/class-wp-widget-links.php', + 'wp_widget_media_audio' => 'wp-includes/widgets/class-wp-widget-media-audio.php', + 'wp_widget_media_gallery' => 'wp-includes/widgets/class-wp-widget-media-gallery.php', + 'wp_widget_media_image' => 'wp-includes/widgets/class-wp-widget-media-image.php', + 'wp_widget_media_video' => 'wp-includes/widgets/class-wp-widget-media-video.php', + 'wp_widget_media' => 'wp-includes/widgets/class-wp-widget-media.php', + 'wp_widget_meta' => 'wp-includes/widgets/class-wp-widget-meta.php', + 'wp_widget_pages' => 'wp-includes/widgets/class-wp-widget-pages.php', + 'wp_widget_recent_comments' => 'wp-includes/widgets/class-wp-widget-recent-comments.php', + 'wp_widget_recent_posts' => 'wp-includes/widgets/class-wp-widget-recent-posts.php', + 'wp_widget_rss' => 'wp-includes/widgets/class-wp-widget-rss.php', + 'wp_widget_search' => 'wp-includes/widgets/class-wp-widget-search.php', + 'wp_widget_tag_cloud' => 'wp-includes/widgets/class-wp-widget-tag-cloud.php', + 'wp_widget_text' => 'wp-includes/widgets/class-wp-widget-text.php', + + // Classes in wp-admin/includes. + 'automatic_upgrader_skin' => 'wp-admin/includes/class-automatic-upgrader-skin.php', + 'bulk_plugin_upgrader_skin' => 'wp-admin/includes/class-bulk-plugin-upgrader-skin.php', + 'bulk_theme_upgrader_skin' => 'wp-admin/includes/class-bulk-theme-upgrader-skin.php', + 'bulk_upgrader_skin' => 'wp-admin/includes/class-bulk-upgrader-skin.php', + 'core_upgrader' => 'wp-admin/includes/class-core-upgrader.php', + 'custom_background' => 'wp-admin/includes/class-custom-background.php', + 'custom_image_header' => 'wp-admin/includes/class-custom-image-header.php', + 'file_upload_upgrader' => 'wp-admin/includes/class-file-upload-upgrader.php', + 'ftp' => 'wp-admin/includes/class-ftp.php', + 'ftp_base' => 'wp-admin/includes/class-ftp.php', + 'ftp_pure' => 'wp-admin/includes/class-ftp-pure.php', + 'ftp_sockets' => 'wp-admin/includes/class-ftp-sockets.php', + 'language_pack_upgrader_skin' => 'wp-admin/includes/class-language-pack-upgrader-skin.php', + 'language_pack_upgrader' => 'wp-admin/includes/class-language-pack-upgrader.php', + 'pclzip' => 'wp-admin/includes/class-pclzip.php', + 'plugin_installer_skin' => 'wp-admin/includes/class-plugin-installer-skin.php', + 'plugin_upgrader_skin' => 'wp-admin/includes/class-plugin-upgrader-skin.php', + 'plugin_upgrader' => 'wp-admin/includes/class-plugin-upgrader.php', + 'theme_installer_skin' => 'wp-admin/includes/class-theme-installer-skin.php', + 'theme_upgrader_skin' => 'wp-admin/includes/class-theme-upgrader-skin.php', + 'theme_upgrader' => 'wp-admin/includes/class-theme-upgrader.php', + 'walker_category_checklist' => 'wp-admin/includes/class-walker-category-checklist.php', + 'walker_nav_menu_checklist' => 'wp-admin/includes/class-walker-nav-menu-checklist.php', + 'walker_nav_menu_edit' => 'wp-admin/includes/class-walker-nav-menu-edit.php', + 'wp_ajax_upgrader_skin' => 'wp-admin/includes/class-wp-ajax-upgrader-skin.php', + 'wp_application_passwords_list_table' => 'wp-admin/includes/class-wp-application-passwords-list-table.php', + 'wp_automatic_updater' => 'wp-admin/includes/class-wp-automatic-updater.php', + 'wp_comments_list_table' => 'wp-admin/includes/class-wp-comments-list-table.php', + 'wp_community_events' => 'wp-admin/includes/class-wp-community-events.php', + 'wp_debug_data' => 'wp-admin/includes/class-wp-debug-data.php', + 'wp_filesystem_base' => 'wp-admin/includes/class-wp-filesystem-base.php', + 'wp_filesystem_direct' => 'wp-admin/includes/class-wp-filesystem-direct.php', + 'wp_filesystem_ftpext' => 'wp-admin/includes/class-wp-filesystem-ftpext.php', + 'wp_filesystem_ftpsockets' => 'wp-admin/includes/class-wp-filesystem-ftpsockets.php', + 'wp_filesystem_ssh2' => 'wp-admin/includes/class-wp-filesystem-ssh2.php', + 'wp_importer' => 'wp-admin/includes/class-wp-importer.php', // Contains some additional functions. + 'wp_internal_pointers' => 'wp-admin/includes/class-wp-internal-pointers.php', + 'wp_links_list_table' => 'wp-admin/includes/class-wp-links-list-table.php', + '_wp_list_table_compat' => 'wp-admin/includes/class-wp-list-table-compat.php', + 'wp_list_table' => 'wp-admin/includes/class-wp-list-table.php', + 'wp_media_list_table' => 'wp-admin/includes/class-wp-media-list-table.php', + 'wp_ms_sites_list_table' => 'wp-admin/includes/class-wp-ms-sites-list-table.php', + 'wp_ms_themes_list_table' => 'wp-admin/includes/class-wp-ms-themes-list-table.php', + 'wp_ms_users_list_table' => 'wp-admin/includes/class-wp-ms-users-list-table.php', + 'wp_plugin_install_list_table' => 'wp-admin/includes/class-wp-plugin-install-list-table.php', + 'wp_plugins_list_table' => 'wp-admin/includes/class-wp-plugins-list-table.php', + 'wp_post_comments_list_table' => 'wp-admin/includes/class-wp-post-comments-list-table.php', + 'wp_posts_list_table' => 'wp-admin/includes/class-wp-posts-list-table.php', + 'wp_privacy_data_export_requests_list_table' => 'wp-admin/includes/class-wp-privacy-data-export-requests-list-table.php', + 'wp_privacy_data_removal_requests_list_table' => 'wp-admin/includes/class-wp-privacy-data-removal-requests-list-table.php', + 'wp_privacy_policy_content' => 'wp-admin/includes/class-wp-privacy-policy-content.php', + 'wp_privacy_requests_table' => 'wp-admin/includes/class-wp-privacy-requests-table.php', + 'wp_screen' => 'wp-admin/includes/class-wp-screen.php', + 'wp_site_health_auto_updates' => 'wp-admin/includes/class-wp-site-health-auto-updates.php', + 'wp_site_health' => 'wp-admin/includes/class-wp-site-health.php', + 'wp_site_icon' => 'wp-admin/includes/class-wp-site-icon.php', + 'wp_terms_list_table' => 'wp-admin/includes/class-wp-terms-list-table.php', + 'wp_theme_install_list_table' => 'wp-admin/includes/class-wp-theme-install-list-table.php', + 'wp_themes_list_table' => 'wp-admin/includes/class-wp-themes-list-table.php', + 'wp_upgrader_skin' => 'wp-admin/includes/class-wp-upgrader-skin.php', + 'wp_upgrader' => 'wp-admin/includes/class-wp-upgrader.php', + 'wp_users_list_table' => 'wp-admin/includes/class-wp-users-list-table.php', + + // Classes in wp-admin/includes/deprecated.php. + 'wp_user_search' => 'wp-admin/includes/deprecated.php', + 'wp_privacy_data_export_requests_table' => 'wp-admin/includes/deprecated.php', + 'wp_privacy_data_removal_requests_table' => 'wp-admin/includes/deprecated.php', + ); + + /** + * Whether the autoloader has already been registered or not. + * + * Avoids registering the autoloader multiple times. + * + * @static + * + * @since x.x.x + * + * @access private + * + * @var bool + */ + private static $registered = false; + + /** + * Registers the autoloader. + * + * @since x.x.x + */ + public static function register() { + // Bail early if already registered. + if ( self::$registered ) { + return; + } + + self::register_external_bundled(); + self::register_core(); + + self::$registered = true; + } + + /** + * Registers the autoloader for external, bundled libraries. + * + * @since x.x.x + */ + public static function register_external_bundled() { + require_once ABSPATH . 'wp-includes/Requests/src/Autoload.php'; + require_once ABSPATH . 'wp-includes/sodium_compat/autoload.php'; + + spl_autoload_register( array( '\WpOrg\Requests\Autoload', 'load' ) ); + } + + /** + * Registers the autoloader for WordPress Core classes. + * + * @since x.x.x + */ + public static function register_core() { + spl_autoload_register( array( __CLASS__, 'autoload_core' ), true, true ); + } + + /** + * Autoload a WordPress class. + * + * @since x.x.x + * + * @param string $class_name Class name. + */ + public static function autoload_core( string $class_name ) { + // Lowercase the class name as PHP isn't case sensitive. + $class_name = strtolower( $class_name ); + + // Load Avifinfo classes. + if ( str_starts_with( $class_name, 'avifinfo' ) ) { + // This file contains multiple classes, so we need to use require_once. + require_once ABSPATH . 'wp-includes/class-avif-info.php'; + return; + } + + // Load SimplePie classes. + if ( str_starts_with( $class_name, 'simplepie' ) ) { + require_once ABSPATH . 'wp-includes/class-simplepie.php'; + return; + } + + /* + * Bail early if the class is not a WP class. + * Use empty() instead of !isset() for performance reasons (saves a BOOL_NOT opcode). + */ + if ( empty( self::CLASSES_PATHS[ $class_name ] ) ) { + return; + } + + require ABSPATH . self::CLASSES_PATHS[ $class_name ]; + } +} + +// Registers the autoloader. +WP_Autoload::register(); diff --git a/src/wp-includes/class-wp-block-pattern-categories-registry.php b/src/wp-includes/class-wp-block-pattern-categories-registry.php index 3d37a5940a642..1975eacfeedb4 100644 --- a/src/wp-includes/class-wp-block-pattern-categories-registry.php +++ b/src/wp-includes/class-wp-block-pattern-categories-registry.php @@ -162,30 +162,3 @@ public static function get_instance() { return self::$instance; } } - -/** - * Registers a new pattern category. - * - * @since 5.5.0 - * - * @param string $category_name Pattern category name including namespace. - * @param array $category_properties List of properties for the block pattern. - * See WP_Block_Pattern_Categories_Registry::register() for - * accepted arguments. - * @return bool True if the pattern category was registered with success and false otherwise. - */ -function register_block_pattern_category( $category_name, $category_properties ) { - return WP_Block_Pattern_Categories_Registry::get_instance()->register( $category_name, $category_properties ); -} - -/** - * Unregisters a pattern category. - * - * @since 5.5.0 - * - * @param string $category_name Pattern category name including namespace. - * @return bool True if the pattern category was unregistered with success and false otherwise. - */ -function unregister_block_pattern_category( $category_name ) { - return WP_Block_Pattern_Categories_Registry::get_instance()->unregister( $category_name ); -} diff --git a/src/wp-includes/class-wp-block-patterns-registry.php b/src/wp-includes/class-wp-block-patterns-registry.php index 6317bc81e51b1..1d2a746448211 100644 --- a/src/wp-includes/class-wp-block-patterns-registry.php +++ b/src/wp-includes/class-wp-block-patterns-registry.php @@ -294,29 +294,3 @@ public static function get_instance() { return self::$instance; } } - -/** - * Registers a new block pattern. - * - * @since 5.5.0 - * - * @param string $pattern_name Block pattern name including namespace. - * @param array $pattern_properties List of properties for the block pattern. - * See WP_Block_Patterns_Registry::register() for accepted arguments. - * @return bool True if the pattern was registered with success and false otherwise. - */ -function register_block_pattern( $pattern_name, $pattern_properties ) { - return WP_Block_Patterns_Registry::get_instance()->register( $pattern_name, $pattern_properties ); -} - -/** - * Unregisters a block pattern. - * - * @since 5.5.0 - * - * @param string $pattern_name Block pattern name including namespace. - * @return bool True if the pattern was unregistered with success and false otherwise. - */ -function unregister_block_pattern( $pattern_name ) { - return WP_Block_Patterns_Registry::get_instance()->unregister( $pattern_name ); -} diff --git a/src/wp-includes/class-wp-customize-control.php b/src/wp-includes/class-wp-customize-control.php index 596c6e3723c8e..529575e30ae6e 100644 --- a/src/wp-includes/class-wp-customize-control.php +++ b/src/wp-includes/class-wp-customize-control.php @@ -699,109 +699,3 @@ final public function print_template() { */ protected function content_template() {} } - -/** - * WP_Customize_Color_Control class. - */ -require_once ABSPATH . WPINC . '/customize/class-wp-customize-color-control.php'; - -/** - * WP_Customize_Media_Control class. - */ -require_once ABSPATH . WPINC . '/customize/class-wp-customize-media-control.php'; - -/** - * WP_Customize_Upload_Control class. - */ -require_once ABSPATH . WPINC . '/customize/class-wp-customize-upload-control.php'; - -/** - * WP_Customize_Image_Control class. - */ -require_once ABSPATH . WPINC . '/customize/class-wp-customize-image-control.php'; - -/** - * WP_Customize_Background_Image_Control class. - */ -require_once ABSPATH . WPINC . '/customize/class-wp-customize-background-image-control.php'; - -/** - * WP_Customize_Background_Position_Control class. - */ -require_once ABSPATH . WPINC . '/customize/class-wp-customize-background-position-control.php'; - -/** - * WP_Customize_Cropped_Image_Control class. - */ -require_once ABSPATH . WPINC . '/customize/class-wp-customize-cropped-image-control.php'; - -/** - * WP_Customize_Site_Icon_Control class. - */ -require_once ABSPATH . WPINC . '/customize/class-wp-customize-site-icon-control.php'; - -/** - * WP_Customize_Header_Image_Control class. - */ -require_once ABSPATH . WPINC . '/customize/class-wp-customize-header-image-control.php'; - -/** - * WP_Customize_Theme_Control class. - */ -require_once ABSPATH . WPINC . '/customize/class-wp-customize-theme-control.php'; - -/** - * WP_Widget_Area_Customize_Control class. - */ -require_once ABSPATH . WPINC . '/customize/class-wp-widget-area-customize-control.php'; - -/** - * WP_Widget_Form_Customize_Control class. - */ -require_once ABSPATH . WPINC . '/customize/class-wp-widget-form-customize-control.php'; - -/** - * WP_Customize_Nav_Menu_Control class. - */ -require_once ABSPATH . WPINC . '/customize/class-wp-customize-nav-menu-control.php'; - -/** - * WP_Customize_Nav_Menu_Item_Control class. - */ -require_once ABSPATH . WPINC . '/customize/class-wp-customize-nav-menu-item-control.php'; - -/** - * WP_Customize_Nav_Menu_Location_Control class. - */ -require_once ABSPATH . WPINC . '/customize/class-wp-customize-nav-menu-location-control.php'; - -/** - * WP_Customize_Nav_Menu_Name_Control class. - * - * As this file is deprecated, it will trigger a deprecation notice if instantiated. In a subsequent - * release, the require_once here will be removed and _deprecated_file() will be called if file is - * required at all. - * - * @deprecated 4.9.0 This file is no longer used due to new menu creation UX. - */ -require_once ABSPATH . WPINC . '/customize/class-wp-customize-nav-menu-name-control.php'; - -/** - * WP_Customize_Nav_Menu_Locations_Control class. - */ -require_once ABSPATH . WPINC . '/customize/class-wp-customize-nav-menu-locations-control.php'; - -/** - * WP_Customize_Nav_Menu_Auto_Add_Control class. - */ -require_once ABSPATH . WPINC . '/customize/class-wp-customize-nav-menu-auto-add-control.php'; - -/** - * WP_Customize_Date_Time_Control class. - */ -require_once ABSPATH . WPINC . '/customize/class-wp-customize-date-time-control.php'; - -/** - * WP_Sidebar_Block_Editor_Control class. - */ -require_once ABSPATH . WPINC . '/customize/class-wp-sidebar-block-editor-control.php'; diff --git a/src/wp-includes/class-wp-customize-manager.php b/src/wp-includes/class-wp-customize-manager.php index 8d5e94af94b8d..5a082dc7f447f 100644 --- a/src/wp-includes/class-wp-customize-manager.php +++ b/src/wp-includes/class-wp-customize-manager.php @@ -302,45 +302,6 @@ public function __construct( $args = array() ) { } } - require_once ABSPATH . WPINC . '/class-wp-customize-setting.php'; - require_once ABSPATH . WPINC . '/class-wp-customize-panel.php'; - require_once ABSPATH . WPINC . '/class-wp-customize-section.php'; - require_once ABSPATH . WPINC . '/class-wp-customize-control.php'; - - require_once ABSPATH . WPINC . '/customize/class-wp-customize-color-control.php'; - require_once ABSPATH . WPINC . '/customize/class-wp-customize-media-control.php'; - require_once ABSPATH . WPINC . '/customize/class-wp-customize-upload-control.php'; - require_once ABSPATH . WPINC . '/customize/class-wp-customize-image-control.php'; - require_once ABSPATH . WPINC . '/customize/class-wp-customize-background-image-control.php'; - require_once ABSPATH . WPINC . '/customize/class-wp-customize-background-position-control.php'; - require_once ABSPATH . WPINC . '/customize/class-wp-customize-cropped-image-control.php'; - require_once ABSPATH . WPINC . '/customize/class-wp-customize-site-icon-control.php'; - require_once ABSPATH . WPINC . '/customize/class-wp-customize-header-image-control.php'; - require_once ABSPATH . WPINC . '/customize/class-wp-customize-theme-control.php'; - require_once ABSPATH . WPINC . '/customize/class-wp-customize-code-editor-control.php'; - require_once ABSPATH . WPINC . '/customize/class-wp-widget-area-customize-control.php'; - require_once ABSPATH . WPINC . '/customize/class-wp-widget-form-customize-control.php'; - require_once ABSPATH . WPINC . '/customize/class-wp-customize-nav-menu-control.php'; - require_once ABSPATH . WPINC . '/customize/class-wp-customize-nav-menu-item-control.php'; - require_once ABSPATH . WPINC . '/customize/class-wp-customize-nav-menu-location-control.php'; - require_once ABSPATH . WPINC . '/customize/class-wp-customize-nav-menu-name-control.php'; - require_once ABSPATH . WPINC . '/customize/class-wp-customize-nav-menu-locations-control.php'; - require_once ABSPATH . WPINC . '/customize/class-wp-customize-nav-menu-auto-add-control.php'; - - require_once ABSPATH . WPINC . '/customize/class-wp-customize-nav-menus-panel.php'; - - require_once ABSPATH . WPINC . '/customize/class-wp-customize-themes-panel.php'; - require_once ABSPATH . WPINC . '/customize/class-wp-customize-themes-section.php'; - require_once ABSPATH . WPINC . '/customize/class-wp-customize-sidebar-section.php'; - require_once ABSPATH . WPINC . '/customize/class-wp-customize-nav-menu-section.php'; - - require_once ABSPATH . WPINC . '/customize/class-wp-customize-custom-css-setting.php'; - require_once ABSPATH . WPINC . '/customize/class-wp-customize-filter-setting.php'; - require_once ABSPATH . WPINC . '/customize/class-wp-customize-header-image-setting.php'; - require_once ABSPATH . WPINC . '/customize/class-wp-customize-background-image-setting.php'; - require_once ABSPATH . WPINC . '/customize/class-wp-customize-nav-menu-item-setting.php'; - require_once ABSPATH . WPINC . '/customize/class-wp-customize-nav-menu-setting.php'; - /** * Filters the core Customizer components to load. * @@ -358,16 +319,13 @@ public function __construct( $args = array() ) { */ $components = apply_filters( 'customize_loaded_components', $this->components, $this ); - require_once ABSPATH . WPINC . '/customize/class-wp-customize-selective-refresh.php'; $this->selective_refresh = new WP_Customize_Selective_Refresh( $this ); if ( in_array( 'widgets', $components, true ) ) { - require_once ABSPATH . WPINC . '/class-wp-customize-widgets.php'; $this->widgets = new WP_Customize_Widgets( $this ); } if ( in_array( 'nav_menus', $components, true ) ) { - require_once ABSPATH . WPINC . '/class-wp-customize-nav-menus.php'; $this->nav_menus = new WP_Customize_Nav_Menus( $this ); } diff --git a/src/wp-includes/class-wp-customize-panel.php b/src/wp-includes/class-wp-customize-panel.php index 95b7aed468814..1840a5594a0cb 100644 --- a/src/wp-includes/class-wp-customize-panel.php +++ b/src/wp-includes/class-wp-customize-panel.php @@ -406,6 +406,3 @@ protected function content_template() { is_initialized() ) { diff --git a/src/wp-includes/class-wp-recovery-mode-key-service.php b/src/wp-includes/class-wp-recovery-mode-key-service.php index 38d5730f85bf4..011e8444adf7e 100644 --- a/src/wp-includes/class-wp-recovery-mode-key-service.php +++ b/src/wp-includes/class-wp-recovery-mode-key-service.php @@ -50,7 +50,6 @@ public function generate_and_store_recovery_mode_key( $token ) { $key = wp_generate_password( 22, false ); if ( empty( $wp_hasher ) ) { - require_once ABSPATH . WPINC . '/class-phpass.php'; $wp_hasher = new PasswordHash( 8, true ); } @@ -110,7 +109,6 @@ public function validate_recovery_mode_key( $token, $key, $ttl ) { } if ( empty( $wp_hasher ) ) { - require_once ABSPATH . WPINC . '/class-phpass.php'; $wp_hasher = new PasswordHash( 8, true ); } diff --git a/src/wp-includes/class.wp-dependencies.php b/src/wp-includes/class.wp-dependencies.php index 631ed9e93e66f..7eba5f7556e02 100644 --- a/src/wp-includes/class.wp-dependencies.php +++ b/src/wp-includes/class.wp-dependencies.php @@ -9,6 +9,3 @@ */ _deprecated_file( basename( __FILE__ ), '6.1.0', WPINC . '/class-wp-dependencies.php' ); - -/** WP_Dependencies class */ -require_once ABSPATH . WPINC . '/class-wp-dependencies.php'; diff --git a/src/wp-includes/class.wp-scripts.php b/src/wp-includes/class.wp-scripts.php index 30e2d31126e69..cf58e73146683 100644 --- a/src/wp-includes/class.wp-scripts.php +++ b/src/wp-includes/class.wp-scripts.php @@ -9,6 +9,3 @@ */ _deprecated_file( basename( __FILE__ ), '6.1.0', WPINC . '/class-wp-scripts.php' ); - -/** WP_Scripts class */ -require_once ABSPATH . WPINC . '/class-wp-scripts.php'; diff --git a/src/wp-includes/class.wp-styles.php b/src/wp-includes/class.wp-styles.php index 1a33a9e6b0cd6..7a79dc91ec3da 100644 --- a/src/wp-includes/class.wp-styles.php +++ b/src/wp-includes/class.wp-styles.php @@ -9,6 +9,3 @@ */ _deprecated_file( basename( __FILE__ ), '6.1.0', WPINC . '/class-wp-styles.php' ); - -/** WP_Styles class */ -require_once ABSPATH . WPINC . '/class-wp-styles.php'; diff --git a/src/wp-includes/comment.php b/src/wp-includes/comment.php index d336399117284..5cd76d562b724 100644 --- a/src/wp-includes/comment.php +++ b/src/wp-includes/comment.php @@ -3047,8 +3047,6 @@ function generic_ping( $post_id = 0 ) { * @param int|WP_Post $post Post ID or object. */ function pingback( $content, $post ) { - require_once ABSPATH . WPINC . '/class-IXR.php'; - require_once ABSPATH . WPINC . '/class-wp-http-ixr-client.php'; // Original code by Mort (http://mort.mine.nu:8080). $post_links = array(); @@ -3215,8 +3213,6 @@ function trackback( $trackback_url, $title, $excerpt, $post_id ) { * @param string $path Path to send the ping. */ function weblog_ping( $server = '', $path = '' ) { - require_once ABSPATH . WPINC . '/class-IXR.php'; - require_once ABSPATH . WPINC . '/class-wp-http-ixr-client.php'; // Using a timeout of 3 seconds should be enough to cover slow servers. $client = new WP_HTTP_IXR_Client( $server, ( ( ! strlen( trim( $path ) ) || ( '/' === $path ) ) ? false : $path ) ); diff --git a/src/wp-includes/customize/class-wp-customize-header-image-setting.php b/src/wp-includes/customize/class-wp-customize-header-image-setting.php index 80333a54128af..20b1d53e69978 100644 --- a/src/wp-includes/customize/class-wp-customize-header-image-setting.php +++ b/src/wp-includes/customize/class-wp-customize-header-image-setting.php @@ -38,7 +38,6 @@ public function update( $value ) { // If _custom_header_background_just_in_time() fails to initialize $custom_image_header when not is_admin(). if ( empty( $custom_image_header ) ) { - require_once ABSPATH . 'wp-admin/includes/class-custom-image-header.php'; $args = get_theme_support( 'custom-header' ); $admin_head_callback = isset( $args[0]['admin-head-callback'] ) ? $args[0]['admin-head-callback'] : null; $admin_preview_callback = isset( $args[0]['admin-preview-callback'] ) ? $args[0]['admin-preview-callback'] : null; diff --git a/src/wp-includes/customize/class-wp-customize-selective-refresh.php b/src/wp-includes/customize/class-wp-customize-selective-refresh.php index d20e8ab0a76ad..82999855af90d 100644 --- a/src/wp-includes/customize/class-wp-customize-selective-refresh.php +++ b/src/wp-includes/customize/class-wp-customize-selective-refresh.php @@ -63,8 +63,6 @@ final class WP_Customize_Selective_Refresh { */ public function __construct( WP_Customize_Manager $manager ) { $this->manager = $manager; - require_once ABSPATH . WPINC . '/customize/class-wp-customize-partial.php'; - add_action( 'customize_preview_init', array( $this, 'init_preview' ) ); } diff --git a/src/wp-includes/date.php b/src/wp-includes/date.php index 425e72005f30e..19b7699e41b7f 100644 --- a/src/wp-includes/date.php +++ b/src/wp-includes/date.php @@ -9,6 +9,3 @@ */ _deprecated_file( basename( __FILE__ ), '5.3.0', WPINC . '/class-wp-date-query.php' ); - -/** WP_Date_Query class */ -require_once ABSPATH . WPINC . '/class-wp-date-query.php'; diff --git a/src/wp-includes/default-widgets.php b/src/wp-includes/default-widgets.php index f8f3c4d141535..4faac203a5c12 100644 --- a/src/wp-includes/default-widgets.php +++ b/src/wp-includes/default-widgets.php @@ -6,63 +6,3 @@ * @subpackage Widgets * @since 2.8.0 */ - -/** WP_Widget_Pages class */ -require_once ABSPATH . WPINC . '/widgets/class-wp-widget-pages.php'; - -/** WP_Widget_Links class */ -require_once ABSPATH . WPINC . '/widgets/class-wp-widget-links.php'; - -/** WP_Widget_Search class */ -require_once ABSPATH . WPINC . '/widgets/class-wp-widget-search.php'; - -/** WP_Widget_Archives class */ -require_once ABSPATH . WPINC . '/widgets/class-wp-widget-archives.php'; - -/** WP_Widget_Media class */ -require_once ABSPATH . WPINC . '/widgets/class-wp-widget-media.php'; - -/** WP_Widget_Media_Audio class */ -require_once ABSPATH . WPINC . '/widgets/class-wp-widget-media-audio.php'; - -/** WP_Widget_Media_Image class */ -require_once ABSPATH . WPINC . '/widgets/class-wp-widget-media-image.php'; - -/** WP_Widget_Media_Video class */ -require_once ABSPATH . WPINC . '/widgets/class-wp-widget-media-video.php'; - -/** WP_Widget_Media_Gallery class */ -require_once ABSPATH . WPINC . '/widgets/class-wp-widget-media-gallery.php'; - -/** WP_Widget_Meta class */ -require_once ABSPATH . WPINC . '/widgets/class-wp-widget-meta.php'; - -/** WP_Widget_Calendar class */ -require_once ABSPATH . WPINC . '/widgets/class-wp-widget-calendar.php'; - -/** WP_Widget_Text class */ -require_once ABSPATH . WPINC . '/widgets/class-wp-widget-text.php'; - -/** WP_Widget_Categories class */ -require_once ABSPATH . WPINC . '/widgets/class-wp-widget-categories.php'; - -/** WP_Widget_Recent_Posts class */ -require_once ABSPATH . WPINC . '/widgets/class-wp-widget-recent-posts.php'; - -/** WP_Widget_Recent_Comments class */ -require_once ABSPATH . WPINC . '/widgets/class-wp-widget-recent-comments.php'; - -/** WP_Widget_RSS class */ -require_once ABSPATH . WPINC . '/widgets/class-wp-widget-rss.php'; - -/** WP_Widget_Tag_Cloud class */ -require_once ABSPATH . WPINC . '/widgets/class-wp-widget-tag-cloud.php'; - -/** WP_Nav_Menu_Widget class */ -require_once ABSPATH . WPINC . '/widgets/class-wp-nav-menu-widget.php'; - -/** WP_Widget_Custom_HTML class */ -require_once ABSPATH . WPINC . '/widgets/class-wp-widget-custom-html.php'; - -/** WP_Widget_Block class */ -require_once ABSPATH . WPINC . '/widgets/class-wp-widget-block.php'; diff --git a/src/wp-includes/feed.php b/src/wp-includes/feed.php index fc95bc5b7d7e9..4c7f7a05a5c5a 100644 --- a/src/wp-includes/feed.php +++ b/src/wp-includes/feed.php @@ -794,14 +794,6 @@ function feed_content_type( $type = '' ) { * @return SimplePie|WP_Error SimplePie object on success or WP_Error object on failure. */ function fetch_feed( $url ) { - if ( ! class_exists( 'SimplePie', false ) ) { - require_once ABSPATH . WPINC . '/class-simplepie.php'; - } - - require_once ABSPATH . WPINC . '/class-wp-feed-cache-transient.php'; - require_once ABSPATH . WPINC . '/class-wp-simplepie-file.php'; - require_once ABSPATH . WPINC . '/class-wp-simplepie-sanitize-kses.php'; - $feed = new SimplePie(); $feed->set_sanitize_class( 'WP_SimplePie_Sanitize_KSES' ); @@ -817,7 +809,6 @@ function fetch_feed( $url ) { $feed->set_cache_location( 'wp_transient' ); } else { // Back-compat for SimplePie 1.2.x. - require_once ABSPATH . WPINC . '/class-wp-feed-cache.php'; $feed->set_cache_class( 'WP_Feed_Cache' ); } diff --git a/src/wp-includes/functions.php b/src/wp-includes/functions.php index 67544bc889e2c..c405395fddaad 100644 --- a/src/wp-includes/functions.php +++ b/src/wp-includes/functions.php @@ -882,7 +882,6 @@ function do_enclose( $content, $post ) { global $wpdb; // @todo Tidy this code and make the debug code optional. - require_once ABSPATH . WPINC . '/class-IXR.php'; $post = get_post( $post ); if ( ! $post ) { @@ -5394,8 +5393,6 @@ function wp_maybe_load_widgets() { return; } - require_once ABSPATH . WPINC . '/default-widgets.php'; - add_action( '_admin_menu', 'wp_widgets_add_menu' ); } diff --git a/src/wp-includes/general-template.php b/src/wp-includes/general-template.php index b4aa26e2e493e..ca34aa50534ac 100644 --- a/src/wp-includes/general-template.php +++ b/src/wp-includes/general-template.php @@ -3837,9 +3837,6 @@ function wp_default_editor() { * @param array $settings See _WP_Editors::parse_settings() for description. */ function wp_editor( $content, $editor_id, $settings = array() ) { - if ( ! class_exists( '_WP_Editors', false ) ) { - require ABSPATH . WPINC . '/class-wp-editor.php'; - } _WP_Editors::editor( $content, $editor_id, $settings ); } @@ -3853,10 +3850,6 @@ function wp_editor( $content, $editor_id, $settings = array() ) { * @since 4.8.0 */ function wp_enqueue_editor() { - if ( ! class_exists( '_WP_Editors', false ) ) { - require ABSPATH . WPINC . '/class-wp-editor.php'; - } - _WP_Editors::enqueue_default_editor(); } diff --git a/src/wp-includes/load.php b/src/wp-includes/load.php index b0b8209235c3e..a6ade52c4f0a3 100644 --- a/src/wp-includes/load.php +++ b/src/wp-includes/load.php @@ -677,8 +677,6 @@ function wp_set_lang_dir() { function require_wp_db() { global $wpdb; - require_once ABSPATH . WPINC . '/class-wpdb.php'; - if ( file_exists( WP_CONTENT_DIR . '/db.php' ) ) { require_once WP_CONTENT_DIR . '/db.php'; } @@ -1497,16 +1495,7 @@ function wp_load_translations_early() { require ABSPATH . WPINC . '/version.php'; // Translation and localization. - require_once ABSPATH . WPINC . '/pomo/mo.php'; - require_once ABSPATH . WPINC . '/l10n/class-wp-translation-controller.php'; - require_once ABSPATH . WPINC . '/l10n/class-wp-translations.php'; - require_once ABSPATH . WPINC . '/l10n/class-wp-translation-file.php'; - require_once ABSPATH . WPINC . '/l10n/class-wp-translation-file-mo.php'; - require_once ABSPATH . WPINC . '/l10n/class-wp-translation-file-php.php'; require_once ABSPATH . WPINC . '/l10n.php'; - require_once ABSPATH . WPINC . '/class-wp-textdomain-registry.php'; - require_once ABSPATH . WPINC . '/class-wp-locale.php'; - require_once ABSPATH . WPINC . '/class-wp-locale-switcher.php'; // General libraries. require_once ABSPATH . WPINC . '/plugin.php'; diff --git a/src/wp-includes/media.php b/src/wp-includes/media.php index 82ea8f27edc09..4e93e561d84bf 100644 --- a/src/wp-includes/media.php +++ b/src/wp-includes/media.php @@ -4178,10 +4178,6 @@ function wp_image_editor_supports( $args = array() ) { * False if no editor claims to support the request. */ function _wp_image_editor_choose( $args = array() ) { - require_once ABSPATH . WPINC . '/class-wp-image-editor.php'; - require_once ABSPATH . WPINC . '/class-wp-image-editor-gd.php'; - require_once ABSPATH . WPINC . '/class-wp-image-editor-imagick.php'; - require_once ABSPATH . WPINC . '/class-avif-info.php'; /** * Filters the list of image editing library classes. * @@ -5718,8 +5714,6 @@ function wp_get_avif_info( $filename ) { } // Parse the file using libavifinfo's PHP implementation. - require_once ABSPATH . WPINC . '/class-avif-info.php'; - $handle = fopen( $filename, 'rb' ); if ( $handle ) { $parser = new Avifinfo\Parser( $handle ); diff --git a/src/wp-includes/meta.php b/src/wp-includes/meta.php index 6f6dd928e0498..160374673a4f6 100644 --- a/src/wp-includes/meta.php +++ b/src/wp-includes/meta.php @@ -10,8 +10,6 @@ * @subpackage Meta */ -require ABSPATH . WPINC . '/class-wp-metadata-lazyloader.php'; - /** * Adds metadata for the specified object. * diff --git a/src/wp-includes/ms-settings.php b/src/wp-includes/ms-settings.php index 27dc1337f5fd0..c22aba3c3c521 100644 --- a/src/wp-includes/ms-settings.php +++ b/src/wp-includes/ms-settings.php @@ -31,12 +31,6 @@ */ global $current_site, $current_blog, $domain, $path, $site_id, $public; -/** WP_Network class */ -require_once ABSPATH . WPINC . '/class-wp-network.php'; - -/** WP_Site class */ -require_once ABSPATH . WPINC . '/class-wp-site.php'; - /** Multisite loader */ require_once ABSPATH . WPINC . '/ms-load.php'; diff --git a/src/wp-includes/nav-menu-template.php b/src/wp-includes/nav-menu-template.php index 860efa92d3377..80f42dc4d6390 100644 --- a/src/wp-includes/nav-menu-template.php +++ b/src/wp-includes/nav-menu-template.php @@ -7,9 +7,6 @@ * @since 3.0.0 */ -/** Walker_Nav_Menu class */ -require_once ABSPATH . WPINC . '/class-walker-nav-menu.php'; - /** * Displays a navigation menu. * diff --git a/src/wp-includes/pluggable.php b/src/wp-includes/pluggable.php index 690c0fe4bca47..e883bce812ee2 100644 --- a/src/wp-includes/pluggable.php +++ b/src/wp-includes/pluggable.php @@ -2580,7 +2580,6 @@ function wp_hash_password( $password ) { global $wp_hasher; if ( empty( $wp_hasher ) ) { - require_once ABSPATH . WPINC . '/class-phpass.php'; // By default, use the portable hash from phpass. $wp_hasher = new PasswordHash( 8, true ); } @@ -2642,7 +2641,6 @@ function wp_check_password( $password, $hash, $user_id = '' ) { * presume the new style phpass portable hash. */ if ( empty( $wp_hasher ) ) { - require_once ABSPATH . WPINC . '/class-phpass.php'; // By default, use the portable hash from phpass. $wp_hasher = new PasswordHash( 8, true ); } @@ -3099,10 +3097,6 @@ function wp_text_diff( $left_string, $right_string, $args = null ) { ); $args = wp_parse_args( $args, $defaults ); - if ( ! class_exists( 'WP_Text_Diff_Renderer_Table', false ) ) { - require ABSPATH . WPINC . '/wp-diff.php'; - } - $left_string = normalize_whitespace( $left_string ); $right_string = normalize_whitespace( $right_string ); diff --git a/src/wp-includes/plugin.php b/src/wp-includes/plugin.php index 77c1eb4ef669b..ffd41a2fe288f 100644 --- a/src/wp-includes/plugin.php +++ b/src/wp-includes/plugin.php @@ -21,8 +21,10 @@ * @since 1.5.0 */ -// Initialize the filter globals. -require __DIR__ . '/class-wp-hook.php'; +// Initialize WP_Hook if not loaded. +if ( ! class_exists( 'WP_Autoload' ) && ! class_exists( 'WP_Hook' ) ) { + require_once __DIR__ . '/class-wp-hook.php'; +} /** @var WP_Hook[] $wp_filter */ global $wp_filter; diff --git a/src/wp-includes/pomo/mo.php b/src/wp-includes/pomo/mo.php index 1bbc40ab65aa2..9c2dd593789f7 100644 --- a/src/wp-includes/pomo/mo.php +++ b/src/wp-includes/pomo/mo.php @@ -7,9 +7,6 @@ * @subpackage mo */ -require_once __DIR__ . '/translations.php'; -require_once __DIR__ . '/streams.php'; - if ( ! class_exists( 'MO', false ) ) : class MO extends Gettext_Translations { diff --git a/src/wp-includes/pomo/po.php b/src/wp-includes/pomo/po.php index a4e3cab4ef17a..134809681ca1c 100644 --- a/src/wp-includes/pomo/po.php +++ b/src/wp-includes/pomo/po.php @@ -7,8 +7,6 @@ * @subpackage po */ -require_once __DIR__ . '/translations.php'; - if ( ! defined( 'PO_MAX_LINE_LEN' ) ) { define( 'PO_MAX_LINE_LEN', 79 ); } diff --git a/src/wp-includes/pomo/translations.php b/src/wp-includes/pomo/translations.php index 87ebcf20737f7..6fc00511eb4b7 100644 --- a/src/wp-includes/pomo/translations.php +++ b/src/wp-includes/pomo/translations.php @@ -8,9 +8,6 @@ * @since 2.8.0 */ -require_once __DIR__ . '/plural-forms.php'; -require_once __DIR__ . '/entry.php'; - if ( ! class_exists( 'Translations', false ) ) : /** * Translations class. diff --git a/src/wp-includes/post-template.php b/src/wp-includes/post-template.php index 4f3bfbef0cd7e..34bf23b381858 100644 --- a/src/wp-includes/post-template.php +++ b/src/wp-includes/post-template.php @@ -882,7 +882,6 @@ function post_password_required( $post = null ) { return apply_filters( 'post_password_required', true, $post ); } - require_once ABSPATH . WPINC . '/class-phpass.php'; $hasher = new PasswordHash( 8, true ); $hash = wp_unslash( $_COOKIE[ 'wp-postpass_' . COOKIEHASH ] ); diff --git a/src/wp-includes/rest-api/endpoints/class-wp-rest-plugins-controller.php b/src/wp-includes/rest-api/endpoints/class-wp-rest-plugins-controller.php index d0dd5fce4cd9c..e4d59b3277059 100644 --- a/src/wp-includes/rest-api/endpoints/class-wp-rest-plugins-controller.php +++ b/src/wp-includes/rest-api/endpoints/class-wp-rest-plugins-controller.php @@ -275,7 +275,6 @@ public function create_item( $request ) { require_once ABSPATH . 'wp-admin/includes/file.php'; require_once ABSPATH . 'wp-admin/includes/plugin.php'; - require_once ABSPATH . 'wp-admin/includes/class-wp-upgrader.php'; require_once ABSPATH . 'wp-admin/includes/plugin-install.php'; $slug = $request['slug']; diff --git a/src/wp-includes/rest-api/endpoints/class-wp-rest-site-health-controller.php b/src/wp-includes/rest-api/endpoints/class-wp-rest-site-health-controller.php index 41e15337add5f..1d2a22b90edcf 100644 --- a/src/wp-includes/rest-api/endpoints/class-wp-rest-site-health-controller.php +++ b/src/wp-includes/rest-api/endpoints/class-wp-rest-site-health-controller.php @@ -281,10 +281,6 @@ public function test_page_cache() { * @return array|WP_Error */ public function get_directory_sizes() { - if ( ! class_exists( 'WP_Debug_Data' ) ) { - require_once ABSPATH . 'wp-admin/includes/class-wp-debug-data.php'; - } - $this->load_admin_textdomain(); $sizes_data = WP_Debug_Data::get_sizes(); diff --git a/src/wp-includes/script-loader.php b/src/wp-includes/script-loader.php index 2da46f1332e7f..40a0ab49d1384 100644 --- a/src/wp-includes/script-loader.php +++ b/src/wp-includes/script-loader.php @@ -16,21 +16,9 @@ * @package WordPress */ -/** WordPress Dependency Class */ -require ABSPATH . WPINC . '/class-wp-dependency.php'; - -/** WordPress Dependencies Class */ -require ABSPATH . WPINC . '/class-wp-dependencies.php'; - -/** WordPress Scripts Class */ -require ABSPATH . WPINC . '/class-wp-scripts.php'; - /** WordPress Scripts Functions */ require ABSPATH . WPINC . '/functions.wp-scripts.php'; -/** WordPress Styles Class */ -require ABSPATH . WPINC . '/class-wp-styles.php'; - /** WordPress Styles Functions */ require ABSPATH . WPINC . '/functions.wp-styles.php'; @@ -1996,8 +1984,6 @@ function wp_localize_community_events() { return; } - require_once ABSPATH . 'wp-admin/includes/class-wp-community-events.php'; - $user_id = get_current_user_id(); $saved_location = get_user_option( 'community-events-location', $user_id ); $saved_ip_address = isset( $saved_location['ip'] ) ? $saved_location['ip'] : false; diff --git a/src/wp-includes/session.php b/src/wp-includes/session.php index df2a042ca6ce9..c0d12c686d2ef 100644 --- a/src/wp-includes/session.php +++ b/src/wp-includes/session.php @@ -7,6 +7,3 @@ */ _deprecated_file( basename( __FILE__ ), '4.7.0' ); - -require_once ABSPATH . WPINC . '/class-wp-session-tokens.php'; -require_once ABSPATH . WPINC . '/class-wp-user-meta-session-tokens.php'; diff --git a/src/wp-includes/theme.php b/src/wp-includes/theme.php index 1a9b2479ad7e2..1f3fa58daca81 100644 --- a/src/wp-includes/theme.php +++ b/src/wp-includes/theme.php @@ -2961,7 +2961,6 @@ function _custom_header_background_just_in_time() { } if ( is_admin() ) { - require_once ABSPATH . 'wp-admin/includes/class-custom-image-header.php'; $custom_image_header = new Custom_Image_Header( $args[0]['admin-head-callback'], $args[0]['admin-preview-callback'] ); } } @@ -2974,7 +2973,6 @@ function _custom_header_background_just_in_time() { add_action( 'wp_head', $args[0]['wp-head-callback'] ); if ( is_admin() ) { - require_once ABSPATH . 'wp-admin/includes/class-custom-background.php'; $custom_background = new Custom_Background( $args[0]['admin-head-callback'], $args[0]['admin-preview-callback'] ); } } @@ -3612,7 +3610,6 @@ function _wp_customize_include() { ); $settings_previewed = ! $is_customize_save_action; - require_once ABSPATH . WPINC . '/class-wp-customize-manager.php'; $GLOBALS['wp_customize'] = new WP_Customize_Manager( compact( 'changeset_uuid', @@ -3652,7 +3649,6 @@ function _wp_customize_publish_changeset( $new_status, $old_status, $changeset_p } if ( empty( $wp_customize ) ) { - require_once ABSPATH . WPINC . '/class-wp-customize-manager.php'; $wp_customize = new WP_Customize_Manager( array( 'changeset_uuid' => $changeset_post->post_name, diff --git a/src/wp-includes/update.php b/src/wp-includes/update.php index 79ed9cd5743c8..78a6cc5a6cee6 100644 --- a/src/wp-includes/update.php +++ b/src/wp-includes/update.php @@ -843,7 +843,6 @@ function wp_update_themes( $extra_stats = array() ) { */ function wp_maybe_auto_update() { require_once ABSPATH . 'wp-admin/includes/admin.php'; - require_once ABSPATH . 'wp-admin/includes/class-wp-upgrader.php'; $upgrader = new WP_Automatic_Updater(); $upgrader->run(); diff --git a/src/wp-includes/user.php b/src/wp-includes/user.php index c234c495dfe3d..8ca3552f79444 100644 --- a/src/wp-includes/user.php +++ b/src/wp-includes/user.php @@ -2969,7 +2969,6 @@ function get_password_reset_key( $user ) { // Now insert the key, hashed, into the DB. if ( empty( $wp_hasher ) ) { - require_once ABSPATH . WPINC . '/class-phpass.php'; $wp_hasher = new PasswordHash( 8, true ); } @@ -3025,7 +3024,6 @@ function check_password_reset_key( $key, $login ) { } if ( empty( $wp_hasher ) ) { - require_once ABSPATH . WPINC . '/class-phpass.php'; $wp_hasher = new PasswordHash( 8, true ); } @@ -4877,7 +4875,6 @@ function wp_generate_user_request_key( $request_id ) { // Return the key, hashed. if ( empty( $wp_hasher ) ) { - require_once ABSPATH . WPINC . '/class-phpass.php'; $wp_hasher = new PasswordHash( 8, true ); } @@ -4924,7 +4921,6 @@ function wp_validate_user_request_key( $request_id, $key ) { } if ( empty( $wp_hasher ) ) { - require_once ABSPATH . WPINC . '/class-phpass.php'; $wp_hasher = new PasswordHash( 8, true ); } diff --git a/src/wp-includes/wp-db.php b/src/wp-includes/wp-db.php index 73a01113438db..82198800b8159 100644 --- a/src/wp-includes/wp-db.php +++ b/src/wp-includes/wp-db.php @@ -12,6 +12,3 @@ // Note: WPINC may not be defined yet, so 'wp-includes' is used here. _deprecated_file( basename( __FILE__ ), '6.1.0', 'wp-includes/class-wpdb.php' ); } - -/** wpdb class */ -require_once __DIR__ . '/class-wpdb.php'; diff --git a/src/wp-includes/wp-diff.php b/src/wp-includes/wp-diff.php index 235b04b4bed08..1cdda36e09753 100644 --- a/src/wp-includes/wp-diff.php +++ b/src/wp-includes/wp-diff.php @@ -7,15 +7,3 @@ * @package WordPress * @subpackage Diff */ - -if ( ! class_exists( 'Text_Diff', false ) ) { - /** Text_Diff class */ - require ABSPATH . WPINC . '/Text/Diff.php'; - /** Text_Diff_Renderer class */ - require ABSPATH . WPINC . '/Text/Diff/Renderer.php'; - /** Text_Diff_Renderer_inline class */ - require ABSPATH . WPINC . '/Text/Diff/Renderer/inline.php'; -} - -require ABSPATH . WPINC . '/class-wp-text-diff-renderer-table.php'; -require ABSPATH . WPINC . '/class-wp-text-diff-renderer-inline.php'; diff --git a/src/wp-load.php b/src/wp-load.php index 40c141f74034b..fc15763c07f4e 100644 --- a/src/wp-load.php +++ b/src/wp-load.php @@ -21,6 +21,12 @@ define( 'ABSPATH', __DIR__ . '/' ); } +if ( ! defined( 'WPINC' ) ) { + define( 'WPINC', 'wp-includes' ); +} + +require_once ABSPATH . WPINC . '/class-wp-autoload.php'; + /* * The error_reporting() function can be disabled in php.ini. On systems where that is the case, * it's best to add a dummy function to the wp-config.php file, but as this call to the function @@ -58,7 +64,6 @@ // A config file doesn't exist. - define( 'WPINC', 'wp-includes' ); require_once ABSPATH . WPINC . '/version.php'; require_once ABSPATH . WPINC . '/compat.php'; require_once ABSPATH . WPINC . '/load.php'; diff --git a/src/wp-login.php b/src/wp-login.php index a489d98856f71..bae5291aff911 100644 --- a/src/wp-login.php +++ b/src/wp-login.php @@ -762,7 +762,6 @@ function wp_login_viewport_meta() { exit; } - require_once ABSPATH . WPINC . '/class-phpass.php'; $hasher = new PasswordHash( 8, true ); /** diff --git a/src/wp-mail.php b/src/wp-mail.php index 7b18dd4ad1494..1c847cec181b6 100644 --- a/src/wp-mail.php +++ b/src/wp-mail.php @@ -28,9 +28,6 @@ */ do_action( 'wp-mail.php' ); // phpcs:ignore WordPress.NamingConventions.ValidHookName.UseUnderscores -/** Get the POP3 class with which to access the mailbox. */ -require_once ABSPATH . WPINC . '/class-pop3.php'; - /** Only check at this interval for new messages. */ if ( ! defined( 'WP_MAIL_INTERVAL' ) ) { define( 'WP_MAIL_INTERVAL', 5 * MINUTE_IN_SECONDS ); diff --git a/src/wp-settings.php b/src/wp-settings.php index 4643892ada0d6..40db5def78be6 100644 --- a/src/wp-settings.php +++ b/src/wp-settings.php @@ -13,7 +13,12 @@ * * @since 1.0.0 */ -define( 'WPINC', 'wp-includes' ); +if ( ! defined( 'WPINC' ) ) { + define( 'WPINC', 'wp-includes' ); +} + +// Require the autoloader. +require_once ABSPATH . WPINC . '/class-wp-autoload.php'; /** * Version information for the current WordPress release. @@ -38,13 +43,6 @@ wp_check_php_mysql_versions(); // Include files required for initialization. -require ABSPATH . WPINC . '/class-wp-paused-extensions-storage.php'; -require ABSPATH . WPINC . '/class-wp-fatal-error-handler.php'; -require ABSPATH . WPINC . '/class-wp-recovery-mode-cookie-service.php'; -require ABSPATH . WPINC . '/class-wp-recovery-mode-key-service.php'; -require ABSPATH . WPINC . '/class-wp-recovery-mode-link-service.php'; -require ABSPATH . WPINC . '/class-wp-recovery-mode-email-service.php'; -require ABSPATH . WPINC . '/class-wp-recovery-mode.php'; require ABSPATH . WPINC . '/error-protection.php'; require ABSPATH . WPINC . '/default-constants.php'; require_once ABSPATH . WPINC . '/plugin.php'; @@ -106,21 +104,9 @@ wp_set_lang_dir(); // Load early WordPress files. -require ABSPATH . WPINC . '/class-wp-list-util.php'; -require ABSPATH . WPINC . '/class-wp-token-map.php'; require ABSPATH . WPINC . '/formatting.php'; require ABSPATH . WPINC . '/meta.php'; require ABSPATH . WPINC . '/functions.php'; -require ABSPATH . WPINC . '/class-wp-meta-query.php'; -require ABSPATH . WPINC . '/class-wp-matchesmapregex.php'; -require ABSPATH . WPINC . '/class-wp.php'; -require ABSPATH . WPINC . '/class-wp-error.php'; -require ABSPATH . WPINC . '/pomo/mo.php'; -require ABSPATH . WPINC . '/l10n/class-wp-translation-controller.php'; -require ABSPATH . WPINC . '/l10n/class-wp-translations.php'; -require ABSPATH . WPINC . '/l10n/class-wp-translation-file.php'; -require ABSPATH . WPINC . '/l10n/class-wp-translation-file-mo.php'; -require ABSPATH . WPINC . '/l10n/class-wp-translation-file-php.php'; /** * @since 0.71 @@ -149,8 +135,6 @@ // Initialize multisite if enabled. if ( is_multisite() ) { - require ABSPATH . WPINC . '/class-wp-site-query.php'; - require ABSPATH . WPINC . '/class-wp-network-query.php'; require ABSPATH . WPINC . '/ms-blogs.php'; require ABSPATH . WPINC . '/ms-settings.php'; } elseif ( ! defined( 'MULTISITE' ) ) { @@ -166,33 +150,15 @@ // Load the L10n library. require_once ABSPATH . WPINC . '/l10n.php'; -require_once ABSPATH . WPINC . '/class-wp-textdomain-registry.php'; -require_once ABSPATH . WPINC . '/class-wp-locale.php'; -require_once ABSPATH . WPINC . '/class-wp-locale-switcher.php'; // Run the installer if WordPress is not installed. wp_not_installed(); // Load most of WordPress. -require ABSPATH . WPINC . '/class-wp-walker.php'; -require ABSPATH . WPINC . '/class-wp-ajax-response.php'; require ABSPATH . WPINC . '/capabilities.php'; -require ABSPATH . WPINC . '/class-wp-roles.php'; -require ABSPATH . WPINC . '/class-wp-role.php'; -require ABSPATH . WPINC . '/class-wp-user.php'; -require ABSPATH . WPINC . '/class-wp-query.php'; require ABSPATH . WPINC . '/query.php'; -require ABSPATH . WPINC . '/class-wp-date-query.php'; require ABSPATH . WPINC . '/theme.php'; -require ABSPATH . WPINC . '/class-wp-theme.php'; -require ABSPATH . WPINC . '/class-wp-theme-json-schema.php'; -require ABSPATH . WPINC . '/class-wp-theme-json-data.php'; -require ABSPATH . WPINC . '/class-wp-theme-json.php'; -require ABSPATH . WPINC . '/class-wp-theme-json-resolver.php'; -require ABSPATH . WPINC . '/class-wp-duotone.php'; require ABSPATH . WPINC . '/global-styles-and-settings.php'; -require ABSPATH . WPINC . '/class-wp-block-template.php'; -require ABSPATH . WPINC . '/class-wp-block-templates-registry.php'; require ABSPATH . WPINC . '/block-template-utils.php'; require ABSPATH . WPINC . '/block-template.php'; require ABSPATH . WPINC . '/theme-templates.php'; @@ -200,35 +166,21 @@ require ABSPATH . WPINC . '/template.php'; require ABSPATH . WPINC . '/https-detection.php'; require ABSPATH . WPINC . '/https-migration.php'; -require ABSPATH . WPINC . '/class-wp-user-request.php'; require ABSPATH . WPINC . '/user.php'; -require ABSPATH . WPINC . '/class-wp-user-query.php'; -require ABSPATH . WPINC . '/class-wp-session-tokens.php'; -require ABSPATH . WPINC . '/class-wp-user-meta-session-tokens.php'; require ABSPATH . WPINC . '/general-template.php'; require ABSPATH . WPINC . '/link-template.php'; require ABSPATH . WPINC . '/author-template.php'; require ABSPATH . WPINC . '/robots-template.php'; require ABSPATH . WPINC . '/post.php'; -require ABSPATH . WPINC . '/class-walker-page.php'; -require ABSPATH . WPINC . '/class-walker-page-dropdown.php'; -require ABSPATH . WPINC . '/class-wp-post-type.php'; -require ABSPATH . WPINC . '/class-wp-post.php'; require ABSPATH . WPINC . '/post-template.php'; require ABSPATH . WPINC . '/revision.php'; require ABSPATH . WPINC . '/post-formats.php'; require ABSPATH . WPINC . '/post-thumbnail-template.php'; require ABSPATH . WPINC . '/category.php'; -require ABSPATH . WPINC . '/class-walker-category.php'; -require ABSPATH . WPINC . '/class-walker-category-dropdown.php'; require ABSPATH . WPINC . '/category-template.php'; require ABSPATH . WPINC . '/comment.php'; -require ABSPATH . WPINC . '/class-wp-comment.php'; -require ABSPATH . WPINC . '/class-wp-comment-query.php'; -require ABSPATH . WPINC . '/class-walker-comment.php'; require ABSPATH . WPINC . '/comment-template.php'; require ABSPATH . WPINC . '/rewrite.php'; -require ABSPATH . WPINC . '/class-wp-rewrite.php'; require ABSPATH . WPINC . '/feed.php'; require ABSPATH . WPINC . '/bookmark.php'; require ABSPATH . WPINC . '/bookmark-template.php'; @@ -237,128 +189,19 @@ require ABSPATH . WPINC . '/deprecated.php'; require ABSPATH . WPINC . '/script-loader.php'; require ABSPATH . WPINC . '/taxonomy.php'; -require ABSPATH . WPINC . '/class-wp-taxonomy.php'; -require ABSPATH . WPINC . '/class-wp-term.php'; -require ABSPATH . WPINC . '/class-wp-term-query.php'; -require ABSPATH . WPINC . '/class-wp-tax-query.php'; require ABSPATH . WPINC . '/update.php'; require ABSPATH . WPINC . '/canonical.php'; require ABSPATH . WPINC . '/shortcodes.php'; require ABSPATH . WPINC . '/embed.php'; -require ABSPATH . WPINC . '/class-wp-embed.php'; -require ABSPATH . WPINC . '/class-wp-oembed.php'; -require ABSPATH . WPINC . '/class-wp-oembed-controller.php'; require ABSPATH . WPINC . '/media.php'; require ABSPATH . WPINC . '/http.php'; require ABSPATH . WPINC . '/html-api/html5-named-character-references.php'; -require ABSPATH . WPINC . '/html-api/class-wp-html-attribute-token.php'; -require ABSPATH . WPINC . '/html-api/class-wp-html-span.php'; -require ABSPATH . WPINC . '/html-api/class-wp-html-doctype-info.php'; -require ABSPATH . WPINC . '/html-api/class-wp-html-text-replacement.php'; -require ABSPATH . WPINC . '/html-api/class-wp-html-decoder.php'; -require ABSPATH . WPINC . '/html-api/class-wp-html-tag-processor.php'; -require ABSPATH . WPINC . '/html-api/class-wp-html-unsupported-exception.php'; -require ABSPATH . WPINC . '/html-api/class-wp-html-active-formatting-elements.php'; -require ABSPATH . WPINC . '/html-api/class-wp-html-open-elements.php'; -require ABSPATH . WPINC . '/html-api/class-wp-html-token.php'; -require ABSPATH . WPINC . '/html-api/class-wp-html-stack-event.php'; -require ABSPATH . WPINC . '/html-api/class-wp-html-processor-state.php'; -require ABSPATH . WPINC . '/html-api/class-wp-html-processor.php'; -require ABSPATH . WPINC . '/class-wp-http.php'; -require ABSPATH . WPINC . '/class-wp-http-streams.php'; -require ABSPATH . WPINC . '/class-wp-http-curl.php'; -require ABSPATH . WPINC . '/class-wp-http-proxy.php'; -require ABSPATH . WPINC . '/class-wp-http-cookie.php'; -require ABSPATH . WPINC . '/class-wp-http-encoding.php'; -require ABSPATH . WPINC . '/class-wp-http-response.php'; -require ABSPATH . WPINC . '/class-wp-http-requests-response.php'; -require ABSPATH . WPINC . '/class-wp-http-requests-hooks.php'; require ABSPATH . WPINC . '/widgets.php'; -require ABSPATH . WPINC . '/class-wp-widget.php'; -require ABSPATH . WPINC . '/class-wp-widget-factory.php'; require ABSPATH . WPINC . '/nav-menu-template.php'; require ABSPATH . WPINC . '/nav-menu.php'; require ABSPATH . WPINC . '/admin-bar.php'; -require ABSPATH . WPINC . '/class-wp-application-passwords.php'; require ABSPATH . WPINC . '/rest-api.php'; -require ABSPATH . WPINC . '/rest-api/class-wp-rest-server.php'; -require ABSPATH . WPINC . '/rest-api/class-wp-rest-response.php'; -require ABSPATH . WPINC . '/rest-api/class-wp-rest-request.php'; -require ABSPATH . WPINC . '/rest-api/endpoints/class-wp-rest-controller.php'; -require ABSPATH . WPINC . '/rest-api/endpoints/class-wp-rest-posts-controller.php'; -require ABSPATH . WPINC . '/rest-api/endpoints/class-wp-rest-attachments-controller.php'; -require ABSPATH . WPINC . '/rest-api/endpoints/class-wp-rest-global-styles-controller.php'; -require ABSPATH . WPINC . '/rest-api/endpoints/class-wp-rest-post-types-controller.php'; -require ABSPATH . WPINC . '/rest-api/endpoints/class-wp-rest-post-statuses-controller.php'; -require ABSPATH . WPINC . '/rest-api/endpoints/class-wp-rest-revisions-controller.php'; -require ABSPATH . WPINC . '/rest-api/endpoints/class-wp-rest-global-styles-revisions-controller.php'; -require ABSPATH . WPINC . '/rest-api/endpoints/class-wp-rest-template-revisions-controller.php'; -require ABSPATH . WPINC . '/rest-api/endpoints/class-wp-rest-autosaves-controller.php'; -require ABSPATH . WPINC . '/rest-api/endpoints/class-wp-rest-template-autosaves-controller.php'; -require ABSPATH . WPINC . '/rest-api/endpoints/class-wp-rest-taxonomies-controller.php'; -require ABSPATH . WPINC . '/rest-api/endpoints/class-wp-rest-terms-controller.php'; -require ABSPATH . WPINC . '/rest-api/endpoints/class-wp-rest-menu-items-controller.php'; -require ABSPATH . WPINC . '/rest-api/endpoints/class-wp-rest-menus-controller.php'; -require ABSPATH . WPINC . '/rest-api/endpoints/class-wp-rest-menu-locations-controller.php'; -require ABSPATH . WPINC . '/rest-api/endpoints/class-wp-rest-users-controller.php'; -require ABSPATH . WPINC . '/rest-api/endpoints/class-wp-rest-comments-controller.php'; -require ABSPATH . WPINC . '/rest-api/endpoints/class-wp-rest-search-controller.php'; -require ABSPATH . WPINC . '/rest-api/endpoints/class-wp-rest-blocks-controller.php'; -require ABSPATH . WPINC . '/rest-api/endpoints/class-wp-rest-block-types-controller.php'; -require ABSPATH . WPINC . '/rest-api/endpoints/class-wp-rest-block-renderer-controller.php'; -require ABSPATH . WPINC . '/rest-api/endpoints/class-wp-rest-settings-controller.php'; -require ABSPATH . WPINC . '/rest-api/endpoints/class-wp-rest-themes-controller.php'; -require ABSPATH . WPINC . '/rest-api/endpoints/class-wp-rest-plugins-controller.php'; -require ABSPATH . WPINC . '/rest-api/endpoints/class-wp-rest-block-directory-controller.php'; -require ABSPATH . WPINC . '/rest-api/endpoints/class-wp-rest-edit-site-export-controller.php'; -require ABSPATH . WPINC . '/rest-api/endpoints/class-wp-rest-pattern-directory-controller.php'; -require ABSPATH . WPINC . '/rest-api/endpoints/class-wp-rest-block-patterns-controller.php'; -require ABSPATH . WPINC . '/rest-api/endpoints/class-wp-rest-block-pattern-categories-controller.php'; -require ABSPATH . WPINC . '/rest-api/endpoints/class-wp-rest-application-passwords-controller.php'; -require ABSPATH . WPINC . '/rest-api/endpoints/class-wp-rest-site-health-controller.php'; -require ABSPATH . WPINC . '/rest-api/endpoints/class-wp-rest-sidebars-controller.php'; -require ABSPATH . WPINC . '/rest-api/endpoints/class-wp-rest-widget-types-controller.php'; -require ABSPATH . WPINC . '/rest-api/endpoints/class-wp-rest-widgets-controller.php'; -require ABSPATH . WPINC . '/rest-api/endpoints/class-wp-rest-templates-controller.php'; -require ABSPATH . WPINC . '/rest-api/endpoints/class-wp-rest-url-details-controller.php'; -require ABSPATH . WPINC . '/rest-api/endpoints/class-wp-rest-navigation-fallback-controller.php'; -require ABSPATH . WPINC . '/rest-api/endpoints/class-wp-rest-font-families-controller.php'; -require ABSPATH . WPINC . '/rest-api/endpoints/class-wp-rest-font-faces-controller.php'; -require ABSPATH . WPINC . '/rest-api/endpoints/class-wp-rest-font-collections-controller.php'; -require ABSPATH . WPINC . '/rest-api/fields/class-wp-rest-meta-fields.php'; -require ABSPATH . WPINC . '/rest-api/fields/class-wp-rest-comment-meta-fields.php'; -require ABSPATH . WPINC . '/rest-api/fields/class-wp-rest-post-meta-fields.php'; -require ABSPATH . WPINC . '/rest-api/fields/class-wp-rest-term-meta-fields.php'; -require ABSPATH . WPINC . '/rest-api/fields/class-wp-rest-user-meta-fields.php'; -require ABSPATH . WPINC . '/rest-api/search/class-wp-rest-search-handler.php'; -require ABSPATH . WPINC . '/rest-api/search/class-wp-rest-post-search-handler.php'; -require ABSPATH . WPINC . '/rest-api/search/class-wp-rest-term-search-handler.php'; -require ABSPATH . WPINC . '/rest-api/search/class-wp-rest-post-format-search-handler.php'; require ABSPATH . WPINC . '/sitemaps.php'; -require ABSPATH . WPINC . '/sitemaps/class-wp-sitemaps.php'; -require ABSPATH . WPINC . '/sitemaps/class-wp-sitemaps-index.php'; -require ABSPATH . WPINC . '/sitemaps/class-wp-sitemaps-provider.php'; -require ABSPATH . WPINC . '/sitemaps/class-wp-sitemaps-registry.php'; -require ABSPATH . WPINC . '/sitemaps/class-wp-sitemaps-renderer.php'; -require ABSPATH . WPINC . '/sitemaps/class-wp-sitemaps-stylesheet.php'; -require ABSPATH . WPINC . '/sitemaps/providers/class-wp-sitemaps-posts.php'; -require ABSPATH . WPINC . '/sitemaps/providers/class-wp-sitemaps-taxonomies.php'; -require ABSPATH . WPINC . '/sitemaps/providers/class-wp-sitemaps-users.php'; -require ABSPATH . WPINC . '/class-wp-block-bindings-source.php'; -require ABSPATH . WPINC . '/class-wp-block-bindings-registry.php'; -require ABSPATH . WPINC . '/class-wp-block-editor-context.php'; -require ABSPATH . WPINC . '/class-wp-block-type.php'; -require ABSPATH . WPINC . '/class-wp-block-pattern-categories-registry.php'; -require ABSPATH . WPINC . '/class-wp-block-patterns-registry.php'; -require ABSPATH . WPINC . '/class-wp-block-styles-registry.php'; -require ABSPATH . WPINC . '/class-wp-block-type-registry.php'; -require ABSPATH . WPINC . '/class-wp-block.php'; -require ABSPATH . WPINC . '/class-wp-block-list.php'; -require ABSPATH . WPINC . '/class-wp-block-parser-block.php'; -require ABSPATH . WPINC . '/class-wp-block-parser-frame.php'; -require ABSPATH . WPINC . '/class-wp-block-parser.php'; -require ABSPATH . WPINC . '/class-wp-classic-to-block-menu-converter.php'; -require ABSPATH . WPINC . '/class-wp-navigation-fallback.php'; require ABSPATH . WPINC . '/block-bindings.php'; require ABSPATH . WPINC . '/block-bindings/pattern-overrides.php'; require ABSPATH . WPINC . '/block-bindings/post-meta.php'; @@ -366,7 +209,6 @@ require ABSPATH . WPINC . '/blocks/index.php'; require ABSPATH . WPINC . '/block-editor.php'; require ABSPATH . WPINC . '/block-patterns.php'; -require ABSPATH . WPINC . '/class-wp-block-supports.php'; require ABSPATH . WPINC . '/block-supports/utils.php'; require ABSPATH . WPINC . '/block-supports/align.php'; require ABSPATH . WPINC . '/block-supports/custom-classname.php'; @@ -385,23 +227,9 @@ require ABSPATH . WPINC . '/block-supports/background.php'; require ABSPATH . WPINC . '/block-supports/block-style-variations.php'; require ABSPATH . WPINC . '/style-engine.php'; -require ABSPATH . WPINC . '/style-engine/class-wp-style-engine.php'; -require ABSPATH . WPINC . '/style-engine/class-wp-style-engine-css-declarations.php'; -require ABSPATH . WPINC . '/style-engine/class-wp-style-engine-css-rule.php'; -require ABSPATH . WPINC . '/style-engine/class-wp-style-engine-css-rules-store.php'; -require ABSPATH . WPINC . '/style-engine/class-wp-style-engine-processor.php'; -require ABSPATH . WPINC . '/fonts/class-wp-font-face-resolver.php'; -require ABSPATH . WPINC . '/fonts/class-wp-font-collection.php'; -require ABSPATH . WPINC . '/fonts/class-wp-font-face.php'; -require ABSPATH . WPINC . '/fonts/class-wp-font-library.php'; -require ABSPATH . WPINC . '/fonts/class-wp-font-utils.php'; require ABSPATH . WPINC . '/fonts.php'; -require ABSPATH . WPINC . '/class-wp-script-modules.php'; require ABSPATH . WPINC . '/script-modules.php'; -require ABSPATH . WPINC . '/interactivity-api/class-wp-interactivity-api.php'; -require ABSPATH . WPINC . '/interactivity-api/class-wp-interactivity-api-directives-processor.php'; require ABSPATH . WPINC . '/interactivity-api/interactivity-api.php'; -require ABSPATH . WPINC . '/class-wp-plugin-dependencies.php'; add_action( 'after_setup_theme', array( wp_script_modules(), 'add_hooks' ) ); add_action( 'after_setup_theme', array( wp_interactivity(), 'add_hooks' ) ); @@ -680,9 +508,6 @@ do_action( 'after_setup_theme' ); // Create an instance of WP_Site_Health so that Cron events may fire. -if ( ! class_exists( 'WP_Site_Health' ) ) { - require_once ABSPATH . 'wp-admin/includes/class-wp-site-health.php'; -} WP_Site_Health::get_instance(); // Set up current user. diff --git a/src/xmlrpc.php b/src/xmlrpc.php index 592902085712f..7df9e923cadac 100644 --- a/src/xmlrpc.php +++ b/src/xmlrpc.php @@ -62,8 +62,6 @@ } require_once ABSPATH . 'wp-admin/includes/admin.php'; -require_once ABSPATH . WPINC . '/class-IXR.php'; -require_once ABSPATH . WPINC . '/class-wp-xmlrpc-server.php'; /** * Posts submitted via the XML-RPC interface get that title diff --git a/tests/phpunit/includes/abstract-testcase.php b/tests/phpunit/includes/abstract-testcase.php index 224929eb377a8..67ecb8faef4ae 100644 --- a/tests/phpunit/includes/abstract-testcase.php +++ b/tests/phpunit/includes/abstract-testcase.php @@ -64,6 +64,8 @@ public static function set_up_before_class() { parent::set_up_before_class(); + require_once ABSPATH . 'wp-includes/class-wp-autoload.php'; + $wpdb->suppress_errors = false; $wpdb->show_errors = true; $wpdb->db_connect(); diff --git a/tests/phpunit/includes/testcase-xmlrpc.php b/tests/phpunit/includes/testcase-xmlrpc.php index b27186d88be9b..2b89fbcd854fd 100644 --- a/tests/phpunit/includes/testcase-xmlrpc.php +++ b/tests/phpunit/includes/testcase-xmlrpc.php @@ -1,7 +1,5 @@ user->create( array( 'role' => 'editor' ) ); self::$user_ids[] = self::$editor_id; @@ -698,7 +692,6 @@ public function test_new_user_link_does_not_exist_for_user_without_create_or_pro */ public function test_customize_link() { global $wp_customize; - require_once ABSPATH . WPINC . '/class-wp-customize-manager.php'; $uuid = wp_generate_uuid4(); $this->go_to( home_url( "/?customize_changeset_uuid=$uuid" ) ); wp_set_current_user( self::$admin_id ); diff --git a/tests/phpunit/tests/ajax/wpAjaxCropImage.php b/tests/phpunit/tests/ajax/wpAjaxCropImage.php index 3a23f3a425b50..5b99d371b45f0 100644 --- a/tests/phpunit/tests/ajax/wpAjaxCropImage.php +++ b/tests/phpunit/tests/ajax/wpAjaxCropImage.php @@ -4,8 +4,6 @@ * Admin Ajax functions to be tested. */ require_once ABSPATH . 'wp-admin/includes/ajax-actions.php'; -require_once ABSPATH . 'wp-admin/includes/class-wp-filesystem-base.php'; -require_once ABSPATH . 'wp-admin/includes/class-wp-filesystem-direct.php'; /** * Class for testing ajax crop image functionality. diff --git a/tests/phpunit/tests/ajax/wpCustomizeManager.php b/tests/phpunit/tests/ajax/wpCustomizeManager.php index 15ee1f0d5c639..f04ec64b560ef 100644 --- a/tests/phpunit/tests/ajax/wpCustomizeManager.php +++ b/tests/phpunit/tests/ajax/wpCustomizeManager.php @@ -48,14 +48,6 @@ public static function wpSetUpBeforeClass( WP_UnitTest_Factory $factory ) { self::$admin_user_id = $factory->user->create( array( 'role' => 'administrator' ) ); } - /** - * Set up the test fixture. - */ - public function set_up() { - parent::set_up(); - require_once ABSPATH . WPINC . '/class-wp-customize-manager.php'; - } - /** * Tear down. */ diff --git a/tests/phpunit/tests/ajax/wpCustomizeNavMenus.php b/tests/phpunit/tests/ajax/wpCustomizeNavMenus.php index 1dfe5f684d01e..ae953f29b909d 100644 --- a/tests/phpunit/tests/ajax/wpCustomizeNavMenus.php +++ b/tests/phpunit/tests/ajax/wpCustomizeNavMenus.php @@ -52,7 +52,6 @@ public static function wpSetUpBeforeClass( WP_UnitTest_Factory $factory ) { */ public function set_up() { parent::set_up(); - require_once ABSPATH . WPINC . '/class-wp-customize-manager.php'; wp_set_current_user( self::factory()->user->create( array( 'role' => 'administrator' ) ) ); global $wp_customize; $this->wp_customize = new WP_Customize_Manager(); diff --git a/tests/phpunit/tests/auth.php b/tests/phpunit/tests/auth.php index 5c196b499fcce..1a68f4462d272 100644 --- a/tests/phpunit/tests/auth.php +++ b/tests/phpunit/tests/auth.php @@ -33,9 +33,7 @@ public static function wpSetUpBeforeClass( WP_UnitTest_Factory $factory ) { ) ); - self::$user_id = self::$_user->ID; - - require_once ABSPATH . WPINC . '/class-phpass.php'; + self::$user_id = self::$_user->ID; self::$wp_hasher = new PasswordHash( 8, true ); } diff --git a/tests/phpunit/tests/autoloader-classmap.php b/tests/phpunit/tests/autoloader-classmap.php new file mode 100644 index 0000000000000..babe05bb5ee8b --- /dev/null +++ b/tests/phpunit/tests/autoloader-classmap.php @@ -0,0 +1,173 @@ +assertSame( strtolower( $class_name ), $class_name, "Class name '$class_name' is not lowercase." ); + } + + /** + * Data provider for test_autoloader_classmap_is_lowercase. + * + * @return array Data provider. + */ + public function data_autoloader_classmap_is_lowercase() { + $class_names = array_keys( WP_Autoload::CLASSES_PATHS ); + return $this->text_array_to_dataprovider( $class_names ); + } + + /** + * Tests that all files in the classmap exist. + * + * @covers WP_Autoload::CLASSES_PATHS + * + * @dataProvider data_autoloader_classmap_files_exist + * + * @param string $file_path File path relative to WP root directory. + */ + public function test_autoloader_classmap_files_exist( $file_path ) { + $this->assertFileExists( ABSPATH . $file_path ); + } + + /** + * Data provider for test_autoloader_classmap_files_exist. + * + * @return array Data provider. + */ + public function data_autoloader_classmap_files_exist() { + $file_paths = array_unique( array_values( WP_Autoload::CLASSES_PATHS ) ); + return $this->text_array_to_dataprovider( $file_paths ); + } + + /** + * Tests that all classes in the classmap are in the correct file. + * + * @covers WP_Autoload::CLASSES_PATHS + * + * @dataProvider data_autoloader_classmap_is_in_correct_file + * + * @param string $class_name Class name. + * @param string $file_path File path relative to WP root directory. + */ + public function test_autoloader_classmap_is_in_correct_file( $class_name, $file_path ) { + $this->assertTrue( + str_contains( + strtolower( file_get_contents( ABSPATH . $file_path ) ), + "class $class_name" + ) + ); + } + + /** + * Data provider for test_autoloader_classmap_is_in_correct_file. + * + * @return array Data provider. + */ + public function data_autoloader_classmap_is_in_correct_file() { + $data = array(); + foreach ( WP_Autoload::CLASSES_PATHS as $class_name => $file_path ) { + $data[ $class_name ] = array( + 'class_name' => $class_name, + 'file_path' => $file_path, + ); + } + + return $data; + } + + /** + * Tests that all `class-*.php` files in the WP core directory are in the classmap. + * + * @covers WP_Autoload::CLASSES_PATHS + * + * @dataProvider data_autoloader_class_files_exist_in_classmap + * + * @param string $class_name Class name. + * @param string $file_path File path relative to WP root directory. + */ + public function test_autoloader_class_files_exist_in_classmap( $class_name, $file_path ) { + $this->assertArrayHasKey( + $class_name, + WP_Autoload::CLASSES_PATHS, + "Class '$class_name' is missing from the classmap." + ); + } + + /** + * Data provider for test_autoloader_class_files_exist_in_classmap. + * + * @return array Data provider. + */ + public function data_autoloader_class_files_exist_in_classmap() { + $files = $this->get_all_wp_class_files(); + $data = array(); + foreach ( $files as $class_name => $file_path ) { + $data[ $class_name ] = array( + 'class_name' => $class_name, + 'file_path' => $file_path, + ); + } + return $data; + } + + /** + * Gets all `class-*.php` files in the WP core directory. + * + * @return array + */ + public function get_all_wp_class_files() { + static $files = array(); + if ( ! empty( $files ) ) { + return $files; + } + + $directory = new RecursiveDirectoryIterator( ABSPATH . WPINC ); + $iterator = new RecursiveIteratorIterator( $directory ); + $regex = new RegexIterator( $iterator, '/^.+\/class\-[a-z-]+\.php$/i', RecursiveRegexIterator::GET_MATCH ); + $ltrim_length = strlen( trailingslashit( ABSPATH ) ); + + $package_paths_to_ignore = array( + 'wp-includes/class-requests.php', // 3rd-party library. + 'wp-includes/Requests/', // 3rd-party library. + 'wp-includes/sodium_compat/', // 3rd-party library. + 'wp-includes/class-avif-info.php', // 3rd-party library. + 'wp-includes/class-simplepie.php', // 3rd-party library. + 'wp-includes/class-snoopy.php', // Deprecated. + ); + + foreach ( $regex as $file ) { + $class_file = $file[0]; + $relative_file = substr( $class_file, $ltrim_length ); + foreach ( $package_paths_to_ignore as $package_path ) { + if ( str_contains( $relative_file, $package_path ) !== false ) { + continue 2; + } + } + + $file_contents = file_get_contents( $class_file ); + // Extract the class name from the file. + preg_match( '/^class\s+([a-zA-Z0-9_]+)/m', $file_contents, $matches ); + if ( empty( $matches ) ) { + continue; + } + $class_name = strtolower( $matches[1] ); + $files[ $class_name ] = $relative_file; + } + + return $files; + } +} diff --git a/tests/phpunit/tests/category/walkerCategory.php b/tests/phpunit/tests/category/walkerCategory.php index e13ce9bb1047a..245d86cb8afb7 100644 --- a/tests/phpunit/tests/category/walkerCategory.php +++ b/tests/phpunit/tests/category/walkerCategory.php @@ -19,8 +19,6 @@ class Tests_Category_Walker_Category extends WP_UnitTestCase { public function set_up() { parent::set_up(); - /** Walker_Category class */ - require_once ABSPATH . 'wp-includes/class-walker-category.php'; $this->walker = new Walker_Category(); } diff --git a/tests/phpunit/tests/comment/wpHandleCommentSubmission.php b/tests/phpunit/tests/comment/wpHandleCommentSubmission.php index bbba0735795fc..00a94eb457d9e 100644 --- a/tests/phpunit/tests/comment/wpHandleCommentSubmission.php +++ b/tests/phpunit/tests/comment/wpHandleCommentSubmission.php @@ -38,7 +38,6 @@ public static function wpTearDownAfterClass() { public function set_up() { parent::set_up(); - require_once ABSPATH . WPINC . '/class-phpass.php'; } public function test_submitting_comment_to_invalid_post_returns_error() { diff --git a/tests/phpunit/tests/compat/jsonEncodeDecode.php b/tests/phpunit/tests/compat/jsonEncodeDecode.php index be51c6022b193..a3d54abf8de37 100644 --- a/tests/phpunit/tests/compat/jsonEncodeDecode.php +++ b/tests/phpunit/tests/compat/jsonEncodeDecode.php @@ -18,7 +18,6 @@ public function test_json_encode_decode() { $this->setExpectedDeprecated( 'Services_JSON::strlen8' ); $this->setExpectedDeprecated( 'Services_JSON::substr8' ); - require_once ABSPATH . WPINC . '/class-json.php'; $json = new Services_JSON(); // Super basic test to verify Services_JSON is intact and working. diff --git a/tests/phpunit/tests/customize/control.php b/tests/phpunit/tests/customize/control.php index d472eacad920a..4c4e1f09628a8 100644 --- a/tests/phpunit/tests/customize/control.php +++ b/tests/phpunit/tests/customize/control.php @@ -23,7 +23,6 @@ class Test_WP_Customize_Control extends WP_UnitTestCase { public function set_up() { parent::set_up(); wp_set_current_user( self::factory()->user->create( array( 'role' => 'administrator' ) ) ); - require_once ABSPATH . WPINC . '/class-wp-customize-manager.php'; $GLOBALS['wp_customize'] = new WP_Customize_Manager(); $this->wp_customize = $GLOBALS['wp_customize']; } diff --git a/tests/phpunit/tests/customize/custom-css-setting.php b/tests/phpunit/tests/customize/custom-css-setting.php index 015b6308af306..5584bf1fd1687 100644 --- a/tests/phpunit/tests/customize/custom-css-setting.php +++ b/tests/phpunit/tests/customize/custom-css-setting.php @@ -29,7 +29,6 @@ class Test_WP_Customize_Custom_CSS_Setting extends WP_UnitTestCase { */ public function set_up() { parent::set_up(); - require_once ABSPATH . WPINC . '/class-wp-customize-manager.php'; $user_id = self::factory()->user->create( array( diff --git a/tests/phpunit/tests/customize/manager.php b/tests/phpunit/tests/customize/manager.php index 0f8ddb2d9bbf3..8025bdd72e99b 100644 --- a/tests/phpunit/tests/customize/manager.php +++ b/tests/phpunit/tests/customize/manager.php @@ -55,7 +55,6 @@ public static function wpSetUpBeforeClass( WP_UnitTest_Factory $factory ) { */ public function set_up() { parent::set_up(); - require_once ABSPATH . WPINC . '/class-wp-customize-manager.php'; $this->manager = $this->instantiate(); } @@ -3677,8 +3676,6 @@ public function test_sanitize_external_header_video_trim() { } } -require_once ABSPATH . WPINC . '/class-wp-customize-setting.php'; - /** * Class Test_Dynamic_Customize_Setting * diff --git a/tests/phpunit/tests/customize/nav-menu-item-setting.php b/tests/phpunit/tests/customize/nav-menu-item-setting.php index 22d4bc7de7de4..4cf5eb9b2bfc7 100644 --- a/tests/phpunit/tests/customize/nav-menu-item-setting.php +++ b/tests/phpunit/tests/customize/nav-menu-item-setting.php @@ -20,7 +20,6 @@ class Test_WP_Customize_Nav_Menu_Item_Setting extends WP_UnitTestCase { */ public function set_up() { parent::set_up(); - require_once ABSPATH . WPINC . '/class-wp-customize-manager.php'; wp_set_current_user( self::factory()->user->create( array( 'role' => 'administrator' ) ) ); global $wp_customize; diff --git a/tests/phpunit/tests/customize/nav-menu-setting.php b/tests/phpunit/tests/customize/nav-menu-setting.php index 6d50c96ee0c62..bccadf8130626 100644 --- a/tests/phpunit/tests/customize/nav-menu-setting.php +++ b/tests/phpunit/tests/customize/nav-menu-setting.php @@ -21,7 +21,6 @@ class Test_WP_Customize_Nav_Menu_Setting extends WP_UnitTestCase { */ public function set_up() { parent::set_up(); - require_once ABSPATH . WPINC . '/class-wp-customize-manager.php'; wp_set_current_user( self::factory()->user->create( array( 'role' => 'administrator' ) ) ); global $wp_customize; diff --git a/tests/phpunit/tests/customize/nav-menus.php b/tests/phpunit/tests/customize/nav-menus.php index e0c80d1a56fec..d7f2aa7c02af7 100644 --- a/tests/phpunit/tests/customize/nav-menus.php +++ b/tests/phpunit/tests/customize/nav-menus.php @@ -21,7 +21,6 @@ class Test_WP_Customize_Nav_Menus extends WP_UnitTestCase { */ public function set_up() { parent::set_up(); - require_once ABSPATH . WPINC . '/class-wp-customize-manager.php'; wp_set_current_user( self::factory()->user->create( array( 'role' => 'administrator' ) ) ); global $wp_customize; $this->wp_customize = new WP_Customize_Manager(); diff --git a/tests/phpunit/tests/customize/panel.php b/tests/phpunit/tests/customize/panel.php index 40f198675a03a..60a827392f294 100644 --- a/tests/phpunit/tests/customize/panel.php +++ b/tests/phpunit/tests/customize/panel.php @@ -14,7 +14,6 @@ class Tests_WP_Customize_Panel extends WP_UnitTestCase { public function set_up() { parent::set_up(); - require_once ABSPATH . WPINC . '/class-wp-customize-manager.php'; $GLOBALS['wp_customize'] = new WP_Customize_Manager(); $this->manager = $GLOBALS['wp_customize']; } @@ -214,7 +213,6 @@ public function test_print_templates_custom() { } } -require_once ABSPATH . WPINC . '/class-wp-customize-panel.php'; class Custom_Panel_Test extends WP_Customize_Panel { public $type = 'titleless'; diff --git a/tests/phpunit/tests/customize/partial.php b/tests/phpunit/tests/customize/partial.php index 9fc4a478a49b1..19484afd800ec 100644 --- a/tests/phpunit/tests/customize/partial.php +++ b/tests/phpunit/tests/customize/partial.php @@ -27,7 +27,6 @@ class Test_WP_Customize_Partial extends WP_UnitTestCase { */ public function set_up() { parent::set_up(); - require_once ABSPATH . WPINC . '/class-wp-customize-manager.php'; $GLOBALS['wp_customize'] = new WP_Customize_Manager(); $this->wp_customize = $GLOBALS['wp_customize']; if ( isset( $this->wp_customize->selective_refresh ) ) { diff --git a/tests/phpunit/tests/customize/section.php b/tests/phpunit/tests/customize/section.php index ea2d55b658cae..25dfc00af681a 100644 --- a/tests/phpunit/tests/customize/section.php +++ b/tests/phpunit/tests/customize/section.php @@ -21,7 +21,6 @@ public static function wpSetUpBeforeClass( WP_UnitTest_Factory $factory ) { public function set_up() { parent::set_up(); - require_once ABSPATH . WPINC . '/class-wp-customize-manager.php'; $GLOBALS['wp_customize'] = new WP_Customize_Manager(); $this->manager = $GLOBALS['wp_customize']; } @@ -222,7 +221,6 @@ public function test_print_templates_custom() { } } -require_once ABSPATH . WPINC . '/class-wp-customize-section.php'; class Custom_Section_Test extends WP_Customize_Section { public $type = 'titleless'; diff --git a/tests/phpunit/tests/customize/selective-refresh-ajax.php b/tests/phpunit/tests/customize/selective-refresh-ajax.php index 39d3d45a707f9..79401f4b56999 100644 --- a/tests/phpunit/tests/customize/selective-refresh-ajax.php +++ b/tests/phpunit/tests/customize/selective-refresh-ajax.php @@ -38,7 +38,6 @@ public function set_up() { add_filter( 'wp_doing_ajax', '__return_true' ); add_filter( 'wp_die_ajax_handler', array( $this, 'get_wp_die_handler' ), 1, 1 ); - require_once ABSPATH . WPINC . '/class-wp-customize-manager.php'; $GLOBALS['wp_customize'] = new WP_Customize_Manager(); $this->wp_customize = $GLOBALS['wp_customize']; if ( isset( $this->wp_customize->selective_refresh ) ) { diff --git a/tests/phpunit/tests/customize/selective-refresh.php b/tests/phpunit/tests/customize/selective-refresh.php index af2239fe60a1b..64541cbf92204 100644 --- a/tests/phpunit/tests/customize/selective-refresh.php +++ b/tests/phpunit/tests/customize/selective-refresh.php @@ -27,7 +27,6 @@ class Test_WP_Customize_Selective_Refresh extends WP_UnitTestCase { */ public function set_up() { parent::set_up(); - require_once ABSPATH . WPINC . '/class-wp-customize-manager.php'; $GLOBALS['wp_customize'] = new WP_Customize_Manager(); $this->wp_customize = $GLOBALS['wp_customize']; if ( isset( $this->wp_customize->selective_refresh ) ) { @@ -259,8 +258,6 @@ public function tear_down() { } } -require_once ABSPATH . WPINC . '/customize/class-wp-customize-partial.php'; - /** * Class Tested_Custom_Partial */ diff --git a/tests/phpunit/tests/customize/setting.php b/tests/phpunit/tests/customize/setting.php index 62861a27264ba..5ad39659bdbe2 100644 --- a/tests/phpunit/tests/customize/setting.php +++ b/tests/phpunit/tests/customize/setting.php @@ -19,7 +19,6 @@ class Tests_WP_Customize_Setting extends WP_UnitTestCase { public function set_up() { parent::set_up(); - require_once ABSPATH . WPINC . '/class-wp-customize-manager.php'; $GLOBALS['wp_customize'] = new WP_Customize_Manager(); $this->manager = $GLOBALS['wp_customize']; $this->undefined = new stdClass(); diff --git a/tests/phpunit/tests/customize/widgets.php b/tests/phpunit/tests/customize/widgets.php index 77b141944099a..ca3242335ad7b 100644 --- a/tests/phpunit/tests/customize/widgets.php +++ b/tests/phpunit/tests/customize/widgets.php @@ -22,7 +22,6 @@ class Tests_WP_Customize_Widgets extends WP_UnitTestCase { public function set_up() { parent::set_up(); - require_once ABSPATH . WPINC . '/class-wp-customize-manager.php'; add_theme_support( 'customize-selective-refresh-widgets' ); add_action( 'widgets_init', array( $this, 'remove_widgets_block_editor' ) ); diff --git a/tests/phpunit/tests/editor/wpEditors.php b/tests/phpunit/tests/editor/wpEditors.php index c4e9e50515fda..e4696812ffa66 100644 --- a/tests/phpunit/tests/editor/wpEditors.php +++ b/tests/phpunit/tests/editor/wpEditors.php @@ -1,9 +1,5 @@ user->create( array( 'role' => 'administrator' ) ) ); - require_once ABSPATH . WPINC . '/class-wp-customize-manager.php'; $wp_customize = new WP_Customize_Manager(); $wp_customize->register_controls(); $wp_customize->start_previewing_theme(); @@ -202,7 +199,6 @@ public function test_customize_preview_wp_site_icon_dirty() { global $wp_customize; wp_set_current_user( self::factory()->user->create( array( 'role' => 'administrator' ) ) ); - require_once ABSPATH . WPINC . '/class-wp-customize-manager.php'; $wp_customize = new WP_Customize_Manager(); $wp_customize->register_controls(); $wp_customize->start_previewing_theme(); diff --git a/tests/phpunit/tests/image/editor.php b/tests/phpunit/tests/image/editor.php index 0ec837199bcbd..19613b2ed3870 100644 --- a/tests/phpunit/tests/image/editor.php +++ b/tests/phpunit/tests/image/editor.php @@ -15,8 +15,6 @@ class Tests_Image_Editor extends WP_Image_UnitTestCase { * Setup test fixture */ public function set_up() { - require_once ABSPATH . WPINC . '/class-wp-image-editor.php'; - require_once DIR_TESTDATA . '/../includes/mock-image-editor.php'; // This needs to come after the mock image editor class is loaded. diff --git a/tests/phpunit/tests/image/editorGd.php b/tests/phpunit/tests/image/editorGd.php index 640561238a0a4..6ca0e5302c8f6 100644 --- a/tests/phpunit/tests/image/editorGd.php +++ b/tests/phpunit/tests/image/editorGd.php @@ -13,14 +13,6 @@ class Tests_Image_Editor_GD extends WP_Image_UnitTestCase { public $editor_engine = 'WP_Image_Editor_GD'; - public function set_up() { - require_once ABSPATH . WPINC . '/class-wp-image-editor.php'; - require_once ABSPATH . WPINC . '/class-wp-image-editor-gd.php'; - - // This needs to come after the mock image editor class is loaded. - parent::set_up(); - } - public function tear_down() { $folder = DIR_TESTDATA . '/images/waffles-*.jpg'; diff --git a/tests/phpunit/tests/image/editorImagick.php b/tests/phpunit/tests/image/editorImagick.php index 30747f69f1b62..a68b51c8f3346 100644 --- a/tests/phpunit/tests/image/editorImagick.php +++ b/tests/phpunit/tests/image/editorImagick.php @@ -14,8 +14,6 @@ class Tests_Image_Editor_Imagick extends WP_Image_UnitTestCase { public $editor_engine = 'WP_Image_Editor_Imagick'; public function set_up() { - require_once ABSPATH . WPINC . '/class-wp-image-editor.php'; - require_once ABSPATH . WPINC . '/class-wp-image-editor-imagick.php'; require_once DIR_TESTROOT . '/includes/class-wp-test-stream.php'; // This needs to come after the mock image editor class is loaded. diff --git a/tests/phpunit/tests/image/functions.php b/tests/phpunit/tests/image/functions.php index e895ec9dc8f7d..bc25632d7142f 100644 --- a/tests/phpunit/tests/image/functions.php +++ b/tests/phpunit/tests/image/functions.php @@ -13,10 +13,6 @@ class Tests_Image_Functions extends WP_UnitTestCase { public function set_up() { parent::set_up(); - require_once ABSPATH . WPINC . '/class-wp-image-editor.php'; - require_once ABSPATH . WPINC . '/class-wp-image-editor-gd.php'; - require_once ABSPATH . WPINC . '/class-wp-image-editor-imagick.php'; - require_once DIR_TESTDATA . '/../includes/mock-image-editor.php'; // Ensure no legacy / failed tests detritus. diff --git a/tests/phpunit/tests/image/header.php b/tests/phpunit/tests/image/header.php index fce617fd7df4f..d6adff93f2c1c 100644 --- a/tests/phpunit/tests/image/header.php +++ b/tests/phpunit/tests/image/header.php @@ -1,5 +1,4 @@ walker = new Walker_Nav_Menu_Edit(); $this->_wp_nav_menu_max_depth = $_wp_nav_menu_max_depth; diff --git a/tests/phpunit/tests/menu/walker-nav-menu.php b/tests/phpunit/tests/menu/walker-nav-menu.php index 878bf12cc4c4b..85b3b792ecea4 100644 --- a/tests/phpunit/tests/menu/walker-nav-menu.php +++ b/tests/phpunit/tests/menu/walker-nav-menu.php @@ -26,7 +26,6 @@ public function set_up() { parent::set_up(); /** Walker_Nav_Menu class */ - require_once ABSPATH . 'wp-includes/class-walker-nav-menu.php'; $this->walker = new Walker_Nav_Menu(); $this->orig_wp_nav_menu_max_depth = $_wp_nav_menu_max_depth; diff --git a/tests/phpunit/tests/oembed/wpOembed.php b/tests/phpunit/tests/oembed/wpOembed.php index 051a7efe3d847..04c8189728e28 100644 --- a/tests/phpunit/tests/oembed/wpOembed.php +++ b/tests/phpunit/tests/oembed/wpOembed.php @@ -14,7 +14,6 @@ class Tests_WP_oEmbed extends WP_UnitTestCase { public function set_up() { parent::set_up(); - require_once ABSPATH . WPINC . '/class-wp-oembed.php'; $this->oembed = _wp_oembed_get_object(); $this->pre_oembed_result_filtered = false; diff --git a/tests/phpunit/tests/post/nav-menu.php b/tests/phpunit/tests/post/nav-menu.php index d4ece1ff1776c..0cbef55dc6d7d 100644 --- a/tests/phpunit/tests/post/nav-menu.php +++ b/tests/phpunit/tests/post/nav-menu.php @@ -930,7 +930,6 @@ public function test_wp_delete_customize_changeset_dependent_auto_drafts() { ) ) ); - require_once ABSPATH . WPINC . '/class-wp-customize-manager.php'; $wp_customize = new WP_Customize_Manager(); do_action( 'customize_register', $wp_customize ); $wp_customize->save_changeset_post( diff --git a/tests/phpunit/tests/post/walkerPage.php b/tests/phpunit/tests/post/walkerPage.php index d8a2312a54eff..521e98c648db2 100644 --- a/tests/phpunit/tests/post/walkerPage.php +++ b/tests/phpunit/tests/post/walkerPage.php @@ -16,8 +16,6 @@ class Tests_Post_Walker_Page extends WP_UnitTestCase { public function set_up() { parent::set_up(); - /** Walker_Page class */ - require_once ABSPATH . 'wp-includes/class-walker-page.php'; $this->walker = new Walker_Page(); } diff --git a/tests/phpunit/tests/rest-api/rest-attachments-controller.php b/tests/phpunit/tests/rest-api/rest-attachments-controller.php index 55ea686d22f25..cacf46f08d566 100644 --- a/tests/phpunit/tests/rest-api/rest-attachments-controller.php +++ b/tests/phpunit/tests/rest-api/rest-attachments-controller.php @@ -2531,7 +2531,6 @@ public function test_edit_image_returns_error_if_mismatched_src() { * @since 5.5.0 */ protected function setup_mock_editor() { - require_once ABSPATH . WPINC . '/class-wp-image-editor.php'; require_once DIR_TESTDATA . '/../includes/mock-image-editor.php'; add_filter( diff --git a/tests/phpunit/tests/theme.php b/tests/phpunit/tests/theme.php index 5f9ef3959ead1..cdd0d5bc877ea 100644 --- a/tests/phpunit/tests/theme.php +++ b/tests/phpunit/tests/theme.php @@ -406,7 +406,6 @@ public function test_wp_keep_alive_customize_changeset_dependent_auto_drafts() { ), ); wp_set_current_user( self::factory()->user->create( array( 'role' => 'administrator' ) ) ); - require_once ABSPATH . WPINC . '/class-wp-customize-manager.php'; $wp_customize = new WP_Customize_Manager(); do_action( 'customize_register', $wp_customize ); diff --git a/tests/phpunit/tests/theme/customHeader.php b/tests/phpunit/tests/theme/customHeader.php index b994d7f2dcfe5..c69eb626e947b 100644 --- a/tests/phpunit/tests/theme/customHeader.php +++ b/tests/phpunit/tests/theme/customHeader.php @@ -24,7 +24,6 @@ public static function wpSetUpBeforeClass( WP_UnitTest_Factory $factory ) { public function set_up() { parent::set_up(); - require_once ABSPATH . WPINC . '/class-wp-customize-manager.php'; $GLOBALS['wp_customize'] = new WP_Customize_Manager(); $this->customize_manager = $GLOBALS['wp_customize']; diff --git a/tests/phpunit/tests/user/passwordHash.php b/tests/phpunit/tests/user/passwordHash.php index db34969c71bb3..15aa16125ce21 100644 --- a/tests/phpunit/tests/user/passwordHash.php +++ b/tests/phpunit/tests/user/passwordHash.php @@ -7,12 +7,6 @@ */ class Tests_User_PasswordHash extends WP_UnitTestCase { - public static function set_up_before_class() { - parent::set_up_before_class(); - - require_once ABSPATH . WPINC . '/class-phpass.php'; - } - /** * Tests that PasswordHash::gensalt_blowfish() does not throw a deprecation notice on PHP 8.1. * diff --git a/tests/phpunit/tests/widgets.php b/tests/phpunit/tests/widgets.php index ab4115cff2e26..bc6f37b119af2 100644 --- a/tests/phpunit/tests/widgets.php +++ b/tests/phpunit/tests/widgets.php @@ -634,7 +634,6 @@ public function test_wp_widget_is_preview() { $this->assertFalse( $widget->is_preview() ); wp_set_current_user( self::factory()->user->create( array( 'role' => 'administrator' ) ) ); - require_once ABSPATH . WPINC . '/class-wp-customize-manager.php'; $wp_customize = new WP_Customize_Manager(); $wp_customize->start_previewing_theme(); diff --git a/tests/phpunit/tests/widgets/wpWidgetMedia.php b/tests/phpunit/tests/widgets/wpWidgetMedia.php index a29636a138e0c..4eda51b80aac4 100644 --- a/tests/phpunit/tests/widgets/wpWidgetMedia.php +++ b/tests/phpunit/tests/widgets/wpWidgetMedia.php @@ -122,7 +122,6 @@ public function test_constructor_in_customize_preview() { ) ) ); - require_once ABSPATH . WPINC . '/class-wp-customize-manager.php'; $wp_customize = new WP_Customize_Manager( array( 'changeset_uuid' => wp_generate_uuid4(), diff --git a/tests/phpunit/tests/widgets/wpWidgetText.php b/tests/phpunit/tests/widgets/wpWidgetText.php index a1570da63a550..86fa3b12b0935 100644 --- a/tests/phpunit/tests/widgets/wpWidgetText.php +++ b/tests/phpunit/tests/widgets/wpWidgetText.php @@ -86,7 +86,6 @@ public function test__register_in_customize_preview() { ) ) ); - require_once ABSPATH . WPINC . '/class-wp-customize-manager.php'; $wp_customize = new WP_Customize_Manager( array( 'changeset_uuid' => wp_generate_uuid4(), diff --git a/tests/phpunit/tests/xmlrpc/basic.php b/tests/phpunit/tests/xmlrpc/basic.php index a56a721a07fc6..036e5722f3d7d 100644 --- a/tests/phpunit/tests/xmlrpc/basic.php +++ b/tests/phpunit/tests/xmlrpc/basic.php @@ -1,8 +1,6 @@