1
|
|
|
<?php |
2
|
|
|
define( 'ABSPATH', __DIR__ . '/../../wordpress/' ); |
3
|
|
|
define( 'WPINC', 'wp-includes' ); |
4
|
|
|
define( 'WP_CONTENT_DIR', ABSPATH . 'wp-content' ); |
5
|
|
|
|
6
|
|
|
require ABSPATH . WPINC . '/load.php'; |
7
|
|
|
require ABSPATH . WPINC . '/cache.php'; |
8
|
|
|
|
9
|
|
|
global $wp_object_cache; |
10
|
|
|
$wp_object_cache = new \WP_Object_Cache(); |
11
|
|
|
|
12
|
|
|
// Include files required for initialization. |
13
|
|
|
require ABSPATH . WPINC . '/class-wp-paused-extensions-storage.php'; |
14
|
|
|
require ABSPATH . WPINC . '/class-wp-fatal-error-handler.php'; |
15
|
|
|
require ABSPATH . WPINC . '/class-wp-recovery-mode-cookie-service.php'; |
16
|
|
|
require ABSPATH . WPINC . '/class-wp-recovery-mode-key-service.php'; |
17
|
|
|
require ABSPATH . WPINC . '/class-wp-recovery-mode-link-service.php'; |
18
|
|
|
require ABSPATH . WPINC . '/class-wp-recovery-mode-email-service.php'; |
19
|
|
|
require ABSPATH . WPINC . '/class-wp-recovery-mode.php'; |
20
|
|
|
require ABSPATH . WPINC . '/error-protection.php'; |
21
|
|
|
require ABSPATH . WPINC . '/default-constants.php'; |
22
|
|
|
require_once ABSPATH . WPINC . '/plugin.php'; |
23
|
|
|
|
24
|
|
|
// Load early WordPress files. |
25
|
|
|
require ABSPATH . WPINC . '/compat.php'; |
26
|
|
|
require ABSPATH . WPINC . '/class-wp-list-util.php'; |
27
|
|
|
require ABSPATH . WPINC . '/formatting.php'; |
28
|
|
|
require ABSPATH . WPINC . '/meta.php'; |
29
|
|
|
require ABSPATH . WPINC . '/functions.php'; |
30
|
|
|
require ABSPATH . WPINC . '/class-wp-meta-query.php'; |
31
|
|
|
require ABSPATH . WPINC . '/class-wp-matchesmapregex.php'; |
32
|
|
|
require ABSPATH . WPINC . '/class-wp.php'; |
33
|
|
|
require ABSPATH . WPINC . '/class-wp-error.php'; |
34
|
|
|
require ABSPATH . WPINC . '/pomo/mo.php'; |
35
|
|
|
|
36
|
|
|
require_once ABSPATH . WPINC . '/wp-db.php'; |
37
|
|
|
require 'db.php'; |
38
|
|
|
|
39
|
|
|
// Load most of WordPress. |
40
|
|
|
require ABSPATH . WPINC . '/class-wp-walker.php'; |
41
|
|
|
require ABSPATH . WPINC . '/class-wp-ajax-response.php'; |
42
|
|
|
require ABSPATH . WPINC . '/capabilities.php'; |
43
|
|
|
require ABSPATH . WPINC . '/class-wp-roles.php'; |
44
|
|
|
require ABSPATH . WPINC . '/class-wp-role.php'; |
45
|
|
|
require ABSPATH . WPINC . '/class-wp-user.php'; |
46
|
|
|
require ABSPATH . WPINC . '/class-wp-query.php'; |
47
|
|
|
require ABSPATH . WPINC . '/query.php'; |
48
|
|
|
require ABSPATH . WPINC . '/class-wp-date-query.php'; |
49
|
|
|
require ABSPATH . WPINC . '/theme.php'; |
50
|
|
|
require ABSPATH . WPINC . '/class-wp-theme.php'; |
51
|
|
|
require ABSPATH . WPINC . '/template.php'; |
52
|
|
|
require ABSPATH . WPINC . '/class-wp-user-request.php'; |
53
|
|
|
require ABSPATH . WPINC . '/user.php'; |
54
|
|
|
require ABSPATH . WPINC . '/class-wp-user-query.php'; |
55
|
|
|
require ABSPATH . WPINC . '/class-wp-session-tokens.php'; |
56
|
|
|
require ABSPATH . WPINC . '/class-wp-user-meta-session-tokens.php'; |
57
|
|
|
require ABSPATH . WPINC . '/class-wp-metadata-lazyloader.php'; |
58
|
|
|
require ABSPATH . WPINC . '/general-template.php'; |
59
|
|
|
require ABSPATH . WPINC . '/link-template.php'; |
60
|
|
|
require ABSPATH . WPINC . '/author-template.php'; |
61
|
|
|
require ABSPATH . WPINC . '/post.php'; |
62
|
|
|
require ABSPATH . WPINC . '/class-walker-page.php'; |
63
|
|
|
require ABSPATH . WPINC . '/class-walker-page-dropdown.php'; |
64
|
|
|
require ABSPATH . WPINC . '/class-wp-post-type.php'; |
65
|
|
|
require ABSPATH . WPINC . '/class-wp-post.php'; |
66
|
|
|
require ABSPATH . WPINC . '/post-template.php'; |
67
|
|
|
require ABSPATH . WPINC . '/revision.php'; |
68
|
|
|
require ABSPATH . WPINC . '/post-formats.php'; |
69
|
|
|
require ABSPATH . WPINC . '/post-thumbnail-template.php'; |
70
|
|
|
require ABSPATH . WPINC . '/category.php'; |
71
|
|
|
require ABSPATH . WPINC . '/class-walker-category.php'; |
72
|
|
|
require ABSPATH . WPINC . '/class-walker-category-dropdown.php'; |
73
|
|
|
require ABSPATH . WPINC . '/category-template.php'; |
74
|
|
|
require ABSPATH . WPINC . '/comment.php'; |
75
|
|
|
require ABSPATH . WPINC . '/class-wp-comment.php'; |
76
|
|
|
require ABSPATH . WPINC . '/class-wp-comment-query.php'; |
77
|
|
|
require ABSPATH . WPINC . '/class-walker-comment.php'; |
78
|
|
|
require ABSPATH . WPINC . '/comment-template.php'; |
79
|
|
|
require ABSPATH . WPINC . '/rewrite.php'; |
80
|
|
|
require ABSPATH . WPINC . '/class-wp-rewrite.php'; |
81
|
|
|
require ABSPATH . WPINC . '/feed.php'; |
82
|
|
|
require ABSPATH . WPINC . '/bookmark.php'; |
83
|
|
|
require ABSPATH . WPINC . '/bookmark-template.php'; |
84
|
|
|
require ABSPATH . WPINC . '/kses.php'; |
85
|
|
|
require ABSPATH . WPINC . '/cron.php'; |
86
|
|
|
require ABSPATH . WPINC . '/deprecated.php'; |
87
|
|
|
require ABSPATH . WPINC . '/script-loader.php'; |
88
|
|
|
require ABSPATH . WPINC . '/taxonomy.php'; |
89
|
|
|
require ABSPATH . WPINC . '/class-wp-taxonomy.php'; |
90
|
|
|
require ABSPATH . WPINC . '/class-wp-term.php'; |
91
|
|
|
require ABSPATH . WPINC . '/class-wp-term-query.php'; |
92
|
|
|
require ABSPATH . WPINC . '/class-wp-tax-query.php'; |
93
|
|
|
require ABSPATH . WPINC . '/update.php'; |
94
|
|
|
require ABSPATH . WPINC . '/canonical.php'; |
95
|
|
|
require ABSPATH . WPINC . '/shortcodes.php'; |
96
|
|
|
require ABSPATH . WPINC . '/embed.php'; |
97
|
|
|
require ABSPATH . WPINC . '/class-wp-embed.php'; |
98
|
|
|
require ABSPATH . WPINC . '/class-wp-oembed.php'; |
99
|
|
|
require ABSPATH . WPINC . '/class-wp-oembed-controller.php'; |
100
|
|
|
require ABSPATH . WPINC . '/media.php'; |
101
|
|
|
require ABSPATH . WPINC . '/http.php'; |
102
|
|
|
require ABSPATH . WPINC . '/class-http.php'; |
103
|
|
|
require ABSPATH . WPINC . '/class-wp-http-streams.php'; |
104
|
|
|
require ABSPATH . WPINC . '/class-wp-http-curl.php'; |
105
|
|
|
require ABSPATH . WPINC . '/class-wp-http-proxy.php'; |
106
|
|
|
require ABSPATH . WPINC . '/class-wp-http-cookie.php'; |
107
|
|
|
require ABSPATH . WPINC . '/class-wp-http-encoding.php'; |
108
|
|
|
require ABSPATH . WPINC . '/class-wp-http-response.php'; |
109
|
|
|
require ABSPATH . WPINC . '/class-wp-http-requests-response.php'; |
110
|
|
|
require ABSPATH . WPINC . '/class-wp-http-requests-hooks.php'; |
111
|
|
|
require ABSPATH . WPINC . '/widgets.php'; |
112
|
|
|
require ABSPATH . WPINC . '/class-wp-widget.php'; |
113
|
|
|
require ABSPATH . WPINC . '/class-wp-widget-factory.php'; |
114
|
|
|
require ABSPATH . WPINC . '/nav-menu.php'; |
115
|
|
|
require ABSPATH . WPINC . '/nav-menu-template.php'; |
116
|
|
|
require ABSPATH . WPINC . '/admin-bar.php'; |
117
|
|
|
require ABSPATH . WPINC . '/rest-api.php'; |
118
|
|
|
require ABSPATH . WPINC . '/rest-api/class-wp-rest-server.php'; |
119
|
|
|
require ABSPATH . WPINC . '/rest-api/class-wp-rest-response.php'; |
120
|
|
|
require ABSPATH . WPINC . '/rest-api/class-wp-rest-request.php'; |
121
|
|
|
require ABSPATH . WPINC . '/rest-api/endpoints/class-wp-rest-controller.php'; |
122
|
|
|
require ABSPATH . WPINC . '/rest-api/endpoints/class-wp-rest-posts-controller.php'; |
123
|
|
|
require ABSPATH . WPINC . '/rest-api/endpoints/class-wp-rest-attachments-controller.php'; |
124
|
|
|
require ABSPATH . WPINC . '/rest-api/endpoints/class-wp-rest-post-types-controller.php'; |
125
|
|
|
require ABSPATH . WPINC . '/rest-api/endpoints/class-wp-rest-post-statuses-controller.php'; |
126
|
|
|
require ABSPATH . WPINC . '/rest-api/endpoints/class-wp-rest-revisions-controller.php'; |
127
|
|
|
require ABSPATH . WPINC . '/rest-api/endpoints/class-wp-rest-autosaves-controller.php'; |
128
|
|
|
require ABSPATH . WPINC . '/rest-api/endpoints/class-wp-rest-taxonomies-controller.php'; |
129
|
|
|
require ABSPATH . WPINC . '/rest-api/endpoints/class-wp-rest-terms-controller.php'; |
130
|
|
|
require ABSPATH . WPINC . '/rest-api/endpoints/class-wp-rest-users-controller.php'; |
131
|
|
|
require ABSPATH . WPINC . '/rest-api/endpoints/class-wp-rest-comments-controller.php'; |
132
|
|
|
require ABSPATH . WPINC . '/rest-api/endpoints/class-wp-rest-search-controller.php'; |
133
|
|
|
require ABSPATH . WPINC . '/rest-api/endpoints/class-wp-rest-blocks-controller.php'; |
134
|
|
|
require ABSPATH . WPINC . '/rest-api/endpoints/class-wp-rest-block-renderer-controller.php'; |
135
|
|
|
require ABSPATH . WPINC . '/rest-api/endpoints/class-wp-rest-settings-controller.php'; |
136
|
|
|
require ABSPATH . WPINC . '/rest-api/endpoints/class-wp-rest-themes-controller.php'; |
137
|
|
|
require ABSPATH . WPINC . '/rest-api/fields/class-wp-rest-meta-fields.php'; |
138
|
|
|
require ABSPATH . WPINC . '/rest-api/fields/class-wp-rest-comment-meta-fields.php'; |
139
|
|
|
require ABSPATH . WPINC . '/rest-api/fields/class-wp-rest-post-meta-fields.php'; |
140
|
|
|
require ABSPATH . WPINC . '/rest-api/fields/class-wp-rest-term-meta-fields.php'; |
141
|
|
|
require ABSPATH . WPINC . '/rest-api/fields/class-wp-rest-user-meta-fields.php'; |
142
|
|
|
require ABSPATH . WPINC . '/rest-api/search/class-wp-rest-search-handler.php'; |
143
|
|
|
require ABSPATH . WPINC . '/rest-api/search/class-wp-rest-post-search-handler.php'; |
144
|
|
|
require ABSPATH . WPINC . '/class-wp-block-type.php'; |
145
|
|
|
require ABSPATH . WPINC . '/class-wp-block-styles-registry.php'; |
146
|
|
|
require ABSPATH . WPINC . '/class-wp-block-type-registry.php'; |
147
|
|
|
require ABSPATH . WPINC . '/class-wp-block-parser.php'; |
148
|
|
|
require ABSPATH . WPINC . '/blocks.php'; |
149
|
|
|
require ABSPATH . WPINC . '/blocks/archives.php'; |
150
|
|
|
require ABSPATH . WPINC . '/blocks/block.php'; |
151
|
|
|
require ABSPATH . WPINC . '/blocks/calendar.php'; |
152
|
|
|
require ABSPATH . WPINC . '/blocks/categories.php'; |
153
|
|
|
require ABSPATH . WPINC . '/blocks/latest-comments.php'; |
154
|
|
|
require ABSPATH . WPINC . '/blocks/latest-posts.php'; |
155
|
|
|
require ABSPATH . WPINC . '/blocks/rss.php'; |
156
|
|
|
require ABSPATH . WPINC . '/blocks/search.php'; |
157
|
|
|
require ABSPATH . WPINC . '/blocks/shortcode.php'; |
158
|
|
|
require ABSPATH . WPINC . '/blocks/social-link.php'; |
159
|
|
|
require ABSPATH . WPINC . '/blocks/tag-cloud.php'; |
160
|
|
|
|
161
|
|
|
class Mock_Options { |
162
|
|
|
|
163
|
|
|
public $options = array(); |
164
|
|
|
|
165
|
|
|
public function __construct() { |
166
|
|
|
add_filter( 'alloptions', array( $this, 'get_all_options' ), 10 ); |
167
|
|
|
add_filter( 'update_option', array( $this, 'update_option' ), 10, 3 ); |
168
|
|
|
add_filter( 'add_option', array( $this, 'add_option' ), 10, 2 ); |
169
|
|
|
add_filter( 'deleted_option', array( $this, 'delete_option' ) ); |
170
|
|
|
} |
171
|
|
|
|
172
|
|
|
public function get_all_options( $options ) { |
173
|
|
|
$defaults = require 'default-options.php'; |
174
|
|
|
|
175
|
|
|
$all_options = array_merge( |
176
|
|
|
$this->options, |
177
|
|
|
$defaults, |
178
|
|
|
$options |
179
|
|
|
); |
180
|
|
|
|
181
|
|
|
wp_cache_flush(); |
182
|
|
|
|
183
|
|
|
return $all_options; |
184
|
|
|
} |
185
|
|
|
|
186
|
|
|
public function add_option( $option, $value ) { |
187
|
|
|
$this->options[ $option ] = $value; |
188
|
|
|
wp_cache_flush(); |
189
|
|
|
} |
190
|
|
|
|
191
|
|
|
public function update_option( $option, $old_value, $value ) { |
192
|
|
|
$this->options[ $option ] = $value; |
193
|
|
|
wp_cache_flush(); |
194
|
|
|
} |
195
|
|
|
|
196
|
|
|
public function delete_option( $option ) { |
197
|
|
|
unset( $this->options[ $option ] ); |
198
|
|
|
wp_cache_flush(); |
199
|
|
|
} |
200
|
|
|
|
201
|
|
|
} |
202
|
|
|
global $mock_options; |
203
|
|
|
|
204
|
|
|
$mock_options = new Mock_Options(); |
205
|
|
|
|