init(); // Load the functions for the active theme, for both parent and child theme if applicable. foreach ( wp_get_active_and_valid_themes() as $theme ) { if ( file_exists( $theme . '/functions.php' ) ) { include $theme . '/functions.php'; } } unset( $theme ); /** * Fires after the theme is loaded. * * @since 3.0.0 */ do_action( 'after_setup_theme' ); // Set up current user. $GLOBALS['wp']->init(); /** * Fires after WordPress has finished loading but before any headers are sent. * * Most of WP is loaded at this stage, and the user is authenticated. WP continues * to load on the {@see 'init'} hook that follows (e.g. widgets), and many plugins instantiate * themselves on it for all sorts of reasons (e.g. they need a user, a taxonomy, etc.). * * If you wish to plug an action once WP is loaded, use the {@see 'wp_loaded'} hook below. * * @since 1.5.0 */ do_action( 'init' ); // Check site status if ( is_multisite() ) { if ( true !== ( $file = ms_site_check() ) ) { require( $file ); die(); } unset( $file ); } /** * This hook is fired once WP, all plugins, and the theme are fully loaded and instantiated. * * Ajax requests should use wp-admin/admin-ajax.php. admin-ajax.php can handle requests for * users not logged in. * * @link https://codex.wordpress.org/AJAX_in_Plugins * * @since 3.0.0 */ do_action( 'wp_loaded' ); /* * Store the fact that we could successfully execute the entire WordPress * lifecycle. This is used to skip the premature shutdown handler, as it cannot * be unregistered. */ if ( ! defined( 'WP_EXECUTION_SUCCEEDED' ) ) { define( 'WP_EXECUTION_SUCCEEDED', true ); }