73 add_filter( $filter, 'wp_kses_data' ); |
73 add_filter( $filter, 'wp_kses_data' ); |
74 } |
74 } |
75 |
75 |
76 // Slugs |
76 // Slugs |
77 add_filter( 'pre_term_slug', 'sanitize_title' ); |
77 add_filter( 'pre_term_slug', 'sanitize_title' ); |
|
78 add_filter( 'wp_insert_post_data', '_wp_customize_changeset_filter_insert_post_data', 10, 2 ); |
78 |
79 |
79 // Keys |
80 // Keys |
80 foreach ( array( 'pre_post_type', 'pre_post_status', 'pre_post_comment_status', 'pre_post_ping_status' ) as $filter ) { |
81 foreach ( array( 'pre_post_type', 'pre_post_status', 'pre_post_comment_status', 'pre_post_ping_status' ) as $filter ) { |
81 add_filter( $filter, 'sanitize_key' ); |
82 add_filter( $filter, 'sanitize_key' ); |
82 } |
83 } |
83 |
84 |
84 // Mime types |
85 // Mime types |
85 add_filter( 'pre_post_mime_type', 'sanitize_mime_type' ); |
86 add_filter( 'pre_post_mime_type', 'sanitize_mime_type' ); |
86 add_filter( 'post_mime_type', 'sanitize_mime_type' ); |
87 add_filter( 'post_mime_type', 'sanitize_mime_type' ); |
87 |
88 |
|
89 // Meta |
|
90 add_filter( 'register_meta_args', '_wp_register_meta_args_whitelist', 10, 2 ); |
|
91 |
88 // Places to balance tags on input |
92 // Places to balance tags on input |
89 foreach ( array( 'content_save_pre', 'excerpt_save_pre', 'comment_save_pre', 'pre_comment_content' ) as $filter ) { |
93 foreach ( array( 'content_save_pre', 'excerpt_save_pre', 'comment_save_pre', 'pre_comment_content' ) as $filter ) { |
|
94 add_filter( $filter, 'convert_invalid_entities' ); |
90 add_filter( $filter, 'balanceTags', 50 ); |
95 add_filter( $filter, 'balanceTags', 50 ); |
91 } |
96 } |
92 |
97 |
93 // Format strings for display. |
98 // Format strings for display. |
94 foreach ( array( 'comment_author', 'term_name', 'link_name', 'link_description', 'link_notes', 'bloginfo', 'wp_title', 'widget_title' ) as $filter ) { |
99 foreach ( array( 'comment_author', 'term_name', 'link_name', 'link_description', 'link_notes', 'bloginfo', 'wp_title', 'widget_title' ) as $filter ) { |
126 // Display filters |
131 // Display filters |
127 add_filter( 'the_title', 'wptexturize' ); |
132 add_filter( 'the_title', 'wptexturize' ); |
128 add_filter( 'the_title', 'convert_chars' ); |
133 add_filter( 'the_title', 'convert_chars' ); |
129 add_filter( 'the_title', 'trim' ); |
134 add_filter( 'the_title', 'trim' ); |
130 |
135 |
131 add_filter( 'the_content', 'wptexturize' ); |
136 add_filter( 'the_content', 'wptexturize' ); |
132 add_filter( 'the_content', 'convert_smilies' ); |
137 add_filter( 'the_content', 'convert_smilies', 20 ); |
133 add_filter( 'the_content', 'convert_chars' ); |
138 add_filter( 'the_content', 'wpautop' ); |
134 add_filter( 'the_content', 'wpautop' ); |
139 add_filter( 'the_content', 'shortcode_unautop' ); |
135 add_filter( 'the_content', 'shortcode_unautop' ); |
140 add_filter( 'the_content', 'prepend_attachment' ); |
136 add_filter( 'the_content', 'prepend_attachment' ); |
141 add_filter( 'the_content', 'wp_make_content_images_responsive' ); |
137 |
142 |
138 add_filter( 'the_excerpt', 'wptexturize' ); |
143 add_filter( 'the_excerpt', 'wptexturize' ); |
139 add_filter( 'the_excerpt', 'convert_smilies' ); |
144 add_filter( 'the_excerpt', 'convert_smilies' ); |
140 add_filter( 'the_excerpt', 'convert_chars' ); |
145 add_filter( 'the_excerpt', 'convert_chars' ); |
141 add_filter( 'the_excerpt', 'wpautop' ); |
146 add_filter( 'the_excerpt', 'wpautop' ); |
142 add_filter( 'the_excerpt', 'shortcode_unautop'); |
147 add_filter( 'the_excerpt', 'shortcode_unautop'); |
143 add_filter( 'get_the_excerpt', 'wp_trim_excerpt' ); |
148 add_filter( 'get_the_excerpt', 'wp_trim_excerpt' ); |
144 |
149 |
|
150 add_filter( 'the_post_thumbnail_caption', 'wptexturize' ); |
|
151 add_filter( 'the_post_thumbnail_caption', 'convert_smilies' ); |
|
152 add_filter( 'the_post_thumbnail_caption', 'convert_chars' ); |
|
153 |
145 add_filter( 'comment_text', 'wptexturize' ); |
154 add_filter( 'comment_text', 'wptexturize' ); |
146 add_filter( 'comment_text', 'convert_chars' ); |
155 add_filter( 'comment_text', 'convert_chars' ); |
147 add_filter( 'comment_text', 'make_clickable', 9 ); |
156 add_filter( 'comment_text', 'make_clickable', 9 ); |
148 add_filter( 'comment_text', 'force_balance_tags', 25 ); |
157 add_filter( 'comment_text', 'force_balance_tags', 25 ); |
149 add_filter( 'comment_text', 'convert_smilies', 20 ); |
158 add_filter( 'comment_text', 'convert_smilies', 20 ); |
153 |
162 |
154 add_filter( 'list_cats', 'wptexturize' ); |
163 add_filter( 'list_cats', 'wptexturize' ); |
155 |
164 |
156 add_filter( 'wp_sprintf', 'wp_sprintf_l', 10, 2 ); |
165 add_filter( 'wp_sprintf', 'wp_sprintf_l', 10, 2 ); |
157 |
166 |
|
167 add_filter( 'widget_text', 'balanceTags' ); |
|
168 add_filter( 'widget_text_content', 'capital_P_dangit', 11 ); |
|
169 add_filter( 'widget_text_content', 'wptexturize' ); |
|
170 add_filter( 'widget_text_content', 'convert_smilies', 20 ); |
|
171 add_filter( 'widget_text_content', 'wpautop' ); |
|
172 add_filter( 'widget_text_content', 'shortcode_unautop' ); |
|
173 add_filter( 'widget_text_content', 'do_shortcode', 11 ); // Runs after wpautop(); note that $post global will be null when shortcodes run. |
|
174 |
|
175 add_filter( 'date_i18n', 'wp_maybe_decline_date' ); |
|
176 |
158 // RSS filters |
177 // RSS filters |
159 add_filter( 'the_title_rss', 'strip_tags' ); |
178 add_filter( 'the_title_rss', 'strip_tags' ); |
160 add_filter( 'the_title_rss', 'ent2ncr', 8 ); |
179 add_filter( 'the_title_rss', 'ent2ncr', 8 ); |
161 add_filter( 'the_title_rss', 'esc_html' ); |
180 add_filter( 'the_title_rss', 'esc_html' ); |
162 add_filter( 'the_content_rss', 'ent2ncr', 8 ); |
181 add_filter( 'the_content_rss', 'ent2ncr', 8 ); |
163 add_filter( 'the_content_feed', 'wp_staticize_emoji' ); |
182 add_filter( 'the_content_feed', 'wp_staticize_emoji' ); |
|
183 add_filter( 'the_content_feed', '_oembed_filter_feed_content' ); |
164 add_filter( 'the_excerpt_rss', 'convert_chars' ); |
184 add_filter( 'the_excerpt_rss', 'convert_chars' ); |
165 add_filter( 'the_excerpt_rss', 'ent2ncr', 8 ); |
185 add_filter( 'the_excerpt_rss', 'ent2ncr', 8 ); |
166 add_filter( 'comment_author_rss', 'ent2ncr', 8 ); |
186 add_filter( 'comment_author_rss', 'ent2ncr', 8 ); |
167 add_filter( 'comment_text_rss', 'ent2ncr', 8 ); |
187 add_filter( 'comment_text_rss', 'ent2ncr', 8 ); |
168 add_filter( 'comment_text_rss', 'esc_html' ); |
188 add_filter( 'comment_text_rss', 'esc_html' ); |
171 add_filter( 'the_author', 'ent2ncr', 8 ); |
191 add_filter( 'the_author', 'ent2ncr', 8 ); |
172 add_filter( 'the_guid', 'esc_url' ); |
192 add_filter( 'the_guid', 'esc_url' ); |
173 |
193 |
174 // Email filters |
194 // Email filters |
175 add_filter( 'wp_mail', 'wp_staticize_emoji_for_email' ); |
195 add_filter( 'wp_mail', 'wp_staticize_emoji_for_email' ); |
|
196 |
|
197 // Mark site as no longer fresh |
|
198 foreach ( array( 'publish_post', 'publish_page', 'wp_ajax_save-widget', 'wp_ajax_widgets-order', 'customize_save_after' ) as $action ) { |
|
199 add_action( $action, '_delete_option_fresh_site', 0 ); |
|
200 } |
176 |
201 |
177 // Misc filters |
202 // Misc filters |
178 add_filter( 'option_ping_sites', 'privacy_ping_filter' ); |
203 add_filter( 'option_ping_sites', 'privacy_ping_filter' ); |
179 add_filter( 'option_blog_charset', '_wp_specialchars' ); // IMPORTANT: This must not be wp_specialchars() or esc_html() or it'll cause an infinite loop |
204 add_filter( 'option_blog_charset', '_wp_specialchars' ); // IMPORTANT: This must not be wp_specialchars() or esc_html() or it'll cause an infinite loop |
180 add_filter( 'option_blog_charset', '_canonical_charset' ); |
205 add_filter( 'option_blog_charset', '_canonical_charset' ); |
182 add_filter( 'option_siteurl', '_config_wp_siteurl' ); |
207 add_filter( 'option_siteurl', '_config_wp_siteurl' ); |
183 add_filter( 'tiny_mce_before_init', '_mce_set_direction' ); |
208 add_filter( 'tiny_mce_before_init', '_mce_set_direction' ); |
184 add_filter( 'teeny_mce_before_init', '_mce_set_direction' ); |
209 add_filter( 'teeny_mce_before_init', '_mce_set_direction' ); |
185 add_filter( 'pre_kses', 'wp_pre_kses_less_than' ); |
210 add_filter( 'pre_kses', 'wp_pre_kses_less_than' ); |
186 add_filter( 'sanitize_title', 'sanitize_title_with_dashes', 10, 3 ); |
211 add_filter( 'sanitize_title', 'sanitize_title_with_dashes', 10, 3 ); |
187 add_action( 'check_comment_flood', 'check_comment_flood_db', 10, 3 ); |
212 add_action( 'check_comment_flood', 'check_comment_flood_db', 10, 4 ); |
188 add_filter( 'comment_flood_filter', 'wp_throttle_comment_flood', 10, 3 ); |
213 add_filter( 'comment_flood_filter', 'wp_throttle_comment_flood', 10, 3 ); |
189 add_filter( 'pre_comment_content', 'wp_rel_nofollow', 15 ); |
214 add_filter( 'pre_comment_content', 'wp_rel_nofollow', 15 ); |
190 add_filter( 'comment_email', 'antispambot' ); |
215 add_filter( 'comment_email', 'antispambot' ); |
191 add_filter( 'option_tag_base', '_wp_filter_taxonomy_base' ); |
216 add_filter( 'option_tag_base', '_wp_filter_taxonomy_base' ); |
192 add_filter( 'option_category_base', '_wp_filter_taxonomy_base' ); |
217 add_filter( 'option_category_base', '_wp_filter_taxonomy_base' ); |
198 add_filter( 'nav_menu_meta_box_object', '_wp_nav_menu_meta_box_object' ); |
223 add_filter( 'nav_menu_meta_box_object', '_wp_nav_menu_meta_box_object' ); |
199 add_filter( 'pingback_ping_source_uri', 'pingback_ping_source_uri' ); |
224 add_filter( 'pingback_ping_source_uri', 'pingback_ping_source_uri' ); |
200 add_filter( 'xmlrpc_pingback_error', 'xmlrpc_pingback_error' ); |
225 add_filter( 'xmlrpc_pingback_error', 'xmlrpc_pingback_error' ); |
201 add_filter( 'title_save_pre', 'trim' ); |
226 add_filter( 'title_save_pre', 'trim' ); |
202 |
227 |
203 add_filter( 'http_request_host_is_external', 'allowed_http_request_hosts', 10, 2 ); |
228 add_action( 'transition_comment_status', '_clear_modified_cache_on_transition_comment_status', 10, 2 ); |
|
229 |
|
230 add_filter( 'http_request_host_is_external', 'allowed_http_request_hosts', 10, 2 ); |
|
231 |
|
232 // REST API filters. |
|
233 add_action( 'xmlrpc_rsd_apis', 'rest_output_rsd' ); |
|
234 add_action( 'wp_head', 'rest_output_link_wp_head', 10, 0 ); |
|
235 add_action( 'template_redirect', 'rest_output_link_header', 11, 0 ); |
|
236 add_action( 'auth_cookie_malformed', 'rest_cookie_collect_status' ); |
|
237 add_action( 'auth_cookie_expired', 'rest_cookie_collect_status' ); |
|
238 add_action( 'auth_cookie_bad_username', 'rest_cookie_collect_status' ); |
|
239 add_action( 'auth_cookie_bad_hash', 'rest_cookie_collect_status' ); |
|
240 add_action( 'auth_cookie_valid', 'rest_cookie_collect_status' ); |
|
241 add_filter( 'rest_authentication_errors', 'rest_cookie_check_errors', 100 ); |
204 |
242 |
205 // Actions |
243 // Actions |
206 add_action( 'wp_head', '_wp_render_title_tag', 1 ); |
244 add_action( 'wp_head', '_wp_render_title_tag', 1 ); |
207 add_action( 'wp_head', 'wp_enqueue_scripts', 1 ); |
245 add_action( 'wp_head', 'wp_enqueue_scripts', 1 ); |
|
246 add_action( 'wp_head', 'wp_resource_hints', 2 ); |
208 add_action( 'wp_head', 'feed_links', 2 ); |
247 add_action( 'wp_head', 'feed_links', 2 ); |
209 add_action( 'wp_head', 'feed_links_extra', 3 ); |
248 add_action( 'wp_head', 'feed_links_extra', 3 ); |
210 add_action( 'wp_head', 'rsd_link' ); |
249 add_action( 'wp_head', 'rsd_link' ); |
211 add_action( 'wp_head', 'wlwmanifest_link' ); |
250 add_action( 'wp_head', 'wlwmanifest_link' ); |
212 add_action( 'wp_head', 'adjacent_posts_rel_link_wp_head', 10, 0 ); |
251 add_action( 'wp_head', 'adjacent_posts_rel_link_wp_head', 10, 0 ); |
216 add_action( 'wp_head', 'print_emoji_detection_script', 7 ); |
255 add_action( 'wp_head', 'print_emoji_detection_script', 7 ); |
217 add_action( 'wp_head', 'wp_print_styles', 8 ); |
256 add_action( 'wp_head', 'wp_print_styles', 8 ); |
218 add_action( 'wp_head', 'wp_print_head_scripts', 9 ); |
257 add_action( 'wp_head', 'wp_print_head_scripts', 9 ); |
219 add_action( 'wp_head', 'wp_generator' ); |
258 add_action( 'wp_head', 'wp_generator' ); |
220 add_action( 'wp_head', 'rel_canonical' ); |
259 add_action( 'wp_head', 'rel_canonical' ); |
|
260 add_action( 'wp_head', 'wp_shortlink_wp_head', 10, 0 ); |
|
261 add_action( 'wp_head', 'wp_custom_css_cb', 101 ); |
|
262 add_action( 'wp_head', 'wp_site_icon', 99 ); |
221 add_action( 'wp_footer', 'wp_print_footer_scripts', 20 ); |
263 add_action( 'wp_footer', 'wp_print_footer_scripts', 20 ); |
222 add_action( 'wp_head', 'wp_shortlink_wp_head', 10, 0 ); |
|
223 add_action( 'template_redirect', 'wp_shortlink_header', 11, 0 ); |
264 add_action( 'template_redirect', 'wp_shortlink_header', 11, 0 ); |
224 add_action( 'wp_print_footer_scripts', '_wp_footer_scripts' ); |
265 add_action( 'wp_print_footer_scripts', '_wp_footer_scripts' ); |
225 add_action( 'init', 'check_theme_switched', 99 ); |
266 add_action( 'init', 'check_theme_switched', 99 ); |
|
267 add_action( 'after_switch_theme', '_wp_menus_changed' ); |
226 add_action( 'after_switch_theme', '_wp_sidebars_changed' ); |
268 add_action( 'after_switch_theme', '_wp_sidebars_changed' ); |
227 add_action( 'wp_print_styles', 'print_emoji_styles' ); |
269 add_action( 'wp_print_styles', 'print_emoji_styles' ); |
228 |
270 |
229 if ( isset( $_GET['replytocom'] ) ) |
271 if ( isset( $_GET['replytocom'] ) ) |
230 add_action( 'wp_head', 'wp_no_robots' ); |
272 add_action( 'wp_head', 'wp_no_robots' ); |
231 |
273 |
232 // Login actions |
274 // Login actions |
|
275 add_filter( 'login_head', 'wp_resource_hints', 8 ); |
233 add_action( 'login_head', 'wp_print_head_scripts', 9 ); |
276 add_action( 'login_head', 'wp_print_head_scripts', 9 ); |
|
277 add_action( 'login_head', 'print_admin_styles', 9 ); |
|
278 add_action( 'login_head', 'wp_site_icon', 99 ); |
234 add_action( 'login_footer', 'wp_print_footer_scripts', 20 ); |
279 add_action( 'login_footer', 'wp_print_footer_scripts', 20 ); |
235 add_action( 'login_init', 'send_frame_options_header', 10, 0 ); |
280 add_action( 'login_init', 'send_frame_options_header', 10, 0 ); |
236 |
281 |
237 // Feed Generator Tags |
282 // Feed Generator Tags |
238 foreach ( array( 'rss2_head', 'commentsrss2_head', 'rss_head', 'rdf_header', 'atom_head', 'comments_atom_head', 'opml_head', 'app_head' ) as $action ) { |
283 foreach ( array( 'rss2_head', 'commentsrss2_head', 'rss_head', 'rdf_header', 'atom_head', 'comments_atom_head', 'opml_head', 'app_head' ) as $action ) { |
239 add_action( $action, 'the_generator' ); |
284 add_action( $action, 'the_generator' ); |
240 } |
285 } |
|
286 |
|
287 // Feed Site Icon |
|
288 add_action( 'atom_head', 'atom_site_icon' ); |
|
289 add_action( 'rss2_head', 'rss2_site_icon' ); |
|
290 |
241 |
291 |
242 // WP Cron |
292 // WP Cron |
243 if ( !defined( 'DOING_CRON' ) ) |
293 if ( !defined( 'DOING_CRON' ) ) |
244 add_action( 'init', 'wp_cron' ); |
294 add_action( 'init', 'wp_cron' ); |
245 |
295 |
248 add_action( 'do_feed_rss', 'do_feed_rss', 10, 1 ); |
298 add_action( 'do_feed_rss', 'do_feed_rss', 10, 1 ); |
249 add_action( 'do_feed_rss2', 'do_feed_rss2', 10, 1 ); |
299 add_action( 'do_feed_rss2', 'do_feed_rss2', 10, 1 ); |
250 add_action( 'do_feed_atom', 'do_feed_atom', 10, 1 ); |
300 add_action( 'do_feed_atom', 'do_feed_atom', 10, 1 ); |
251 add_action( 'do_pings', 'do_all_pings', 10, 1 ); |
301 add_action( 'do_pings', 'do_all_pings', 10, 1 ); |
252 add_action( 'do_robots', 'do_robots' ); |
302 add_action( 'do_robots', 'do_robots' ); |
253 add_action( 'set_comment_cookies', 'wp_set_comment_cookies', 10, 2 ); |
303 add_action( 'set_comment_cookies', 'wp_set_comment_cookies', 10, 3 ); |
254 add_action( 'sanitize_comment_cookies', 'sanitize_comment_cookies' ); |
304 add_action( 'sanitize_comment_cookies', 'sanitize_comment_cookies' ); |
255 add_action( 'admin_print_scripts', 'print_emoji_detection_script' ); |
305 add_action( 'admin_print_scripts', 'print_emoji_detection_script' ); |
256 add_action( 'admin_print_scripts', 'print_head_scripts', 20 ); |
306 add_action( 'admin_print_scripts', 'print_head_scripts', 20 ); |
257 add_action( 'admin_print_footer_scripts', '_wp_footer_scripts' ); |
307 add_action( 'admin_print_footer_scripts', '_wp_footer_scripts' ); |
258 add_action( 'admin_print_styles', 'print_emoji_styles' ); |
308 add_action( 'admin_print_styles', 'print_emoji_styles' ); |
265 add_action( 'post_updated', 'wp_save_post_revision', 10, 1 ); |
315 add_action( 'post_updated', 'wp_save_post_revision', 10, 1 ); |
266 add_action( 'publish_post', '_publish_post_hook', 5, 1 ); |
316 add_action( 'publish_post', '_publish_post_hook', 5, 1 ); |
267 add_action( 'transition_post_status', '_transition_post_status', 5, 3 ); |
317 add_action( 'transition_post_status', '_transition_post_status', 5, 3 ); |
268 add_action( 'transition_post_status', '_update_term_count_on_transition_post_status', 10, 3 ); |
318 add_action( 'transition_post_status', '_update_term_count_on_transition_post_status', 10, 3 ); |
269 add_action( 'comment_form', 'wp_comment_form_unfiltered_html_nonce' ); |
319 add_action( 'comment_form', 'wp_comment_form_unfiltered_html_nonce' ); |
270 add_action( 'wp_scheduled_delete', 'wp_scheduled_delete' ); |
|
271 add_action( 'wp_scheduled_auto_draft_delete', 'wp_delete_auto_drafts' ); |
|
272 add_action( 'admin_init', 'send_frame_options_header', 10, 0 ); |
320 add_action( 'admin_init', 'send_frame_options_header', 10, 0 ); |
273 add_action( 'importer_scheduled_cleanup', 'wp_delete_attachment' ); |
321 add_action( 'try_gutenberg_panel', 'wp_try_gutenberg_panel' ); |
274 add_action( 'upgrader_scheduled_cleanup', 'wp_delete_attachment' ); |
|
275 add_action( 'welcome_panel', 'wp_welcome_panel' ); |
322 add_action( 'welcome_panel', 'wp_welcome_panel' ); |
|
323 |
|
324 // Privacy |
|
325 add_action( 'user_request_action_confirmed', '_wp_privacy_account_request_confirmed' ); |
|
326 add_action( 'user_request_action_confirmed', '_wp_privacy_send_request_confirmation_notification', 12 ); // After request marked as completed. |
|
327 add_filter( 'wp_privacy_personal_data_exporters', 'wp_register_comment_personal_data_exporter' ); |
|
328 add_filter( 'wp_privacy_personal_data_exporters', 'wp_register_media_personal_data_exporter' ); |
|
329 add_filter( 'wp_privacy_personal_data_exporters', 'wp_register_user_personal_data_exporter', 1 ); |
|
330 add_filter( 'wp_privacy_personal_data_erasers', 'wp_register_comment_personal_data_eraser' ); |
|
331 add_action( 'init', 'wp_schedule_delete_old_privacy_export_files' ); |
|
332 add_action( 'wp_privacy_delete_old_export_files', 'wp_privacy_delete_old_export_files' ); |
|
333 |
|
334 // Cron tasks |
|
335 add_action( 'wp_scheduled_delete', 'wp_scheduled_delete' ); |
|
336 add_action( 'wp_scheduled_auto_draft_delete', 'wp_delete_auto_drafts' ); |
|
337 add_action( 'importer_scheduled_cleanup', 'wp_delete_attachment' ); |
|
338 add_action( 'upgrader_scheduled_cleanup', 'wp_delete_attachment' ); |
|
339 add_action( 'delete_expired_transients', 'delete_expired_transients' ); |
276 |
340 |
277 // Navigation menu actions |
341 // Navigation menu actions |
278 add_action( 'delete_post', '_wp_delete_post_menu_item' ); |
342 add_action( 'delete_post', '_wp_delete_post_menu_item' ); |
279 add_action( 'delete_term', '_wp_delete_tax_menu_item', 10, 3 ); |
343 add_action( 'delete_term', '_wp_delete_tax_menu_item', 10, 3 ); |
280 add_action( 'transition_post_status', '_wp_auto_add_pages_to_menu', 10, 3 ); |
344 add_action( 'transition_post_status', '_wp_auto_add_pages_to_menu', 10, 3 ); |
|
345 add_action( 'delete_post', '_wp_delete_customize_changeset_dependent_auto_drafts' ); |
281 |
346 |
282 // Post Thumbnail CSS class filtering |
347 // Post Thumbnail CSS class filtering |
283 add_action( 'begin_fetch_post_thumbnail_html', '_wp_post_thumbnail_class_filter_add' ); |
348 add_action( 'begin_fetch_post_thumbnail_html', '_wp_post_thumbnail_class_filter_add' ); |
284 add_action( 'end_fetch_post_thumbnail_html', '_wp_post_thumbnail_class_filter_remove' ); |
349 add_action( 'end_fetch_post_thumbnail_html', '_wp_post_thumbnail_class_filter_remove' ); |
285 |
350 |
286 // Redirect Old Slugs |
351 // Redirect Old Slugs |
287 add_action( 'template_redirect', 'wp_old_slug_redirect' ); |
352 add_action( 'template_redirect', 'wp_old_slug_redirect' ); |
288 add_action( 'post_updated', 'wp_check_for_changed_slugs', 12, 3 ); |
353 add_action( 'post_updated', 'wp_check_for_changed_slugs', 12, 3 ); |
|
354 add_action( 'attachment_updated', 'wp_check_for_changed_slugs', 12, 3 ); |
|
355 |
|
356 // Redirect Old Dates |
|
357 add_action( 'post_updated', 'wp_check_for_changed_dates', 12, 3 ); |
|
358 add_action( 'attachment_updated', 'wp_check_for_changed_dates', 12, 3 ); |
289 |
359 |
290 // Nonce check for Post Previews |
360 // Nonce check for Post Previews |
291 add_action( 'init', '_show_post_preview' ); |
361 add_action( 'init', '_show_post_preview' ); |
|
362 |
|
363 // Output JS to reset window.name for previews |
|
364 add_action( 'wp_head', 'wp_post_preview_js', 1 ); |
292 |
365 |
293 // Timezone |
366 // Timezone |
294 add_filter( 'pre_option_gmt_offset','wp_timezone_override_offset' ); |
367 add_filter( 'pre_option_gmt_offset','wp_timezone_override_offset' ); |
295 |
368 |
296 // Admin Color Schemes |
369 // Admin Color Schemes |
311 add_filter( 'heartbeat_send', 'wp_auth_check' ); |
384 add_filter( 'heartbeat_send', 'wp_auth_check' ); |
312 add_filter( 'heartbeat_nopriv_send', 'wp_auth_check' ); |
385 add_filter( 'heartbeat_nopriv_send', 'wp_auth_check' ); |
313 |
386 |
314 // Default authentication filters |
387 // Default authentication filters |
315 add_filter( 'authenticate', 'wp_authenticate_username_password', 20, 3 ); |
388 add_filter( 'authenticate', 'wp_authenticate_username_password', 20, 3 ); |
|
389 add_filter( 'authenticate', 'wp_authenticate_email_password', 20, 3 ); |
316 add_filter( 'authenticate', 'wp_authenticate_spam_check', 99 ); |
390 add_filter( 'authenticate', 'wp_authenticate_spam_check', 99 ); |
317 add_filter( 'determine_current_user', 'wp_validate_auth_cookie' ); |
391 add_filter( 'determine_current_user', 'wp_validate_auth_cookie' ); |
318 add_filter( 'determine_current_user', 'wp_validate_logged_in_cookie', 20 ); |
392 add_filter( 'determine_current_user', 'wp_validate_logged_in_cookie', 20 ); |
319 |
393 |
320 // Split term updates. |
394 // Split term updates. |
|
395 add_action( 'admin_init', '_wp_check_for_scheduled_split_terms' ); |
321 add_action( 'split_shared_term', '_wp_check_split_default_terms', 10, 4 ); |
396 add_action( 'split_shared_term', '_wp_check_split_default_terms', 10, 4 ); |
322 add_action( 'split_shared_term', '_wp_check_split_terms_in_menus', 10, 4 ); |
397 add_action( 'split_shared_term', '_wp_check_split_terms_in_menus', 10, 4 ); |
|
398 add_action( 'split_shared_term', '_wp_check_split_nav_menu_terms', 10, 4 ); |
|
399 add_action( 'wp_split_shared_term_batch', '_wp_batch_split_terms' ); |
|
400 |
|
401 // Email notifications. |
|
402 add_action( 'comment_post', 'wp_new_comment_notify_moderator' ); |
|
403 add_action( 'comment_post', 'wp_new_comment_notify_postauthor' ); |
|
404 add_action( 'after_password_reset', 'wp_password_change_notification' ); |
|
405 add_action( 'register_new_user', 'wp_send_new_user_notifications' ); |
|
406 add_action( 'edit_user_created_user', 'wp_send_new_user_notifications', 10, 2 ); |
|
407 |
|
408 // REST API actions. |
|
409 add_action( 'init', 'rest_api_init' ); |
|
410 add_action( 'rest_api_init', 'rest_api_default_filters', 10, 1 ); |
|
411 add_action( 'rest_api_init', 'register_initial_settings', 10 ); |
|
412 add_action( 'rest_api_init', 'create_initial_rest_routes', 99 ); |
|
413 add_action( 'parse_request', 'rest_api_loaded' ); |
323 |
414 |
324 /** |
415 /** |
325 * Filters formerly mixed into wp-includes |
416 * Filters formerly mixed into wp-includes |
326 */ |
417 */ |
327 // Theme |
418 // Theme |
328 add_action( 'setup_theme', 'preview_theme' ); |
|
329 add_action( 'wp_loaded', '_custom_header_background_just_in_time' ); |
419 add_action( 'wp_loaded', '_custom_header_background_just_in_time' ); |
|
420 add_action( 'wp_head', '_custom_logo_header_styles' ); |
330 add_action( 'plugins_loaded', '_wp_customize_include' ); |
421 add_action( 'plugins_loaded', '_wp_customize_include' ); |
|
422 add_action( 'transition_post_status', '_wp_customize_publish_changeset', 10, 3 ); |
331 add_action( 'admin_enqueue_scripts', '_wp_customize_loader_settings' ); |
423 add_action( 'admin_enqueue_scripts', '_wp_customize_loader_settings' ); |
332 add_action( 'delete_attachment', '_delete_attachment_theme_mod' ); |
424 add_action( 'delete_attachment', '_delete_attachment_theme_mod' ); |
|
425 add_action( 'transition_post_status', '_wp_keep_alive_customize_changeset_dependent_auto_drafts', 20, 3 ); |
333 |
426 |
334 // Calendar widget cache |
427 // Calendar widget cache |
335 add_action( 'save_post', 'delete_get_calendar_cache' ); |
428 add_action( 'save_post', 'delete_get_calendar_cache' ); |
336 add_action( 'delete_post', 'delete_get_calendar_cache' ); |
429 add_action( 'delete_post', 'delete_get_calendar_cache' ); |
337 add_action( 'update_option_start_of_week', 'delete_get_calendar_cache' ); |
430 add_action( 'update_option_start_of_week', 'delete_get_calendar_cache' ); |
343 // Post |
436 // Post |
344 add_action( 'init', 'create_initial_post_types', 0 ); // highest priority |
437 add_action( 'init', 'create_initial_post_types', 0 ); // highest priority |
345 add_action( 'admin_menu', '_add_post_type_submenus' ); |
438 add_action( 'admin_menu', '_add_post_type_submenus' ); |
346 add_action( 'before_delete_post', '_reset_front_page_settings_for_post' ); |
439 add_action( 'before_delete_post', '_reset_front_page_settings_for_post' ); |
347 add_action( 'wp_trash_post', '_reset_front_page_settings_for_post' ); |
440 add_action( 'wp_trash_post', '_reset_front_page_settings_for_post' ); |
|
441 add_action( 'change_locale', 'create_initial_post_types' ); |
348 |
442 |
349 // Post Formats |
443 // Post Formats |
350 add_filter( 'request', '_post_format_request' ); |
444 add_filter( 'request', '_post_format_request' ); |
351 add_filter( 'term_link', '_post_format_link', 10, 3 ); |
445 add_filter( 'term_link', '_post_format_link', 10, 3 ); |
352 add_filter( 'get_post_format', '_post_format_get_term' ); |
446 add_filter( 'get_post_format', '_post_format_get_term' ); |
357 add_action( 'init', 'kses_init' ); |
451 add_action( 'init', 'kses_init' ); |
358 add_action( 'set_current_user', 'kses_init' ); |
452 add_action( 'set_current_user', 'kses_init' ); |
359 |
453 |
360 // Script Loader |
454 // Script Loader |
361 add_action( 'wp_default_scripts', 'wp_default_scripts' ); |
455 add_action( 'wp_default_scripts', 'wp_default_scripts' ); |
|
456 add_action( 'wp_enqueue_scripts', 'wp_localize_jquery_ui_datepicker', 1000 ); |
|
457 add_action( 'admin_enqueue_scripts', 'wp_localize_jquery_ui_datepicker', 1000 ); |
|
458 add_action( 'admin_print_scripts-index.php', 'wp_localize_community_events' ); |
362 add_filter( 'wp_print_scripts', 'wp_just_in_time_script_localization' ); |
459 add_filter( 'wp_print_scripts', 'wp_just_in_time_script_localization' ); |
363 add_filter( 'print_scripts_array', 'wp_prototype_before_jquery' ); |
460 add_filter( 'print_scripts_array', 'wp_prototype_before_jquery' ); |
|
461 add_filter( 'customize_controls_print_styles', 'wp_resource_hints', 1 ); |
364 |
462 |
365 add_action( 'wp_default_styles', 'wp_default_styles' ); |
463 add_action( 'wp_default_styles', 'wp_default_styles' ); |
366 add_filter( 'style_loader_src', 'wp_style_loader_src', 10, 2 ); |
464 add_filter( 'style_loader_src', 'wp_style_loader_src', 10, 2 ); |
367 |
465 |
368 // Taxonomy |
466 // Taxonomy |
369 add_action( 'init', 'create_initial_taxonomies', 0 ); // highest priority |
467 add_action( 'init', 'create_initial_taxonomies', 0 ); // highest priority |
|
468 add_action( 'change_locale', 'create_initial_taxonomies' ); |
370 |
469 |
371 // Canonical |
470 // Canonical |
372 add_action( 'template_redirect', 'redirect_canonical' ); |
471 add_action( 'template_redirect', 'redirect_canonical' ); |
373 add_action( 'template_redirect', 'wp_redirect_admin_locations', 1000 ); |
472 add_action( 'template_redirect', 'wp_redirect_admin_locations', 1000 ); |
374 |
473 |
379 add_action( 'wp_playlist_scripts', 'wp_playlist_scripts' ); |
478 add_action( 'wp_playlist_scripts', 'wp_playlist_scripts' ); |
380 add_action( 'customize_controls_enqueue_scripts', 'wp_plupload_default_settings' ); |
479 add_action( 'customize_controls_enqueue_scripts', 'wp_plupload_default_settings' ); |
381 |
480 |
382 // Nav menu |
481 // Nav menu |
383 add_filter( 'nav_menu_item_id', '_nav_menu_item_id_use_once', 10, 2 ); |
482 add_filter( 'nav_menu_item_id', '_nav_menu_item_id_use_once', 10, 2 ); |
|
483 |
|
484 // Widgets |
|
485 add_action( 'init', 'wp_widgets_init', 1 ); |
384 |
486 |
385 // Admin Bar |
487 // Admin Bar |
386 // Don't remove. Wrong way to disable. |
488 // Don't remove. Wrong way to disable. |
387 add_action( 'template_redirect', '_wp_admin_bar_init', 0 ); |
489 add_action( 'template_redirect', '_wp_admin_bar_init', 0 ); |
388 add_action( 'admin_init', '_wp_admin_bar_init' ); |
490 add_action( 'admin_init', '_wp_admin_bar_init' ); |
|
491 add_action( 'before_signup_header', '_wp_admin_bar_init' ); |
|
492 add_action( 'activate_header', '_wp_admin_bar_init' ); |
389 add_action( 'wp_footer', 'wp_admin_bar_render', 1000 ); |
493 add_action( 'wp_footer', 'wp_admin_bar_render', 1000 ); |
390 add_action( 'in_admin_header', 'wp_admin_bar_render', 0 ); |
494 add_action( 'in_admin_header', 'wp_admin_bar_render', 0 ); |
391 |
495 |
|
496 // Former admin filters that can also be hooked on the front end |
|
497 add_action( 'media_buttons', 'media_buttons' ); |
|
498 add_filter( 'image_send_to_editor', 'image_add_caption', 20, 8 ); |
|
499 add_filter( 'media_send_to_editor', 'image_media_send_to_editor', 10, 3 ); |
|
500 |
|
501 // Embeds |
|
502 add_action( 'rest_api_init', 'wp_oembed_register_route' ); |
|
503 add_filter( 'rest_pre_serve_request', '_oembed_rest_pre_serve_request', 10, 4 ); |
|
504 |
|
505 add_action( 'wp_head', 'wp_oembed_add_discovery_links' ); |
|
506 add_action( 'wp_head', 'wp_oembed_add_host_js' ); |
|
507 |
|
508 add_action( 'embed_head', 'enqueue_embed_scripts', 1 ); |
|
509 add_action( 'embed_head', 'print_emoji_detection_script' ); |
|
510 add_action( 'embed_head', 'print_embed_styles' ); |
|
511 add_action( 'embed_head', 'wp_print_head_scripts', 20 ); |
|
512 add_action( 'embed_head', 'wp_print_styles', 20 ); |
|
513 add_action( 'embed_head', 'wp_no_robots' ); |
|
514 add_action( 'embed_head', 'rel_canonical' ); |
|
515 add_action( 'embed_head', 'locale_stylesheet', 30 ); |
|
516 |
|
517 add_action( 'embed_content_meta', 'print_embed_comments_button' ); |
|
518 add_action( 'embed_content_meta', 'print_embed_sharing_button' ); |
|
519 |
|
520 add_action( 'embed_footer', 'print_embed_sharing_dialog' ); |
|
521 add_action( 'embed_footer', 'print_embed_scripts' ); |
|
522 add_action( 'embed_footer', 'wp_print_footer_scripts', 20 ); |
|
523 |
|
524 add_filter( 'excerpt_more', 'wp_embed_excerpt_more', 20 ); |
|
525 add_filter( 'the_excerpt_embed', 'wptexturize' ); |
|
526 add_filter( 'the_excerpt_embed', 'convert_chars' ); |
|
527 add_filter( 'the_excerpt_embed', 'wpautop' ); |
|
528 add_filter( 'the_excerpt_embed', 'shortcode_unautop' ); |
|
529 add_filter( 'the_excerpt_embed', 'wp_embed_excerpt_attachment' ); |
|
530 |
|
531 add_filter( 'oembed_dataparse', 'wp_filter_oembed_result', 10, 3 ); |
|
532 add_filter( 'oembed_response_data', 'get_oembed_response_data_rich', 10, 4 ); |
|
533 add_filter( 'pre_oembed_result', 'wp_filter_pre_oembed_result', 10, 3 ); |
|
534 |
|
535 // Capabilities |
|
536 add_filter( 'user_has_cap', 'wp_maybe_grant_install_languages_cap', 1 ); |
|
537 |
392 unset( $filter, $action ); |
538 unset( $filter, $action ); |