PluginProbe
Plugin Detective – Troubleshooting Conflicts / 1.2.35
Plugin Detective – Troubleshooting Conflicts v1.2.35
1.2.35 1.2.33 1.2.32 1.2.31 1.1.1 1.1.2 1.1.3 1.1.4 1.1.5 1.1.6 1.1.7 1.1.8 1.1.9 1.2 1.2.1 1.2.10 1.2.12 1.2.13 1.2.14 1.2.16 1.2.19 1.2.20 1.2.22 1.2.23 1.2.24 All 54 releases
← All changes | troubleshoot/includes/class-settings.php +896 -534 1.1.3 → 1.2.35 View file →
@@ -1,534 +1,896 @@
1 -<?php
2 -/**
3 - * Troubleshoot Settings.
4 - *
5 - * @since 0.0.0
6 - * @package Troubleshoot
7 - */
8 -
9 -/**
10 - * Troubleshoot Settings.
11 - *
12 - * @since 0.0.0
13 - */
14 -class PDT_Settings {
15 - /**
16 - * Parent plugin class.
17 - *
18 - * @since 0.0.0
19 - *
20 - * @var Troubleshoot
21 - */
22 - protected $plugin = null;
23 -
24 - /**
25 - * Constructor.
26 - *
27 - * @since 0.0.0
28 - *
29 - * @param Troubleshoot $plugin Main plugin object.
30 - */
31 - public function __construct( $plugin ) {
32 - $this->plugin = $plugin;
33 - $this->hooks();
34 - }
35 -
36 - /**
37 - * Initiate our hooks.
38 - *
39 - * @since 0.0.0
40 - */
41 - public function hooks() {
42 -
43 - }
44 -}
45 -
46 -/**
47 - * Used to set up and fix common variables and include
48 - * the WordPress procedural and class library.
49 - *
50 - * Allows for some configuration in wp-config.php (see default-constants.php)
51 - *
52 - * @package WordPress
53 - */
54 -
55 -/**
56 - * Stores the location of the WordPress directory of functions, classes, and core content.
57 - *
58 - * @since 1.0.0
59 - */
60 -define( 'WPINC', 'wp-includes' );
61 -
62 -// Include files required for initialization.
63 -require( ABSPATH . WPINC . '/load.php' );
64 -require( ABSPATH . WPINC . '/default-constants.php' );
65 -require_once( ABSPATH . WPINC . '/plugin.php' );
66 -
67 -/*
68 - * These can't be directly globalized in version.php. When updating,
69 - * we're including version.php from another installation and don't want
70 - * these values to be overridden if already set.
71 - */
72 -global $wp_version, $wp_db_version, $tinymce_version, $required_php_version, $required_mysql_version, $wp_local_package;
73 -require( ABSPATH . WPINC . '/version.php' );
74 -
75 -/**
76 - * If not already configured, `$blog_id` will default to 1 in a single site
77 - * configuration. In multisite, it will be overridden by default in ms-settings.php.
78 - *
79 - * @global int $blog_id
80 - * @since 2.0.0
81 - */
82 -global $blog_id;
83 -global $table_prefix;
84 -
85 -// Set initial default constants including WP_MEMORY_LIMIT, WP_MAX_MEMORY_LIMIT, WP_DEBUG, SCRIPT_DEBUG, WP_CONTENT_DIR and WP_CACHE.
86 -wp_initial_constants();
87 -
88 -// Check for the required PHP version and for the MySQL extension or a database drop-in.
89 -wp_check_php_mysql_versions();
90 -
91 -// Disable magic quotes at runtime. Magic quotes are added using wpdb later in wp-settings.php.
92 -@ini_set( 'magic_quotes_runtime', 0 );
93 -@ini_set( 'magic_quotes_sybase', 0 );
94 -
95 -// WordPress calculates offsets from UTC.
96 -date_default_timezone_set( 'UTC' );
97 -
98 -// Turn register_globals off.
99 -wp_unregister_GLOBALS();
100 -
101 -// Standardize $_SERVER variables across setups.
102 -wp_fix_server_vars();
103 -
104 -// Check if we have received a request due to missing favicon.ico
105 -wp_favicon_request();
106 -
107 -// Check if we're in maintenance mode.
108 -// wp_maintenance();
109 -
110 -// Start loading timer.
111 -timer_start();
112 -
113 -// Check if we're in WP_DEBUG mode.
114 -wp_debug_mode();
115 -
116 -/**
117 - * Filters whether to enable loading of the advanced-cache.php drop-in.
118 - *
119 - * This filter runs before it can be used by plugins. It is designed for non-web
120 - * run-times. If false is returned, advanced-cache.php will never be loaded.
121 - *
122 - * @since 4.6.0
123 - *
124 - * @param bool $enable_advanced_cache Whether to enable loading advanced-cache.php (if present).
125 - * Default true.
126 - */
127 -
128 -/* PD: Start cache disable */
129 -// if ( WP_CACHE && apply_filters( 'enable_loading_advanced_cache_dropin', true ) ) {
130 - // For an advanced caching plugin to use. Uses a static drop-in because you would only want one.
131 - // WP_DEBUG ? include( WP_CONTENT_DIR . '/advanced-cache.php' ) : @include( WP_CONTENT_DIR . '/advanced-cache.php' );
132 -// Re-initialize any hooks added manually by advanced-cache.php
133 - // if ( $wp_filter ) {
134 - // $wp_filter = WP_Hook::build_preinitialized_hooks( $wp_filter );
135 - // }
136 -/* PD: End cache disable */
137 -
138 -
139 -
140 -// Define WP_LANG_DIR if not set.
141 -wp_set_lang_dir();
142 -
143 -// Load early WordPress files.
144 -require( ABSPATH . WPINC . '/compat.php' );
145 -require( ABSPATH . WPINC . '/class-wp-list-util.php' );
146 -require( ABSPATH . WPINC . '/functions.php' );
147 -require( ABSPATH . WPINC . '/class-wp-matchesmapregex.php' );
148 -require( ABSPATH . WPINC . '/class-wp.php' );
149 -require( ABSPATH . WPINC . '/class-wp-error.php' );
150 -require( ABSPATH . WPINC . '/pomo/mo.php' );
151 -
152 -// Include the wpdb class and, if present, a db.php database drop-in.
153 -global $wpdb;
154 -require_wp_db();
155 -// Set the database table prefix and the format specifiers for database table columns.
156 -$GLOBALS['table_prefix'] = $table_prefix;
157 -wp_set_wpdb_vars();
158 -
159 -// Start the WordPress object cache, or an external object cache if the drop-in is present.
160 -wp_start_object_cache();
161 -
162 -// Attach the default filters.
163 -require( ABSPATH . WPINC . '/default-filters.php' );
164 -
165 -// Initialize multisite if enabled.
166 -if ( is_multisite() ) {
167 - require( ABSPATH . WPINC . '/class-wp-site-query.php' );
168 - require( ABSPATH . WPINC . '/class-wp-network-query.php' );
169 - require( ABSPATH . WPINC . '/ms-blogs.php' );
170 - require( ABSPATH . WPINC . '/ms-settings.php' );
171 -} elseif ( ! defined( 'MULTISITE' ) ) {
172 - define( 'MULTISITE', false );
173 -}
174 -
175 -register_shutdown_function( 'shutdown_action_hook' );
176 -
177 -// Stop most of WordPress from being loaded if we just want the basics.
178 -if ( SHORTINIT )
179 - return false;
180 -
181 -// Load the L10n library.
182 -require_once( ABSPATH . WPINC . '/l10n.php' );
183 -require_once( ABSPATH . WPINC . '/class-wp-locale.php' );
184 -require_once( ABSPATH . WPINC . '/class-wp-locale-switcher.php' );
185 -
186 -// Run the installer if WordPress is not installed.
187 -/* PD: Start wp_not_installed() disable */
188 -
189 -// wp_not_installed();
190 -
191 -/* PD: End wp_not_installed() disable */
192 -
193 -
194 -// Load most of WordPress.
195 -require( ABSPATH . WPINC . '/class-wp-walker.php' );
196 -require( ABSPATH . WPINC . '/class-wp-ajax-response.php' );
197 -require( ABSPATH . WPINC . '/formatting.php' );
198 -require( ABSPATH . WPINC . '/capabilities.php' );
199 -require( ABSPATH . WPINC . '/class-wp-roles.php' );
200 -require( ABSPATH . WPINC . '/class-wp-role.php' );
201 -require( ABSPATH . WPINC . '/class-wp-user.php' );
202 -require( ABSPATH . WPINC . '/class-wp-query.php' );
203 -require( ABSPATH . WPINC . '/query.php' );
204 -require( ABSPATH . WPINC . '/date.php' );
205 -require( ABSPATH . WPINC . '/theme.php' );
206 -require( ABSPATH . WPINC . '/class-wp-theme.php' );
207 -require( ABSPATH . WPINC . '/template.php' );
208 -require( ABSPATH . WPINC . '/user.php' );
209 -require( ABSPATH . WPINC . '/class-wp-user-query.php' );
210 -require( ABSPATH . WPINC . '/class-wp-session-tokens.php' );
211 -require( ABSPATH . WPINC . '/class-wp-user-meta-session-tokens.php' );
212 -require( ABSPATH . WPINC . '/meta.php' );
213 -require( ABSPATH . WPINC . '/class-wp-meta-query.php' );
214 -require( ABSPATH . WPINC . '/class-wp-metadata-lazyloader.php' );
215 -require( ABSPATH . WPINC . '/general-template.php' );
216 -require( ABSPATH . WPINC . '/link-template.php' );
217 -
218 -
219 -require( ABSPATH . WPINC . '/author-template.php' );
220 -require( ABSPATH . WPINC . '/post.php' );
221 -require( ABSPATH . WPINC . '/class-walker-page.php' );
222 -require( ABSPATH . WPINC . '/class-walker-page-dropdown.php' );
223 -require( ABSPATH . WPINC . '/class-wp-post-type.php' );
224 -require( ABSPATH . WPINC . '/class-wp-post.php' );
225 -require( ABSPATH . WPINC . '/post-template.php' );
226 -require( ABSPATH . WPINC . '/revision.php' );
227 -require( ABSPATH . WPINC . '/post-formats.php' );
228 -require( ABSPATH . WPINC . '/post-thumbnail-template.php' );
229 -require( ABSPATH . WPINC . '/category.php' );
230 -require( ABSPATH . WPINC . '/class-walker-category.php' );
231 -require( ABSPATH . WPINC . '/class-walker-category-dropdown.php' );
232 -require( ABSPATH . WPINC . '/category-template.php' );
233 -require( ABSPATH . WPINC . '/comment.php' );
234 -require( ABSPATH . WPINC . '/class-wp-comment.php' );
235 -require( ABSPATH . WPINC . '/class-wp-comment-query.php' );
236 -require( ABSPATH . WPINC . '/class-walker-comment.php' );
237 -require( ABSPATH . WPINC . '/comment-template.php' );
238 -require( ABSPATH . WPINC . '/rewrite.php' );
239 -require( ABSPATH . WPINC . '/class-wp-rewrite.php' );
240 -require( ABSPATH . WPINC . '/feed.php' );
241 -require( ABSPATH . WPINC . '/bookmark.php' );
242 -require( ABSPATH . WPINC . '/bookmark-template.php' );
243 -require( ABSPATH . WPINC . '/kses.php' );
244 -require( ABSPATH . WPINC . '/cron.php' );
245 -require( ABSPATH . WPINC . '/deprecated.php' );
246 -require( ABSPATH . WPINC . '/script-loader.php' );
247 -require( ABSPATH . WPINC . '/taxonomy.php' );
248 -require( ABSPATH . WPINC . '/class-wp-taxonomy.php' );
249 -require( ABSPATH . WPINC . '/class-wp-term.php' );
250 -require( ABSPATH . WPINC . '/class-wp-term-query.php' );
251 -require( ABSPATH . WPINC . '/class-wp-tax-query.php' );
252 -require( ABSPATH . WPINC . '/update.php' );
253 -require( ABSPATH . WPINC . '/canonical.php' );
254 -require( ABSPATH . WPINC . '/shortcodes.php' );
255 -require( ABSPATH . WPINC . '/embed.php' );
256 -require( ABSPATH . WPINC . '/class-wp-embed.php' );
257 -require( ABSPATH . WPINC . '/class-oembed.php' );
258 -require( ABSPATH . WPINC . '/class-wp-oembed-controller.php' );
259 -require( ABSPATH . WPINC . '/media.php' );
260 -require( ABSPATH . WPINC . '/http.php' );
261 -require( ABSPATH . WPINC . '/class-http.php' );
262 -require( ABSPATH . WPINC . '/class-wp-http-streams.php' );
263 -require( ABSPATH . WPINC . '/class-wp-http-curl.php' );
264 -require( ABSPATH . WPINC . '/class-wp-http-proxy.php' );
265 -require( ABSPATH . WPINC . '/class-wp-http-cookie.php' );
266 -require( ABSPATH . WPINC . '/class-wp-http-encoding.php' );
267 -require( ABSPATH . WPINC . '/class-wp-http-response.php' );
268 -require( ABSPATH . WPINC . '/class-wp-http-requests-response.php' );
269 -require( ABSPATH . WPINC . '/class-wp-http-requests-hooks.php' );
270 -require( ABSPATH . WPINC . '/widgets.php' );
271 -require( ABSPATH . WPINC . '/class-wp-widget.php' );
272 -require( ABSPATH . WPINC . '/class-wp-widget-factory.php' );
273 -require( ABSPATH . WPINC . '/nav-menu.php' );
274 -require( ABSPATH . WPINC . '/nav-menu-template.php' );
275 -require( ABSPATH . WPINC . '/admin-bar.php' );
276 -require( ABSPATH . WPINC . '/rest-api.php' );
277 -require( ABSPATH . WPINC . '/rest-api/class-wp-rest-server.php' );
278 -require( ABSPATH . WPINC . '/rest-api/class-wp-rest-response.php' );
279 -require( ABSPATH . WPINC . '/rest-api/class-wp-rest-request.php' );
280 -require( ABSPATH . WPINC . '/rest-api/endpoints/class-wp-rest-controller.php' );
281 -require( ABSPATH . WPINC . '/rest-api/endpoints/class-wp-rest-posts-controller.php' );
282 -require( ABSPATH . WPINC . '/rest-api/endpoints/class-wp-rest-attachments-controller.php' );
283 -require( ABSPATH . WPINC . '/rest-api/endpoints/class-wp-rest-post-types-controller.php' );
284 -require( ABSPATH . WPINC . '/rest-api/endpoints/class-wp-rest-post-statuses-controller.php' );
285 -require( ABSPATH . WPINC . '/rest-api/endpoints/class-wp-rest-revisions-controller.php' );
286 -require( ABSPATH . WPINC . '/rest-api/endpoints/class-wp-rest-taxonomies-controller.php' );
287 -require( ABSPATH . WPINC . '/rest-api/endpoints/class-wp-rest-terms-controller.php' );
288 -require( ABSPATH . WPINC . '/rest-api/endpoints/class-wp-rest-users-controller.php' );
289 -require( ABSPATH . WPINC . '/rest-api/endpoints/class-wp-rest-comments-controller.php' );
290 -require( ABSPATH . WPINC . '/rest-api/endpoints/class-wp-rest-settings-controller.php' );
291 -require( ABSPATH . WPINC . '/rest-api/fields/class-wp-rest-meta-fields.php' );
292 -require( ABSPATH . WPINC . '/rest-api/fields/class-wp-rest-comment-meta-fields.php' );
293 -require( ABSPATH . WPINC . '/rest-api/fields/class-wp-rest-post-meta-fields.php' );
294 -require( ABSPATH . WPINC . '/rest-api/fields/class-wp-rest-term-meta-fields.php' );
295 -require( ABSPATH . WPINC . '/rest-api/fields/class-wp-rest-user-meta-fields.php' );
296 -
297 -/* PD: Start bail out early */
298 -// return;
299 -/* PD: End bail out early */
300 -$GLOBALS['wp_embed'] = new WP_Embed();
301 -
302 -// Load multisite-specific files.
303 -if ( is_multisite() ) {
304 - require( ABSPATH . WPINC . '/ms-functions.php' );
305 - require( ABSPATH . WPINC . '/ms-default-filters.php' );
306 - require( ABSPATH . WPINC . '/ms-deprecated.php' );
307 -}
308 -
309 -// Define constants that rely on the API to obtain the default value.
310 -// Define must-use plugin directory constants, which may be overridden in the sunrise.php drop-in.
311 -wp_plugin_directory_constants();
312 -
313 -$GLOBALS['wp_plugin_paths'] = array();
314 -
315 -// Load must-use plugins.
316 -foreach ( wp_get_mu_plugins() as $mu_plugin ) {
317 - include_once( $mu_plugin );
318 -}
319 -unset( $mu_plugin );
320 -
321 -// Load network activated plugins.
322 -if ( is_multisite() ) {
323 - foreach ( wp_get_active_network_plugins() as $network_plugin ) {
324 - wp_register_plugin_realpath( $network_plugin );
325 - include_once( $network_plugin );
326 - }
327 - unset( $network_plugin );
328 -}
329 -
330 -/**
331 - * Fires once all must-use and network-activated plugins have loaded.
332 - *
333 - * @since 2.8.0
334 - */
335 -do_action( 'muplugins_loaded' );
336 -
337 -if ( is_multisite() )
338 - ms_cookie_constants( );
339 -
340 -// Define constants after multisite is loaded.
341 -wp_cookie_constants();
342 -
343 -// Define and enforce our SSL constants
344 -wp_ssl_constants();
345 -
346 -// Create common globals.
347 -require( ABSPATH . WPINC . '/vars.php' );
348 -
349 -// Make taxonomies and posts available to plugins and themes.
350 -// @plugin authors: warning: these get registered again on the init hook.
351 -create_initial_taxonomies();
352 -create_initial_post_types();
353 -
354 -if ( function_exists( 'wp_start_scraping_edited_file_errors' ) ) {
355 - wp_start_scraping_edited_file_errors();
356 -}
357 -
358 -// Register the default theme directory root
359 -register_theme_directory( get_theme_root() );
360 -
361 -/* PD: Start cache disable */
362 -
363 -// Load active plugins.
364 -// foreach ( wp_get_active_and_valid_plugins() as $plugin ) {
365 -// wp_register_plugin_realpath( $plugin );
366 -// include_once( $plugin );
367 -// }
368 -// unset( $plugin );
369 -
370 -/* PD: End cache disable */
371 -
372 -// Load pluggable functions.
373 -require( ABSPATH . WPINC . '/pluggable.php' );
374 -require( ABSPATH . WPINC . '/pluggable-deprecated.php' );
375 -
376 -// Set internal encoding.
377 -wp_set_internal_encoding();
378 -
379 -// Run wp_cache_postload() if object cache is enabled and the function exists.
380 -if ( WP_CACHE && function_exists( 'wp_cache_postload' ) )
381 - wp_cache_postload();
382 -
383 -/**
384 - * Fires once activated plugins have loaded.
385 - *
386 - * Pluggable functions are also available at this point in the loading order.
387 - *
388 - * @since 1.5.0
389 - */
390 -do_action( 'plugins_loaded' );
391 -
392 -// Define constants which affect functionality if not already defined.
393 -wp_functionality_constants();
394 -
395 -// Add magic quotes and set up $_REQUEST ( $_GET + $_POST )
396 -wp_magic_quotes();
397 -
398 -/**
399 - * Fires when comment cookies are sanitized.
400 - *
401 - * @since 2.0.11
402 - */
403 -do_action( 'sanitize_comment_cookies' );
404 -
405 -/**
406 - * WordPress Query object
407 - * @global WP_Query $wp_the_query
408 - * @since 2.0.0
409 - */
410 -$GLOBALS['wp_the_query'] = new WP_Query();
411 -
412 -/**
413 - * Holds the reference to @see $wp_the_query
414 - * Use this global for WordPress queries
415 - * @global WP_Query $wp_query
416 - * @since 1.5.0
417 - */
418 -$GLOBALS['wp_query'] = $GLOBALS['wp_the_query'];
419 -
420 -/**
421 - * Holds the WordPress Rewrite object for creating pretty URLs
422 - * @global WP_Rewrite $wp_rewrite
423 - * @since 1.5.0
424 - */
425 -$GLOBALS['wp_rewrite'] = new WP_Rewrite();
426 -
427 -/**
428 - * WordPress Object
429 - * @global WP $wp
430 - * @since 2.0.0
431 - */
432 -$GLOBALS['wp'] = new WP();
433 -
434 -/**
435 - * WordPress Widget Factory Object
436 - * @global WP_Widget_Factory $wp_widget_factory
437 - * @since 2.8.0
438 - */
439 -$GLOBALS['wp_widget_factory'] = new WP_Widget_Factory();
440 -
441 -/**
442 - * WordPress User Roles
443 - * @global WP_Roles $wp_roles
444 - * @since 2.0.0
445 - */
446 -$GLOBALS['wp_roles'] = new WP_Roles();
447 -
448 -/**
449 - * Fires before the theme is loaded.
450 - *
451 - * @since 2.6.0
452 - */
453 -do_action( 'setup_theme' );
454 -
455 -// Define the template related constants.
456 -wp_templating_constants( );
457 -
458 -// Load the default text localization domain.
459 -load_default_textdomain();
460 -
461 -$locale = get_locale();
462 -$locale_file = WP_LANG_DIR . "/$locale.php";
463 -if ( ( 0 === validate_file( $locale ) ) && is_readable( $locale_file ) )
464 - require( $locale_file );
465 -unset( $locale_file );
466 -
467 -/**
468 - * WordPress Locale object for loading locale domain date and various strings.
469 - * @global WP_Locale $wp_locale
470 - * @since 2.1.0
471 - */
472 -$GLOBALS['wp_locale'] = new WP_Locale();
473 -
474 -/**
475 - * WordPress Locale Switcher object for switching locales.
476 - *
477 - * @since 4.7.0
478 - *
479 - * @global WP_Locale_Switcher $wp_locale_switcher WordPress locale switcher object.
480 - */
481 -$GLOBALS['wp_locale_switcher'] = new WP_Locale_Switcher();
482 -$GLOBALS['wp_locale_switcher']->init();
483 -
484 -// Load the functions for the active theme, for both parent and child theme if applicable.
485 -if ( ! wp_installing() || 'wp-activate.php' === $pagenow ) {
486 - if ( TEMPLATEPATH !== STYLESHEETPATH && file_exists( STYLESHEETPATH . '/functions.php' ) )
487 - include( STYLESHEETPATH . '/functions.php' );
488 - if ( file_exists( TEMPLATEPATH . '/functions.php' ) )
489 - include( TEMPLATEPATH . '/functions.php' );
490 -}
491 -
492 -/**
493 - * Fires after the theme is loaded.
494 - *
495 - * @since 3.0.0
496 - */
497 -do_action( 'after_setup_theme' );
498 -
499 -// Set up current user.
500 -$GLOBALS['wp']->init();
501 -
502 -/**
503 - * Fires after WordPress has finished loading but before any headers are sent.
504 - *
505 - * Most of WP is loaded at this stage, and the user is authenticated. WP continues
506 - * to load on the {@see 'init'} hook that follows (e.g. widgets), and many plugins instantiate
507 - * themselves on it for all sorts of reasons (e.g. they need a user, a taxonomy, etc.).
508 - *
509 - * If you wish to plug an action once WP is loaded, use the {@see 'wp_loaded'} hook below.
510 - *
511 - * @since 1.5.0
512 - */
513 -do_action( 'init' );
514 -
515 -// Check site status
516 -if ( is_multisite() ) {
517 - if ( true !== ( $file = ms_site_check() ) ) {
518 - require( $file );
519 - die();
520 - }
521 - unset($file);
522 -}
523 -
524 -/**
525 - * This hook is fired once WP, all plugins, and the theme are fully loaded and instantiated.
526 - *
527 - * Ajax requests should use wp-admin/admin-ajax.php. admin-ajax.php can handle requests for
528 - * users not logged in.
529 - *
530 - * @link https://codex.wordpress.org/AJAX_in_Plugins
531 - *
532 - * @since 3.0.0
533 - */
534 -do_action( 'wp_loaded' );
1 +<?php
2 +
3 +if ( ! defined( 'ABSPATH' ) ) {
4 + exit;
5 +}
6 +
7 +function pd_maybe_require( $path ) {
8 + if ( file_exists( $path ) ) {
9 + require_once $path;
10 + }
11 +
12 + // class-settings.php is included from inside a static method, so vars
13 + // set at script scope by required files (notably wp-includes/version.php)
14 + // land here as locals instead of in $GLOBALS. Promote the known set so
15 + // core functions like wp_check_php_mysql_versions() can read them.
16 + foreach ( array( 'wp_version', 'wp_db_version', 'tinymce_version', 'required_php_version', 'required_php_extensions', 'required_mysql_version', 'wp_local_package' ) as $name ) {
17 + if ( isset( $$name ) ) {
18 + $GLOBALS[ $name ] = $$name;
19 + }
20 + }
21 +}
22 +/**
23 + * Troubleshoot Settings.
24 + *
25 + * @since 0.0.0
26 + * @package Troubleshoot
27 + */
28 +
29 +/**
30 + * Troubleshoot Settings.
31 + *
32 + * @since 0.0.0
33 + */
34 +class PDT_Settings {
35 + /**
36 + * Parent plugin class.
37 + *
38 + * @since 0.0.0
39 + *
40 + * @var Troubleshoot
41 + */
42 + protected $plugin = null;
43 +
44 + /**
45 + * Constructor.
46 + *
47 + * @since 0.0.0
48 + *
49 + * @param Troubleshoot $plugin Main plugin object.
50 + */
51 + public function __construct( $plugin ) {
52 + $this->plugin = $plugin;
53 + $this->hooks();
54 + }
55 +
56 + /**
57 + * Initiate our hooks.
58 + *
59 + * @since 0.0.0
60 + */
61 + public function hooks() {
62 +
63 + }
64 +}
65 +
66 +/**
67 + * Used to set up and fix common variables and include
68 + * the WordPress procedural and class library.
69 + *
70 + * Allows for some configuration in wp-config.php (see default-constants.php)
71 + *
72 + * @package WordPress
73 + */
74 +
75 +/**
76 + * Stores the location of the WordPress directory of functions, classes, and core content.
77 + *
78 + * @since 1.0.0
79 + */
80 +define( 'WPINC', 'wp-includes' );
81 +
82 +/**
83 + * Version information for the current WordPress release.
84 + *
85 + * These can't be directly globalized in version.php. When updating,
86 + * include version.php from another installation and don't override
87 + * these values if already set.
88 + *
89 + * @global string $wp_version The WordPress version string.
90 + * @global int $wp_db_version WordPress database version.
91 + * @global string $tinymce_version TinyMCE version.
92 + * @global string $required_php_version The minimum required PHP version string.
93 + * @global string[] $required_php_extensions The names of required PHP extensions.
94 + * @global string $required_mysql_version The minimum required MySQL version string.
95 + * @global string $wp_local_package Locale code of the package.
96 + */
97 +global $wp_version, $wp_db_version, $tinymce_version, $required_php_version, $required_php_extensions, $required_mysql_version, $wp_local_package;
98 +pd_maybe_require( ABSPATH . WPINC . '/version.php' );
99 +pd_maybe_require( ABSPATH . WPINC . '/compat-utf8.php' );
100 +pd_maybe_require( ABSPATH . WPINC . '/compat.php' );
101 +pd_maybe_require( ABSPATH . WPINC . '/load.php' );
102 +
103 +// Check the server requirements.
104 +// wp_check_php_mysql_versions();
105 +
106 +// Include files required for initialization.
107 +@include( ABSPATH . WPINC . '/class-wp-paused-extensions-storage.php' );
108 +@include( ABSPATH . WPINC . '/class-wp-exception.php' );
109 +@include( ABSPATH . WPINC . '/class-wp-fatal-error-handler.php' );
110 +@include( ABSPATH . WPINC . '/class-wp-recovery-mode-cookie-service.php' );
111 +@include( ABSPATH . WPINC . '/class-wp-recovery-mode-key-service.php' );
112 +@include( ABSPATH . WPINC . '/class-wp-recovery-mode-link-service.php' );
113 +@include( ABSPATH . WPINC . '/class-wp-recovery-mode-email-service.php' );
114 +@include( ABSPATH . WPINC . '/class-wp-recovery-mode.php' );
115 +@include( ABSPATH . WPINC . '/error-protection.php' );
116 +@include( ABSPATH . WPINC . '/default-constants.php' );
117 +require_once( ABSPATH . WPINC . '/plugin.php' );
118 +
119 +/**
120 + * If not already configured, `$blog_id` will default to 1 in a single site
121 + * configuration. In multisite, it will be overridden by default in ms-settings.php.
122 + *
123 + * @global int $blog_id
124 + * @since 2.0.0
125 + */
126 +global $blog_id;
127 +global $table_prefix;
128 +
129 +// Set initial default constants including WP_MEMORY_LIMIT, WP_MAX_MEMORY_LIMIT, WP_DEBUG, SCRIPT_DEBUG, WP_CONTENT_DIR and WP_CACHE.
130 +wp_initial_constants();
131 +
132 +if ( function_exists( 'wp_register_fatal_error_handler' ) ) {
133 + // Make sure we register the shutdown handler for fatal errors as soon as possible.
134 + wp_register_fatal_error_handler();
135 +}
136 +
137 +// Check for the required PHP version and for the MySQL extension or a database drop-in.
138 +wp_check_php_mysql_versions();
139 +
140 +// Disable magic quotes at runtime. Magic quotes are added using wpdb later in wp-settings.php.
141 +@ini_set( 'magic_quotes_runtime', 0 ); // phpcs:ignore Squiz.PHP.DiscouragedFunctions.Discouraged -- Vendored WordPress core loader (wp-settings.php).
142 +@ini_set( 'magic_quotes_sybase', 0 ); // phpcs:ignore Squiz.PHP.DiscouragedFunctions.Discouraged -- Vendored WordPress core loader (wp-settings.php).
143 +
144 +// WordPress calculates offsets from UTC.
145 +// phpcs:ignore WordPress.DateTime.RestrictedFunctions.timezone_change_date_default_timezone_set
146 +date_default_timezone_set( 'UTC' );
147 +
148 +// Standardize $_SERVER variables across setups.
149 +wp_fix_server_vars();
150 +
151 +// Check if we have received a request due to missing favicon.ico
152 +wp_favicon_request();
153 +
154 +// Check if we're in maintenance mode.
155 +// wp_maintenance();
156 +
157 +// Start loading timer.
158 +timer_start();
159 +
160 +// Check if we're in WP_DEBUG mode.
161 +wp_debug_mode();
162 +
163 +/**
164 + * Filters whether to enable loading of the advanced-cache.php drop-in.
165 + *
166 + * This filter runs before it can be used by plugins. It is designed for non-web
167 + * run-times. If false is returned, advanced-cache.php will never be loaded.
168 + *
169 + * @since 4.6.0
170 + *
171 + * @param bool $enable_advanced_cache Whether to enable loading advanced-cache.php (if present).
172 + * Default true.
173 + */
174 +
175 +/* PD: Start cache disable */
176 +// if ( WP_CACHE && apply_filters( 'enable_loading_advanced_cache_dropin', true ) ) {
177 + // For an advanced caching plugin to use. Uses a static drop-in because you would only want one.
178 + // WP_DEBUG ? include( WP_CONTENT_DIR . '/advanced-cache.php' ) : @include( WP_CONTENT_DIR . '/advanced-cache.php' );
179 +// Re-initialize any hooks added manually by advanced-cache.php
180 + // if ( $wp_filter ) {
181 + // $wp_filter = WP_Hook::build_preinitialized_hooks( $wp_filter );
182 + // }
183 +/* PD: End cache disable */
184 +
185 +
186 +
187 +// Define WP_LANG_DIR if not set.
188 +wp_set_lang_dir();
189 +
190 +// Load early WordPress files.
191 +pd_maybe_require( ABSPATH . WPINC . '/class-wp-list-util.php' );
192 +pd_maybe_require( ABSPATH . WPINC . '/class-wp-token-map.php' );
193 +pd_maybe_require( ABSPATH . WPINC . '/utf8.php' );
194 +pd_maybe_require( ABSPATH . WPINC . '/formatting.php' );
195 +pd_maybe_require( ABSPATH . WPINC . '/meta.php' );
196 +pd_maybe_require( ABSPATH . WPINC . '/functions.php' );
197 +pd_maybe_require( ABSPATH . WPINC . '/class-wp-meta-query.php' );
198 +pd_maybe_require( ABSPATH . WPINC . '/class-wp-matchesmapregex.php' );
199 +pd_maybe_require( ABSPATH . WPINC . '/class-wp.php' );
200 +pd_maybe_require( ABSPATH . WPINC . '/class-wp-error.php' );
201 +pd_maybe_require( ABSPATH . WPINC . '/pomo/mo.php' );
202 +pd_maybe_require( ABSPATH . WPINC . '/l10n/class-wp-translation-controller.php' );
203 +pd_maybe_require( ABSPATH . WPINC . '/l10n/class-wp-translations.php' );
204 +pd_maybe_require( ABSPATH . WPINC . '/l10n/class-wp-translation-file.php' );
205 +pd_maybe_require( ABSPATH . WPINC . '/l10n/class-wp-translation-file-mo.php' );
206 +pd_maybe_require( ABSPATH . WPINC . '/l10n/class-wp-translation-file-php.php' );
207 +
208 +/**
209 + * @since 0.71
210 + *
211 + * @global wpdb $wpdb WordPress database abstraction object.
212 + */
213 +global $wpdb;
214 +// Include the wpdb class and, if present, a db.php database drop-in.
215 +require_wp_db();
216 +
217 +/**
218 + * @since 3.3.0
219 + *
220 + * @global string $table_prefix The database table prefix.
221 + */
222 +if ( ! isset( $GLOBALS['table_prefix'] ) ) {
223 + $GLOBALS['table_prefix'] = $table_prefix;
224 +}
225 +
226 +// Set the database table prefix and the format specifiers for database table columns.
227 +wp_set_wpdb_vars();
228 +
229 +// Start the WordPress object cache, or an external object cache if the drop-in is present.
230 +wp_start_object_cache();
231 +
232 +// Attach the default filters.
233 +pd_maybe_require( ABSPATH . WPINC . '/default-filters.php' );
234 +
235 +// Initialize multisite if enabled.
236 +if ( is_multisite() ) {
237 + pd_maybe_require( ABSPATH . WPINC . '/class-wp-site-query.php' );
238 + pd_maybe_require( ABSPATH . WPINC . '/class-wp-network-query.php' );
239 + pd_maybe_require( ABSPATH . WPINC . '/ms-blogs.php' );
240 + pd_maybe_require( ABSPATH . WPINC . '/ms-settings.php' );
241 +} elseif ( ! defined( 'MULTISITE' ) ) {
242 + define( 'MULTISITE', false );
243 +}
244 +
245 +register_shutdown_function( 'shutdown_action_hook' );
246 +
247 +// Stop most of WordPress from being loaded if we just want the basics.
248 +if ( SHORTINIT )
249 + return false;
250 +
251 +// Load the L10n library.
252 +pd_maybe_require( ABSPATH . WPINC . '/l10n.php' );
253 +pd_maybe_require( ABSPATH . WPINC . '/class-wp-textdomain-registry.php' );
254 +pd_maybe_require( ABSPATH . WPINC . '/class-wp-locale.php' );
255 +pd_maybe_require( ABSPATH . WPINC . '/class-wp-locale-switcher.php' );
256 +
257 +// Run the installer if WordPress is not installed.
258 +/* PD: Start wp_not_installed() disable */
259 +
260 +// wp_not_installed();
261 +
262 +/* PD: End wp_not_installed() disable */
263 +
264 +
265 +// Load most of WordPress.
266 +pd_maybe_require( ABSPATH . WPINC . '/class-wp-walker.php' );
267 +pd_maybe_require( ABSPATH . WPINC . '/class-wp-ajax-response.php' );
268 +pd_maybe_require( ABSPATH . WPINC . '/capabilities.php' );
269 +pd_maybe_require( ABSPATH . WPINC . '/class-wp-roles.php' );
270 +pd_maybe_require( ABSPATH . WPINC . '/class-wp-role.php' );
271 +pd_maybe_require( ABSPATH . WPINC . '/class-wp-user.php' );
272 +pd_maybe_require( ABSPATH . WPINC . '/class-wp-query.php' );
273 +pd_maybe_require( ABSPATH . WPINC . '/query.php' );
274 +pd_maybe_require( ABSPATH . WPINC . '/date.php' );
275 +pd_maybe_require( ABSPATH . WPINC . '/class-wp-date-query.php' );
276 +pd_maybe_require( ABSPATH . WPINC . '/theme.php' );
277 +pd_maybe_require( ABSPATH . WPINC . '/class-wp-theme.php' );
278 +pd_maybe_require( ABSPATH . WPINC . '/class-wp-theme-json-schema.php' );
279 +pd_maybe_require( ABSPATH . WPINC . '/class-wp-theme-json-data.php' );
280 +pd_maybe_require( ABSPATH . WPINC . '/class-wp-theme-json.php' );
281 +pd_maybe_require( ABSPATH . WPINC . '/class-wp-theme-json-resolver.php' );
282 +pd_maybe_require( ABSPATH . WPINC . '/class-wp-duotone.php' );
283 +pd_maybe_require( ABSPATH . WPINC . '/global-styles-and-settings.php' );
284 +pd_maybe_require( ABSPATH . WPINC . '/class-wp-block-template.php' );
285 +pd_maybe_require( ABSPATH . WPINC . '/class-wp-block-templates-registry.php' );
286 +pd_maybe_require( ABSPATH . WPINC . '/block-template-utils.php' );
287 +pd_maybe_require( ABSPATH . WPINC . '/block-template.php' );
288 +pd_maybe_require( ABSPATH . WPINC . '/theme-templates.php' );
289 +pd_maybe_require( ABSPATH . WPINC . '/theme-previews.php' );
290 +pd_maybe_require( ABSPATH . WPINC . '/template.php' );
291 +pd_maybe_require( ABSPATH . WPINC . '/class-wp-view-config-data.php' );
292 +pd_maybe_require( ABSPATH . WPINC . '/view-config.php' );
293 +pd_maybe_require( ABSPATH . WPINC . '/https-detection.php' );
294 +pd_maybe_require( ABSPATH . WPINC . '/https-migration.php' );
295 +pd_maybe_require( ABSPATH . WPINC . '/class-wp-user-request.php' );
296 +pd_maybe_require( ABSPATH . WPINC . '/user.php' );
297 +pd_maybe_require( ABSPATH . WPINC . '/class-wp-user-query.php' );
298 +pd_maybe_require( ABSPATH . WPINC . '/class-wp-session-tokens.php' );
299 +pd_maybe_require( ABSPATH . WPINC . '/class-wp-user-meta-session-tokens.php' );
300 +pd_maybe_require( ABSPATH . WPINC . '/meta.php' );
301 +pd_maybe_require( ABSPATH . WPINC . '/class-wp-meta-query.php' );
302 +pd_maybe_require( ABSPATH . WPINC . '/class-wp-metadata-lazyloader.php' );
303 +pd_maybe_require( ABSPATH . WPINC . '/general-template.php' );
304 +pd_maybe_require( ABSPATH . WPINC . '/link-template.php' );
305 +
306 +
307 +pd_maybe_require( ABSPATH . WPINC . '/author-template.php' );
308 +pd_maybe_require( ABSPATH . WPINC . '/robots-template.php' );
309 +pd_maybe_require( ABSPATH . WPINC . '/post.php' );
310 +pd_maybe_require( ABSPATH . WPINC . '/class-walker-page.php' );
311 +pd_maybe_require( ABSPATH . WPINC . '/class-walker-page-dropdown.php' );
312 +pd_maybe_require( ABSPATH . WPINC . '/class-wp-post-type.php' );
313 +pd_maybe_require( ABSPATH . WPINC . '/class-wp-post.php' );
314 +pd_maybe_require( ABSPATH . WPINC . '/post-template.php' );
315 +pd_maybe_require( ABSPATH . WPINC . '/revision.php' );
316 +pd_maybe_require( ABSPATH . WPINC . '/post-formats.php' );
317 +pd_maybe_require( ABSPATH . WPINC . '/post-thumbnail-template.php' );
318 +pd_maybe_require( ABSPATH . WPINC . '/category.php' );
319 +pd_maybe_require( ABSPATH . WPINC . '/class-walker-category.php' );
320 +pd_maybe_require( ABSPATH . WPINC . '/class-walker-category-dropdown.php' );
321 +pd_maybe_require( ABSPATH . WPINC . '/category-template.php' );
322 +pd_maybe_require( ABSPATH . WPINC . '/comment.php' );
323 +pd_maybe_require( ABSPATH . WPINC . '/class-wp-comment.php' );
324 +pd_maybe_require( ABSPATH . WPINC . '/class-wp-comment-query.php' );
325 +pd_maybe_require( ABSPATH . WPINC . '/class-walker-comment.php' );
326 +pd_maybe_require( ABSPATH . WPINC . '/comment-template.php' );
327 +pd_maybe_require( ABSPATH . WPINC . '/rewrite.php' );
328 +pd_maybe_require( ABSPATH . WPINC . '/class-wp-rewrite.php' );
329 +pd_maybe_require( ABSPATH . WPINC . '/feed.php' );
330 +pd_maybe_require( ABSPATH . WPINC . '/bookmark.php' );
331 +pd_maybe_require( ABSPATH . WPINC . '/bookmark-template.php' );
332 +pd_maybe_require( ABSPATH . WPINC . '/kses.php' );
333 +pd_maybe_require( ABSPATH . WPINC . '/cron.php' );
334 +pd_maybe_require( ABSPATH . WPINC . '/deprecated.php' );
335 +pd_maybe_require( ABSPATH . WPINC . '/script-loader.php' );
336 +pd_maybe_require( ABSPATH . WPINC . '/build/routes.php' );
337 +pd_maybe_require( ABSPATH . WPINC . '/build/pages.php' );
338 +pd_maybe_require( ABSPATH . WPINC . '/taxonomy.php' );
339 +pd_maybe_require( ABSPATH . WPINC . '/class-wp-taxonomy.php' );
340 +pd_maybe_require( ABSPATH . WPINC . '/class-wp-term.php' );
341 +pd_maybe_require( ABSPATH . WPINC . '/class-wp-term-query.php' );
342 +pd_maybe_require( ABSPATH . WPINC . '/class-wp-tax-query.php' );
343 +pd_maybe_require( ABSPATH . WPINC . '/update.php' );
344 +pd_maybe_require( ABSPATH . WPINC . '/canonical.php' );
345 +pd_maybe_require( ABSPATH . WPINC . '/shortcodes.php' );
346 +pd_maybe_require( ABSPATH . WPINC . '/embed.php' );
347 +pd_maybe_require( ABSPATH . WPINC . '/class-wp-embed.php' );
348 +pd_maybe_require( ABSPATH . WPINC . '/class-oembed.php' );
349 +pd_maybe_require( ABSPATH . WPINC . '/class-wp-oembed.php' );
350 +pd_maybe_require( ABSPATH . WPINC . '/class-wp-oembed-controller.php' );
351 +pd_maybe_require( ABSPATH . WPINC . '/media.php' );
352 +pd_maybe_require( ABSPATH . WPINC . '/http.php' );
353 +pd_maybe_require( ABSPATH . WPINC . '/class-http.php' );
354 +pd_maybe_require( ABSPATH . WPINC . '/html-api/html5-named-character-references.php' );
355 +pd_maybe_require( ABSPATH . WPINC . '/html-api/class-wp-html-attribute-token.php' );
356 +pd_maybe_require( ABSPATH . WPINC . '/html-api/class-wp-html-span.php' );
357 +pd_maybe_require( ABSPATH . WPINC . '/html-api/class-wp-html-doctype-info.php' );
358 +pd_maybe_require( ABSPATH . WPINC . '/html-api/class-wp-html-text-replacement.php' );
359 +pd_maybe_require( ABSPATH . WPINC . '/html-api/class-wp-html-decoder.php' );
360 +pd_maybe_require( ABSPATH . WPINC . '/html-api/class-wp-html-tag-processor.php' );
361 +pd_maybe_require( ABSPATH . WPINC . '/html-api/class-wp-html-unsupported-exception.php' );
362 +pd_maybe_require( ABSPATH . WPINC . '/html-api/class-wp-html-active-formatting-elements.php' );
363 +pd_maybe_require( ABSPATH . WPINC . '/html-api/class-wp-html-open-elements.php' );
364 +pd_maybe_require( ABSPATH . WPINC . '/html-api/class-wp-html-token.php' );
365 +pd_maybe_require( ABSPATH . WPINC . '/html-api/class-wp-html-stack-event.php' );
366 +pd_maybe_require( ABSPATH . WPINC . '/html-api/class-wp-html-processor-state.php' );
367 +pd_maybe_require( ABSPATH . WPINC . '/html-api/class-wp-html-processor.php' );
368 +pd_maybe_require( ABSPATH . WPINC . '/class-wp-block-processor.php' );
369 +if ( ! class_exists( 'WP_Block_Processor' ) ) {
370 + pd_maybe_require( ABSPATH . WPINC . '/html-api/class-wp-block-processor.php' );
371 +}
372 +// pd_maybe_require( ABSPATH . WPINC . '/class-wp-http.php' ); // fatal error if both are here. class-http is better for backcompat. class-wp-http was introduced in 5.9
373 +pd_maybe_require( ABSPATH . WPINC . '/class-wp-http-streams.php' );
374 +pd_maybe_require( ABSPATH . WPINC . '/class-wp-http-curl.php' );
375 +pd_maybe_require( ABSPATH . WPINC . '/class-wp-http-proxy.php' );
376 +pd_maybe_require( ABSPATH . WPINC . '/class-wp-http-cookie.php' );
377 +pd_maybe_require( ABSPATH . WPINC . '/class-wp-http-encoding.php' );
378 +pd_maybe_require( ABSPATH . WPINC . '/class-wp-http-response.php' );
379 +pd_maybe_require( ABSPATH . WPINC . '/class-wp-http-requests-response.php' );
380 +pd_maybe_require( ABSPATH . WPINC . '/class-wp-http-requests-hooks.php' );
381 +pd_maybe_require( ABSPATH . WPINC . '/php-ai-client/autoload.php' );
382 +pd_maybe_require( ABSPATH . WPINC . '/ai-client/adapters/class-wp-ai-client-http-client.php' );
383 +pd_maybe_require( ABSPATH . WPINC . '/ai-client/adapters/class-wp-ai-client-cache.php' );
384 +pd_maybe_require( ABSPATH . WPINC . '/ai-client/adapters/class-wp-ai-client-discovery-strategy.php' );
385 +pd_maybe_require( ABSPATH . WPINC . '/ai-client/adapters/class-wp-ai-client-event-dispatcher.php' );
386 +pd_maybe_require( ABSPATH . WPINC . '/ai-client/class-wp-ai-client-ability-function-resolver.php' );
387 +pd_maybe_require( ABSPATH . WPINC . '/ai-client/class-wp-ai-client-prompt-builder.php' );
388 +pd_maybe_require( ABSPATH . WPINC . '/ai-client.php' );
389 +pd_maybe_require( ABSPATH . WPINC . '/class-wp-connector-registry.php' );
390 +pd_maybe_require( ABSPATH . WPINC . '/connectors.php' );
391 +pd_maybe_require( ABSPATH . WPINC . '/class-wp-icon-collections-registry.php' );
392 +pd_maybe_require( ABSPATH . WPINC . '/class-wp-icons-registry.php' );
393 +pd_maybe_require( ABSPATH . WPINC . '/icons.php' );
394 +pd_maybe_require( ABSPATH . WPINC . '/widgets.php' );
395 +pd_maybe_require( ABSPATH . WPINC . '/class-wp-widget.php' );
396 +pd_maybe_require( ABSPATH . WPINC . '/class-wp-widget-factory.php' );
397 +pd_maybe_require( ABSPATH . WPINC . '/nav-menu-template.php' );
398 +pd_maybe_require( ABSPATH . WPINC . '/nav-menu.php' );
399 +pd_maybe_require( ABSPATH . WPINC . '/admin-bar.php' );
400 +pd_maybe_require( ABSPATH . WPINC . '/class-wp-application-passwords.php' );
401 +pd_maybe_require( ABSPATH . WPINC . '/abilities-api/class-wp-ability-category.php' );
402 +pd_maybe_require( ABSPATH . WPINC . '/abilities-api/class-wp-ability-categories-registry.php' );
403 +pd_maybe_require( ABSPATH . WPINC . '/abilities-api/class-wp-ability.php' );
404 +pd_maybe_require( ABSPATH . WPINC . '/abilities-api/class-wp-abilities-registry.php' );
405 +pd_maybe_require( ABSPATH . WPINC . '/abilities-api.php' );
406 +pd_maybe_require( ABSPATH . WPINC . '/abilities.php' );
407 +pd_maybe_require( ABSPATH . WPINC . '/collaboration/interface-wp-sync-storage.php' );
408 +pd_maybe_require( ABSPATH . WPINC . '/collaboration/class-wp-sync-post-meta-storage.php' );
409 +pd_maybe_require( ABSPATH . WPINC . '/collaboration/class-wp-http-polling-sync-server.php' );
410 +pd_maybe_require( ABSPATH . WPINC . '/collaboration.php' );
411 +pd_maybe_require( ABSPATH . WPINC . '/rest-api.php' );
412 +pd_maybe_require( ABSPATH . WPINC . '/json-schema.php' );
413 +pd_maybe_require( ABSPATH . WPINC . '/rest-api/class-wp-rest-server.php' );
414 +pd_maybe_require( ABSPATH . WPINC . '/rest-api/class-wp-rest-response.php' );
415 +pd_maybe_require( ABSPATH . WPINC . '/rest-api/class-wp-rest-request.php' );
416 +pd_maybe_require( ABSPATH . WPINC . '/rest-api/endpoints/class-wp-rest-controller.php' );
417 +pd_maybe_require( ABSPATH . WPINC . '/rest-api/endpoints/class-wp-rest-posts-controller.php' );
418 +pd_maybe_require( ABSPATH . WPINC . '/rest-api/endpoints/class-wp-rest-attachments-controller.php' );
419 +pd_maybe_require( ABSPATH . WPINC . '/rest-api/endpoints/class-wp-rest-global-styles-controller.php' );
420 +pd_maybe_require( ABSPATH . WPINC . '/rest-api/endpoints/class-wp-rest-post-types-controller.php' );
421 +pd_maybe_require( ABSPATH . WPINC . '/rest-api/endpoints/class-wp-rest-post-statuses-controller.php' );
422 +pd_maybe_require( ABSPATH . WPINC . '/rest-api/endpoints/class-wp-rest-revisions-controller.php' );
423 +pd_maybe_require( ABSPATH . WPINC . '/rest-api/endpoints/class-wp-rest-global-styles-revisions-controller.php' );
424 +pd_maybe_require( ABSPATH . WPINC . '/rest-api/endpoints/class-wp-rest-template-revisions-controller.php' );
425 +pd_maybe_require( ABSPATH . WPINC . '/rest-api/endpoints/class-wp-rest-autosaves-controller.php' );
426 +pd_maybe_require( ABSPATH . WPINC . '/rest-api/endpoints/class-wp-rest-template-autosaves-controller.php' );
427 +pd_maybe_require( ABSPATH . WPINC . '/rest-api/endpoints/class-wp-rest-taxonomies-controller.php' );
428 +pd_maybe_require( ABSPATH . WPINC . '/rest-api/endpoints/class-wp-rest-terms-controller.php' );
429 +pd_maybe_require( ABSPATH . WPINC . '/rest-api/endpoints/class-wp-rest-menu-items-controller.php' );
430 +pd_maybe_require( ABSPATH . WPINC . '/rest-api/endpoints/class-wp-rest-menus-controller.php' );
431 +pd_maybe_require( ABSPATH . WPINC . '/rest-api/endpoints/class-wp-rest-menu-locations-controller.php' );
432 +pd_maybe_require( ABSPATH . WPINC . '/rest-api/endpoints/class-wp-rest-users-controller.php' );
433 +pd_maybe_require( ABSPATH . WPINC . '/rest-api/endpoints/class-wp-rest-comments-controller.php' );
434 +pd_maybe_require( ABSPATH . WPINC . '/rest-api/endpoints/class-wp-rest-search-controller.php' );
435 +pd_maybe_require( ABSPATH . WPINC . '/rest-api/endpoints/class-wp-rest-blocks-controller.php' );
436 +pd_maybe_require( ABSPATH . WPINC . '/rest-api/endpoints/class-wp-rest-block-types-controller.php' );
437 +pd_maybe_require( ABSPATH . WPINC . '/rest-api/endpoints/class-wp-rest-block-renderer-controller.php' );
438 +pd_maybe_require( ABSPATH . WPINC . '/rest-api/endpoints/class-wp-rest-settings-controller.php' );
439 +pd_maybe_require( ABSPATH . WPINC . '/rest-api/endpoints/class-wp-rest-themes-controller.php' );
440 +pd_maybe_require( ABSPATH . WPINC . '/rest-api/endpoints/class-wp-rest-plugins-controller.php' );
441 +pd_maybe_require( ABSPATH . WPINC . '/rest-api/endpoints/class-wp-rest-block-directory-controller.php' );
442 +pd_maybe_require( ABSPATH . WPINC . '/rest-api/endpoints/class-wp-rest-edit-site-export-controller.php' );
443 +pd_maybe_require( ABSPATH . WPINC . '/rest-api/endpoints/class-wp-rest-pattern-directory-controller.php' );
444 +pd_maybe_require( ABSPATH . WPINC . '/rest-api/endpoints/class-wp-rest-block-patterns-controller.php' );
445 +pd_maybe_require( ABSPATH . WPINC . '/rest-api/endpoints/class-wp-rest-block-pattern-categories-controller.php' );
446 +pd_maybe_require( ABSPATH . WPINC . '/rest-api/endpoints/class-wp-rest-application-passwords-controller.php' );
447 +pd_maybe_require( ABSPATH . WPINC . '/rest-api/endpoints/class-wp-rest-site-health-controller.php' );
448 +pd_maybe_require( ABSPATH . WPINC . '/rest-api/endpoints/class-wp-rest-sidebars-controller.php' );
449 +pd_maybe_require( ABSPATH . WPINC . '/rest-api/endpoints/class-wp-rest-widget-types-controller.php' );
450 +pd_maybe_require( ABSPATH . WPINC . '/rest-api/endpoints/class-wp-rest-widgets-controller.php' );
451 +pd_maybe_require( ABSPATH . WPINC . '/rest-api/endpoints/class-wp-rest-templates-controller.php' );
452 +pd_maybe_require( ABSPATH . WPINC . '/rest-api/endpoints/class-wp-rest-url-details-controller.php' );
453 +pd_maybe_require( ABSPATH . WPINC . '/rest-api/endpoints/class-wp-rest-navigation-fallback-controller.php' );
454 +pd_maybe_require( ABSPATH . WPINC . '/rest-api/endpoints/class-wp-rest-font-families-controller.php' );
455 +pd_maybe_require( ABSPATH . WPINC . '/rest-api/endpoints/class-wp-rest-font-faces-controller.php' );
456 +pd_maybe_require( ABSPATH . WPINC . '/rest-api/endpoints/class-wp-rest-font-collections-controller.php' );
457 +pd_maybe_require( ABSPATH . WPINC . '/rest-api/endpoints/class-wp-rest-icons-controller.php' );
458 +pd_maybe_require( ABSPATH . WPINC . '/rest-api/endpoints/class-wp-rest-icon-collections-controller.php' );
459 +pd_maybe_require( ABSPATH . WPINC . '/rest-api/endpoints/class-wp-rest-view-config-controller.php' );
460 +pd_maybe_require( ABSPATH . WPINC . '/rest-api/endpoints/class-wp-rest-abilities-v1-categories-controller.php' );
461 +pd_maybe_require( ABSPATH . WPINC . '/rest-api/endpoints/class-wp-rest-abilities-v1-list-controller.php' );
462 +pd_maybe_require( ABSPATH . WPINC . '/rest-api/endpoints/class-wp-rest-abilities-v1-run-controller.php' );
463 +pd_maybe_require( ABSPATH . WPINC . '/rest-api/fields/class-wp-rest-meta-fields.php' );
464 +pd_maybe_require( ABSPATH . WPINC . '/rest-api/fields/class-wp-rest-comment-meta-fields.php' );
465 +pd_maybe_require( ABSPATH . WPINC . '/rest-api/fields/class-wp-rest-post-meta-fields.php' );
466 +pd_maybe_require( ABSPATH . WPINC . '/rest-api/fields/class-wp-rest-term-meta-fields.php' );
467 +pd_maybe_require( ABSPATH . WPINC . '/rest-api/fields/class-wp-rest-user-meta-fields.php' );
468 +pd_maybe_require( ABSPATH . WPINC . '/rest-api/search/class-wp-rest-search-handler.php' );
469 +pd_maybe_require( ABSPATH . WPINC . '/rest-api/search/class-wp-rest-post-search-handler.php' );
470 +
471 +pd_maybe_require( ABSPATH . WPINC . '/rest-api/search/class-wp-rest-term-search-handler.php' );
472 +pd_maybe_require( ABSPATH . WPINC . '/rest-api/search/class-wp-rest-post-format-search-handler.php' );
473 +pd_maybe_require( ABSPATH . WPINC . '/sitemaps.php' );
474 +pd_maybe_require( ABSPATH . WPINC . '/sitemaps/class-wp-sitemaps.php' );
475 +pd_maybe_require( ABSPATH . WPINC . '/sitemaps/class-wp-sitemaps-index.php' );
476 +pd_maybe_require( ABSPATH . WPINC . '/sitemaps/class-wp-sitemaps-provider.php' );
477 +pd_maybe_require( ABSPATH . WPINC . '/sitemaps/class-wp-sitemaps-registry.php' );
478 +pd_maybe_require( ABSPATH . WPINC . '/sitemaps/class-wp-sitemaps-renderer.php' );
479 +pd_maybe_require( ABSPATH . WPINC . '/sitemaps/class-wp-sitemaps-stylesheet.php' );
480 +pd_maybe_require( ABSPATH . WPINC . '/sitemaps/providers/class-wp-sitemaps-posts.php' );
481 +pd_maybe_require( ABSPATH . WPINC . '/sitemaps/providers/class-wp-sitemaps-taxonomies.php' );
482 +pd_maybe_require( ABSPATH . WPINC . '/sitemaps/providers/class-wp-sitemaps-users.php' );
483 +pd_maybe_require( ABSPATH . WPINC . '/class-wp-block-bindings-source.php' );
484 +pd_maybe_require( ABSPATH . WPINC . '/class-wp-block-bindings-registry.php' );
485 +pd_maybe_require( ABSPATH . WPINC . '/class-wp-block-editor-context.php' );
486 +
487 +
488 +pd_maybe_require( ABSPATH . WPINC . '/class-wp-block-type.php' );
489 +pd_maybe_require( ABSPATH . WPINC . '/class-wp-block-pattern-categories-registry.php' );
490 +pd_maybe_require( ABSPATH . WPINC . '/class-wp-block-patterns-registry.php' );
491 +pd_maybe_require( ABSPATH . WPINC . '/class-wp-block-styles-registry.php' );
492 +pd_maybe_require( ABSPATH . WPINC . '/class-wp-block-type-registry.php' );
493 +pd_maybe_require( ABSPATH . WPINC . '/class-wp-block.php' );
494 +pd_maybe_require( ABSPATH . WPINC . '/class-wp-block-list.php' );
495 +pd_maybe_require( ABSPATH . WPINC . '/class-wp-block-metadata-registry.php' );
496 +pd_maybe_require( ABSPATH . WPINC . '/class-wp-block-parser-block.php' );
497 +pd_maybe_require( ABSPATH . WPINC . '/class-wp-block-parser-frame.php' );
498 +pd_maybe_require( ABSPATH . WPINC . '/class-wp-block-parser.php' );
499 +pd_maybe_require( ABSPATH . WPINC . '/class-wp-classic-to-block-menu-converter.php' );
500 +pd_maybe_require( ABSPATH . WPINC . '/class-wp-navigation-fallback.php' );
501 +pd_maybe_require( ABSPATH . WPINC . '/block-bindings.php' );
502 +pd_maybe_require( ABSPATH . WPINC . '/block-bindings/pattern-overrides.php' );
503 +pd_maybe_require( ABSPATH . WPINC . '/block-bindings/post-data.php' );
504 +pd_maybe_require( ABSPATH . WPINC . '/block-bindings/post-meta.php' );
505 +pd_maybe_require( ABSPATH . WPINC . '/block-bindings/term-data.php' );
506 +pd_maybe_require( ABSPATH . WPINC . '/blocks.php' );
507 +pd_maybe_require( ABSPATH . WPINC . '/blocks/index.php' );
508 +pd_maybe_require( ABSPATH . WPINC . '/block-editor.php' );
509 +pd_maybe_require( ABSPATH . WPINC . '/block-patterns.php' );
510 +pd_maybe_require( ABSPATH . WPINC . '/class-wp-block-supports.php' );
511 +pd_maybe_require( ABSPATH . WPINC . '/block-supports/utils.php' );
512 +pd_maybe_require( ABSPATH . WPINC . '/block-supports/align.php' );
513 +pd_maybe_require( ABSPATH . WPINC . '/block-supports/custom-classname.php' );
514 +pd_maybe_require( ABSPATH . WPINC . '/block-supports/generated-classname.php' );
515 +pd_maybe_require( ABSPATH . WPINC . '/block-supports/settings.php' );
516 +pd_maybe_require( ABSPATH . WPINC . '/block-supports/elements.php' );
517 +pd_maybe_require( ABSPATH . WPINC . '/block-supports/colors.php' );
518 +pd_maybe_require( ABSPATH . WPINC . '/block-supports/typography.php' );
519 +pd_maybe_require( ABSPATH . WPINC . '/block-supports/border.php' );
520 +pd_maybe_require( ABSPATH . WPINC . '/block-supports/layout.php' );
521 +pd_maybe_require( ABSPATH . WPINC . '/block-supports/position.php' );
522 +pd_maybe_require( ABSPATH . WPINC . '/block-supports/spacing.php' );
523 +pd_maybe_require( ABSPATH . WPINC . '/block-supports/dimensions.php' );
524 +pd_maybe_require( ABSPATH . WPINC . '/block-supports/duotone.php' );
525 +pd_maybe_require( ABSPATH . WPINC . '/block-supports/shadow.php' );
526 +pd_maybe_require( ABSPATH . WPINC . '/block-supports/background.php' );
527 +pd_maybe_require( ABSPATH . WPINC . '/block-supports/block-style-variations.php' );
528 +pd_maybe_require( ABSPATH . WPINC . '/block-supports/aria-label.php' );
529 +pd_maybe_require( ABSPATH . WPINC . '/block-supports/block-visibility.php' );
530 +pd_maybe_require( ABSPATH . WPINC . '/block-supports/anchor.php' );
531 +pd_maybe_require( ABSPATH . WPINC . '/block-supports/custom-css.php' );
532 +pd_maybe_require( ABSPATH . WPINC . '/block-supports/states.php' );
533 +pd_maybe_require( ABSPATH . WPINC . '/block-supports/auto-register.php' );
534 +pd_maybe_require( ABSPATH . WPINC . '/style-engine.php' );
535 +pd_maybe_require( ABSPATH . WPINC . '/style-engine/class-wp-style-engine.php' );
536 +pd_maybe_require( ABSPATH . WPINC . '/style-engine/class-wp-style-engine-css-declarations.php' );
537 +pd_maybe_require( ABSPATH . WPINC . '/style-engine/class-wp-style-engine-css-rule.php' );
538 +pd_maybe_require( ABSPATH . WPINC . '/style-engine/class-wp-style-engine-css-rules-store.php' );
539 +pd_maybe_require( ABSPATH . WPINC . '/style-engine/class-wp-style-engine-processor.php' );
540 +pd_maybe_require( ABSPATH . WPINC . '/fonts/class-wp-font-face-resolver.php' );
541 +pd_maybe_require( ABSPATH . WPINC . '/fonts/class-wp-font-collection.php' );
542 +pd_maybe_require( ABSPATH . WPINC . '/fonts/class-wp-font-face.php' );
543 +pd_maybe_require( ABSPATH . WPINC . '/fonts/class-wp-font-library.php' );
544 +pd_maybe_require( ABSPATH . WPINC . '/fonts/class-wp-font-utils.php' );
545 +pd_maybe_require( ABSPATH . WPINC . '/fonts.php' );
546 +pd_maybe_require( ABSPATH . WPINC . '/class-wp-script-modules.php' );
547 +pd_maybe_require( ABSPATH . WPINC . '/script-modules.php' );
548 +pd_maybe_require( ABSPATH . WPINC . '/interactivity-api/class-wp-interactivity-api.php' );
549 +pd_maybe_require( ABSPATH . WPINC . '/interactivity-api/class-wp-interactivity-api-directives-processor.php' );
550 +pd_maybe_require( ABSPATH . WPINC . '/interactivity-api/interactivity-api.php' );
551 +pd_maybe_require( ABSPATH . WPINC . '/class-wp-plugin-dependencies.php' );
552 +pd_maybe_require( ABSPATH . WPINC . '/class-wp-url-pattern-prefixer.php' );
553 +pd_maybe_require( ABSPATH . WPINC . '/class-wp-speculation-rules.php' );
554 +pd_maybe_require( ABSPATH . WPINC . '/speculative-loading.php' );
555 +pd_maybe_require( ABSPATH . WPINC . '/view-transitions.php' );
556 +
557 +if ( function_exists( 'wp_script_modules' ) ) {
558 + add_action( 'after_setup_theme', array( wp_script_modules(), 'add_hooks' ) );
559 +}
560 +if ( function_exists( 'wp_interactivity' ) ) {
561 + add_action( 'after_setup_theme', array( wp_interactivity(), 'add_hooks' ) );
562 +}
563 +
564 +/* PD: Start bail out early */
565 +// return;
566 +/* PD: End bail out early */
567 +$GLOBALS['wp_embed'] = new WP_Embed();
568 +
569 +/**
570 + * WordPress Textdomain Registry object.
571 + *
572 + * Used to support just-in-time translations for manually loaded text domains.
573 + *
574 + * @since 6.1.0
575 + *
576 + * @global WP_Textdomain_Registry $wp_textdomain_registry WordPress Textdomain Registry.
577 + */
578 +if ( class_exists( '\WP_Textdomain_Registry' ) ) {
579 + $GLOBALS['wp_textdomain_registry'] = new WP_Textdomain_Registry();
580 + if( method_exists( $GLOBALS['wp_textdomain_registry'], 'init' ) ) {
581 + // introduced in WP6.5
582 + $GLOBALS['wp_textdomain_registry']->init();
583 + }
584 +}
585 +
586 +// Load multisite-specific files.
587 +if ( is_multisite() ) {
588 + pd_maybe_require( ABSPATH . WPINC . '/ms-functions.php' );
589 + pd_maybe_require( ABSPATH . WPINC . '/ms-default-filters.php' );
590 + pd_maybe_require( ABSPATH . WPINC . '/ms-deprecated.php' );
591 +}
592 +
593 +// Define constants that rely on the API to obtain the default value.
594 +// Define must-use plugin directory constants, which may be overridden in the sunrise.php drop-in.
595 +wp_plugin_directory_constants();
596 +
597 +$GLOBALS['wp_plugin_paths'] = array();
598 +
599 +// Load must-use plugins.
600 +foreach ( wp_get_mu_plugins() as $mu_plugin ) {
601 + $_wp_plugin_file = $mu_plugin;
602 + include_once $mu_plugin;
603 + $mu_plugin = $_wp_plugin_file; // Avoid stomping of the $mu_plugin variable in a plugin.
604 +
605 + /**
606 + * Fires once a single must-use plugin has loaded.
607 + *
608 + * @since 5.1.0
609 + *
610 + * @param string $mu_plugin Full path to the plugin's main file.
611 + */
612 + do_action( 'mu_plugin_loaded', $mu_plugin );
613 +}
614 +unset( $mu_plugin, $_wp_plugin_file );
615 +
616 +// Load network activated plugins.
617 +if ( is_multisite() ) {
618 + foreach ( wp_get_active_network_plugins() as $network_plugin ) {
619 + wp_register_plugin_realpath( $network_plugin );
620 +
621 + $_wp_plugin_file = $network_plugin;
622 + include_once $network_plugin;
623 + $network_plugin = $_wp_plugin_file; // Avoid stomping of the $network_plugin variable in a plugin.
624 +
625 + /**
626 + * Fires once a single network-activated plugin has loaded.
627 + *
628 + * @since 5.1.0
629 + *
630 + * @param string $network_plugin Full path to the plugin's main file.
631 + */
632 + do_action( 'network_plugin_loaded', $network_plugin );
633 + }
634 + unset( $network_plugin, $_wp_plugin_file );
635 +}
636 +
637 +/**
638 + * Fires once all must-use and network-activated plugins have loaded.
639 + *
640 + * @since 2.8.0
641 + */
642 +do_action( 'muplugins_loaded' );
643 +
644 +if ( is_multisite() ) {
645 + ms_cookie_constants();
646 +}
647 +
648 +// Define constants after multisite is loaded.
649 +wp_cookie_constants();
650 +
651 +// Define and enforce our SSL constants
652 +wp_ssl_constants();
653 +
654 +// Create common globals.
655 +pd_maybe_require( ABSPATH . WPINC . '/vars.php' );
656 +
657 +// Make taxonomies and posts available to plugins and themes.
658 +// @plugin authors: warning: these get registered again on the init hook.
659 +create_initial_taxonomies();
660 +create_initial_post_types();
661 +
662 +if ( function_exists( 'wp_start_scraping_edited_file_errors' ) ) {
663 + wp_start_scraping_edited_file_errors();
664 +}
665 +
666 +// Register the default theme directory root
667 +register_theme_directory( get_theme_root() );
668 +
669 +/* PD: Start cache disable */
670 +
671 +// Load active plugins.
672 +// foreach ( wp_get_active_and_valid_plugins() as $plugin ) {
673 +// wp_register_plugin_realpath( $plugin );
674 +// include_once( $plugin );
675 +// }
676 +// unset( $plugin );
677 +
678 +/* PD: End cache disable */
679 +
680 +// if ( ! is_multisite() && wp_is_fatal_error_handler_enabled() ) {
681 +// // Handle users requesting a recovery mode link and initiating recovery mode.
682 +// wp_recovery_mode()->initialize();
683 +// }
684 +
685 +// // To make get_plugin_data() available in a way that's compatible with plugins also loading this file, see #62244.
686 +// require_once ABSPATH . 'wp-admin/includes/plugin.php';
687 +
688 +// // Load active plugins.
689 +// foreach ( wp_get_active_and_valid_plugins() as $plugin ) {
690 +// wp_register_plugin_realpath( $plugin );
691 +
692 +// $plugin_data = get_plugin_data( $plugin, false, false );
693 +
694 +// $textdomain = $plugin_data['TextDomain'];
695 +// if ( $textdomain ) {
696 +// if ( $plugin_data['DomainPath'] ) {
697 +// $GLOBALS['wp_textdomain_registry']->set_custom_path( $textdomain, dirname( $plugin ) . $plugin_data['DomainPath'] );
698 +// } else {
699 +// $GLOBALS['wp_textdomain_registry']->set_custom_path( $textdomain, dirname( $plugin ) );
700 +// }
701 +// }
702 +
703 +// $_wp_plugin_file = $plugin;
704 +// include_once $plugin;
705 +// $plugin = $_wp_plugin_file; // Avoid stomping of the $plugin variable in a plugin.
706 +
707 +// /**
708 +// * Fires once a single activated plugin has loaded.
709 +// *
710 +// * @since 5.1.0
711 +// *
712 +// * @param string $plugin Full path to the plugin's main file.
713 +// */
714 +// do_action( 'plugin_loaded', $plugin );
715 +// }
716 +// unset( $plugin, $_wp_plugin_file, $plugin_data, $textdomain );
717 +
718 +// Load pluggable functions.
719 +pd_maybe_require( ABSPATH . WPINC . '/pluggable.php' );
720 +pd_maybe_require( ABSPATH . WPINC . '/pluggable-deprecated.php' );
721 +
722 +// Set internal encoding.
723 +wp_set_internal_encoding();
724 +
725 +// Run wp_cache_postload() if object cache is enabled and the function exists.
726 +if ( WP_CACHE && function_exists( 'wp_cache_postload' ) ) {
727 + wp_cache_postload();
728 +}
729 +/**
730 + * Fires once activated plugins have loaded.
731 + *
732 + * Pluggable functions are also available at this point in the loading order.
733 + *
734 + * @since 1.5.0
735 + */
736 +do_action( 'plugins_loaded' );
737 +
738 +// Define constants which affect functionality if not already defined.
739 +wp_functionality_constants();
740 +
741 +// Add magic quotes and set up $_REQUEST ( $_GET + $_POST )
742 +wp_magic_quotes();
743 +
744 +/**
745 + * Fires when comment cookies are sanitized.
746 + *
747 + * @since 2.0.11
748 + */
749 +do_action( 'sanitize_comment_cookies' );
750 +
751 +/**
752 + * WordPress Query object
753 + * @global WP_Query $wp_the_query
754 + * @since 2.0.0
755 + */
756 +$GLOBALS['wp_the_query'] = new WP_Query();
757 +
758 +/**
759 + * Holds the reference to @see $wp_the_query
760 + * Use this global for WordPress queries
761 + * @global WP_Query $wp_query
762 + * @since 1.5.0
763 + */
764 +$GLOBALS['wp_query'] = $GLOBALS['wp_the_query'];
765 +
766 +/**
767 + * Holds the WordPress Rewrite object for creating pretty URLs
768 + * @global WP_Rewrite $wp_rewrite
769 + * @since 1.5.0
770 + */
771 +$GLOBALS['wp_rewrite'] = new WP_Rewrite();
772 +
773 +/**
774 + * WordPress Object
775 + * @global WP $wp
776 + * @since 2.0.0
777 + */
778 +$GLOBALS['wp'] = new WP();
779 +
780 +/**
781 + * WordPress Widget Factory Object
782 + * @global WP_Widget_Factory $wp_widget_factory
783 + * @since 2.8.0
784 + */
785 +$GLOBALS['wp_widget_factory'] = new WP_Widget_Factory();
786 +
787 +/**
788 + * WordPress User Roles
789 + * @global WP_Roles $wp_roles
790 + * @since 2.0.0
791 + */
792 +$GLOBALS['wp_roles'] = new WP_Roles();
793 +
794 +/**
795 + * Fires before the theme is loaded.
796 + *
797 + * @since 2.6.0
798 + */
799 +do_action( 'setup_theme' );
800 +
801 +// Define the template related constants.
802 +wp_templating_constants();
803 +if( function_exists( 'wp_set_template_globals' ) ) {
804 + // introduced in WP6.5
805 + wp_set_template_globals();
806 +}
807 +
808 +// Load the default text localization domain.
809 +load_default_textdomain();
810 +
811 +$locale = get_locale();
812 +$locale_file = WP_LANG_DIR . "/$locale.php";
813 +if ( ( 0 === validate_file( $locale ) ) && is_readable( $locale_file ) )
814 + require( $locale_file );
815 +unset( $locale_file );
816 +
817 +/**
818 + * WordPress Locale object for loading locale domain date and various strings.
819 + * @global WP_Locale $wp_locale
820 + * @since 2.1.0
821 + */
822 +$GLOBALS['wp_locale'] = new WP_Locale();
823 +
824 +/**
825 + * WordPress Locale Switcher object for switching locales.
826 + *
827 + * @since 4.7.0
828 + *
829 + * @global WP_Locale_Switcher $wp_locale_switcher WordPress locale switcher object.
830 + */
831 +$GLOBALS['wp_locale_switcher'] = new WP_Locale_Switcher();
832 +$GLOBALS['wp_locale_switcher']->init();
833 +
834 +// Load the functions for the active theme, for both parent and child theme if applicable.
835 +if ( ! wp_installing() || 'wp-activate.php' === $pagenow ) {
836 + foreach ( wp_get_active_and_valid_themes() as $theme ) {
837 + $wp_theme = wp_get_theme( basename( $theme ) );
838 +
839 + $wp_theme->load_textdomain();
840 +
841 + if ( file_exists( $theme . '/functions.php' ) ) {
842 + include $theme . '/functions.php';
843 + }
844 + }
845 +}
846 +unset( $theme, $wp_theme );
847 +
848 +/**
849 + * Fires after the theme is loaded.
850 + *
851 + * @since 3.0.0
852 + */
853 +do_action( 'after_setup_theme' );
854 +
855 +// Create an instance of WP_Site_Health so that Cron events may fire.
856 +if ( ! class_exists( 'WP_Site_Health' ) ) {
857 + require_once ABSPATH . 'wp-admin/includes/class-wp-site-health.php';
858 +}
859 +WP_Site_Health::get_instance();
860 +
861 +// Set up current user.
862 +$GLOBALS['wp']->init();
863 +
864 +/**
865 + * Fires after WordPress has finished loading but before any headers are sent.
866 + *
867 + * Most of WP is loaded at this stage, and the user is authenticated. WP continues
868 + * to load on the {@see 'init'} hook that follows (e.g. widgets), and many plugins instantiate
869 + * themselves on it for all sorts of reasons (e.g. they need a user, a taxonomy, etc.).
870 + *
871 + * If you wish to plug an action once WP is loaded, use the {@see 'wp_loaded'} hook below.
872 + *
873 + * @since 1.5.0
874 + */
875 +do_action( 'init' );
876 +
877 +// Check site status
878 +if ( is_multisite() ) {
879 + if ( true !== ( $file = ms_site_check() ) ) {
880 + require( $file );
881 + die();
882 + }
883 + unset($file);
884 +}
885 +
886 +/**
887 + * This hook is fired once WP, all plugins, and the theme are fully loaded and instantiated.
888 + *
889 + * Ajax requests should use wp-admin/admin-ajax.php. admin-ajax.php can handle requests for
890 + * users not logged in.
891 + *
892 + * @link https://developer.wordpress.org/plugins/javascript/ajax
893 + *
894 + * @since 3.0.0
895 + */
896 +do_action( 'wp_loaded' );