wp/wp-includes/default-filters.php
changeset 9 177826044cd9
parent 7 cf61fcea0001
child 16 a86126ab1dd4
equal deleted inserted replaced
8:c7c34916027a 9:177826044cd9
    12  * @package WordPress
    12  * @package WordPress
    13  */
    13  */
    14 
    14 
    15 // Strip, trim, kses, special chars for string saves
    15 // Strip, trim, kses, special chars for string saves
    16 foreach ( array( 'pre_term_name', 'pre_comment_author_name', 'pre_link_name', 'pre_link_target', 'pre_link_rel', 'pre_user_display_name', 'pre_user_first_name', 'pre_user_last_name', 'pre_user_nickname' ) as $filter ) {
    16 foreach ( array( 'pre_term_name', 'pre_comment_author_name', 'pre_link_name', 'pre_link_target', 'pre_link_rel', 'pre_user_display_name', 'pre_user_first_name', 'pre_user_last_name', 'pre_user_nickname' ) as $filter ) {
    17 	add_filter( $filter, 'sanitize_text_field'  );
    17 	add_filter( $filter, 'sanitize_text_field' );
    18 	add_filter( $filter, 'wp_filter_kses'       );
    18 	add_filter( $filter, 'wp_filter_kses' );
    19 	add_filter( $filter, '_wp_specialchars', 30 );
    19 	add_filter( $filter, '_wp_specialchars', 30 );
    20 }
    20 }
    21 
    21 
    22 // Strip, kses, special chars for string display
    22 // Strip, kses, special chars for string display
    23 foreach ( array( 'term_name', 'comment_author_name', 'link_name', 'link_target', 'link_rel', 'user_display_name', 'user_first_name', 'user_last_name', 'user_nickname' ) as $filter ) {
    23 foreach ( array( 'term_name', 'comment_author_name', 'link_name', 'link_target', 'link_rel', 'user_display_name', 'user_first_name', 'user_last_name', 'user_nickname' ) as $filter ) {
    24 	if ( is_admin() ) {
    24 	if ( is_admin() ) {
    25 		// These are expensive. Run only on admin pages for defense in depth.
    25 		// These are expensive. Run only on admin pages for defense in depth.
    26 		add_filter( $filter, 'sanitize_text_field'  );
    26 		add_filter( $filter, 'sanitize_text_field' );
    27 		add_filter( $filter, 'wp_kses_data'       );
    27 		add_filter( $filter, 'wp_kses_data' );
    28 	}
    28 	}
    29 	add_filter( $filter, '_wp_specialchars', 30 );
    29 	add_filter( $filter, '_wp_specialchars', 30 );
    30 }
    30 }
    31 
    31 
    32 // Kses only for textarea saves
    32 // Kses only for textarea saves
    42 	add_filter( 'comment_text', 'wp_kses_post' );
    42 	add_filter( 'comment_text', 'wp_kses_post' );
    43 }
    43 }
    44 
    44 
    45 // Email saves
    45 // Email saves
    46 foreach ( array( 'pre_comment_author_email', 'pre_user_email' ) as $filter ) {
    46 foreach ( array( 'pre_comment_author_email', 'pre_user_email' ) as $filter ) {
    47 	add_filter( $filter, 'trim'           );
    47 	add_filter( $filter, 'trim' );
    48 	add_filter( $filter, 'sanitize_email' );
    48 	add_filter( $filter, 'sanitize_email' );
    49 	add_filter( $filter, 'wp_filter_kses' );
    49 	add_filter( $filter, 'wp_filter_kses' );
    50 }
    50 }
    51 
    51 
    52 // Email admin display
    52 // Email admin display
    53 foreach ( array( 'comment_author_email', 'user_email' ) as $filter ) {
    53 foreach ( array( 'comment_author_email', 'user_email' ) as $filter ) {
    54 	add_filter( $filter, 'sanitize_email' );
    54 	add_filter( $filter, 'sanitize_email' );
    55 	if ( is_admin() )
    55 	if ( is_admin() ) {
    56 		add_filter( $filter, 'wp_kses_data' );
    56 		add_filter( $filter, 'wp_kses_data' );
       
    57 	}
    57 }
    58 }
    58 
    59 
    59 // Save URL
    60 // Save URL
    60 foreach ( array( 'pre_comment_author_url', 'pre_user_url', 'pre_link_url', 'pre_link_image',
    61 foreach ( array(
    61 	'pre_link_rss', 'pre_post_guid' ) as $filter ) {
    62 	'pre_comment_author_url',
       
    63 	'pre_user_url',
       
    64 	'pre_link_url',
       
    65 	'pre_link_image',
       
    66 	'pre_link_rss',
       
    67 	'pre_post_guid',
       
    68 ) as $filter ) {
    62 	add_filter( $filter, 'wp_strip_all_tags' );
    69 	add_filter( $filter, 'wp_strip_all_tags' );
    63 	add_filter( $filter, 'esc_url_raw'       );
    70 	add_filter( $filter, 'esc_url_raw' );
    64 	add_filter( $filter, 'wp_filter_kses'    );
    71 	add_filter( $filter, 'wp_filter_kses' );
    65 }
    72 }
    66 
    73 
    67 // Display URL
    74 // Display URL
    68 foreach ( array( 'user_url', 'link_url', 'link_image', 'link_rss', 'comment_url', 'post_guid' ) as $filter ) {
    75 foreach ( array( 'user_url', 'link_url', 'link_image', 'link_rss', 'comment_url', 'post_guid' ) as $filter ) {
    69 	if ( is_admin() )
    76 	if ( is_admin() ) {
    70 		add_filter( $filter, 'wp_strip_all_tags' );
    77 		add_filter( $filter, 'wp_strip_all_tags' );
    71 	add_filter( $filter, 'esc_url'           );
    78 	}
    72 	if ( is_admin() )
    79 	add_filter( $filter, 'esc_url' );
    73 		add_filter( $filter, 'wp_kses_data'    );
    80 	if ( is_admin() ) {
       
    81 		add_filter( $filter, 'wp_kses_data' );
       
    82 	}
    74 }
    83 }
    75 
    84 
    76 // Slugs
    85 // Slugs
    77 add_filter( 'pre_term_slug', 'sanitize_title' );
    86 add_filter( 'pre_term_slug', 'sanitize_title' );
    78 add_filter( 'wp_insert_post_data', '_wp_customize_changeset_filter_insert_post_data', 10, 2 );
    87 add_filter( 'wp_insert_post_data', '_wp_customize_changeset_filter_insert_post_data', 10, 2 );
    86 add_filter( 'pre_post_mime_type', 'sanitize_mime_type' );
    95 add_filter( 'pre_post_mime_type', 'sanitize_mime_type' );
    87 add_filter( 'post_mime_type', 'sanitize_mime_type' );
    96 add_filter( 'post_mime_type', 'sanitize_mime_type' );
    88 
    97 
    89 // Meta
    98 // Meta
    90 add_filter( 'register_meta_args', '_wp_register_meta_args_whitelist', 10, 2 );
    99 add_filter( 'register_meta_args', '_wp_register_meta_args_whitelist', 10, 2 );
       
   100 
       
   101 // Post meta
       
   102 add_action( 'added_post_meta', 'wp_cache_set_posts_last_changed' );
       
   103 add_action( 'updated_post_meta', 'wp_cache_set_posts_last_changed' );
       
   104 add_action( 'deleted_post_meta', 'wp_cache_set_posts_last_changed' );
       
   105 
       
   106 // Term meta
       
   107 add_action( 'added_term_meta', 'wp_cache_set_terms_last_changed' );
       
   108 add_action( 'updated_term_meta', 'wp_cache_set_terms_last_changed' );
       
   109 add_action( 'deleted_term_meta', 'wp_cache_set_terms_last_changed' );
       
   110 add_filter( 'get_term_metadata', 'wp_check_term_meta_support_prefilter' );
       
   111 add_filter( 'add_term_metadata', 'wp_check_term_meta_support_prefilter' );
       
   112 add_filter( 'update_term_metadata', 'wp_check_term_meta_support_prefilter' );
       
   113 add_filter( 'delete_term_metadata', 'wp_check_term_meta_support_prefilter' );
       
   114 add_filter( 'get_term_metadata_by_mid', 'wp_check_term_meta_support_prefilter' );
       
   115 add_filter( 'update_term_metadata_by_mid', 'wp_check_term_meta_support_prefilter' );
       
   116 add_filter( 'delete_term_metadata_by_mid', 'wp_check_term_meta_support_prefilter' );
       
   117 add_filter( 'update_term_metadata_cache', 'wp_check_term_meta_support_prefilter' );
       
   118 
       
   119 // Comment meta
       
   120 add_action( 'added_comment_meta', 'wp_cache_set_comments_last_changed' );
       
   121 add_action( 'updated_comment_meta', 'wp_cache_set_comments_last_changed' );
       
   122 add_action( 'deleted_comment_meta', 'wp_cache_set_comments_last_changed' );
    91 
   123 
    92 // Places to balance tags on input
   124 // Places to balance tags on input
    93 foreach ( array( 'content_save_pre', 'excerpt_save_pre', 'comment_save_pre', 'pre_comment_content' ) as $filter ) {
   125 foreach ( array( 'content_save_pre', 'excerpt_save_pre', 'comment_save_pre', 'pre_comment_content' ) as $filter ) {
    94 	add_filter( $filter, 'convert_invalid_entities' );
   126 	add_filter( $filter, 'convert_invalid_entities' );
    95 	add_filter( $filter, 'balanceTags', 50 );
   127 	add_filter( $filter, 'balanceTags', 50 );
    96 }
   128 }
    97 
   129 
       
   130 // Add proper rel values for links with target.
       
   131 add_action( 'init', 'wp_init_targeted_link_rel_filters' );
       
   132 
    98 // Format strings for display.
   133 // Format strings for display.
    99 foreach ( array( 'comment_author', 'term_name', 'link_name', 'link_description', 'link_notes', 'bloginfo', 'wp_title', 'widget_title' ) as $filter ) {
   134 foreach ( array( 'comment_author', 'term_name', 'link_name', 'link_description', 'link_notes', 'bloginfo', 'wp_title', 'widget_title' ) as $filter ) {
   100 	add_filter( $filter, 'wptexturize'   );
   135 	add_filter( $filter, 'wptexturize' );
   101 	add_filter( $filter, 'convert_chars' );
   136 	add_filter( $filter, 'convert_chars' );
   102 	add_filter( $filter, 'esc_html'      );
   137 	add_filter( $filter, 'esc_html' );
   103 }
   138 }
   104 
   139 
   105 // Format WordPress
   140 // Format WordPress
   106 foreach ( array( 'the_content', 'the_title', 'wp_title' ) as $filter )
   141 foreach ( array( 'the_content', 'the_title', 'wp_title' ) as $filter ) {
   107 	add_filter( $filter, 'capital_P_dangit', 11 );
   142 	add_filter( $filter, 'capital_P_dangit', 11 );
       
   143 }
   108 add_filter( 'comment_text', 'capital_P_dangit', 31 );
   144 add_filter( 'comment_text', 'capital_P_dangit', 31 );
   109 
   145 
   110 // Format titles
   146 // Format titles
   111 foreach ( array( 'single_post_title', 'single_cat_title', 'single_tag_title', 'single_month_title', 'nav_menu_attr_title', 'nav_menu_description' ) as $filter ) {
   147 foreach ( array( 'single_post_title', 'single_cat_title', 'single_tag_title', 'single_month_title', 'nav_menu_attr_title', 'nav_menu_description' ) as $filter ) {
   112 	add_filter( $filter, 'wptexturize' );
   148 	add_filter( $filter, 'wptexturize' );
   113 	add_filter( $filter, 'strip_tags'  );
   149 	add_filter( $filter, 'strip_tags' );
   114 }
   150 }
   115 
   151 
   116 // Format text area for display.
   152 // Format text area for display.
   117 foreach ( array( 'term_description', 'get_the_post_type_description' ) as $filter ) {
   153 foreach ( array( 'term_description', 'get_the_post_type_description' ) as $filter ) {
   118 	add_filter( $filter, 'wptexturize'      );
   154 	add_filter( $filter, 'wptexturize' );
   119 	add_filter( $filter, 'convert_chars'    );
   155 	add_filter( $filter, 'convert_chars' );
   120 	add_filter( $filter, 'wpautop'          );
   156 	add_filter( $filter, 'wpautop' );
   121 	add_filter( $filter, 'shortcode_unautop');
   157 	add_filter( $filter, 'shortcode_unautop' );
   122 }
   158 }
   123 
   159 
   124 // Format for RSS
   160 // Format for RSS
   125 add_filter( 'term_name_rss', 'convert_chars' );
   161 add_filter( 'term_name_rss', 'convert_chars' );
   126 
   162 
   127 // Pre save hierarchy
   163 // Pre save hierarchy
   128 add_filter( 'wp_insert_post_parent', 'wp_check_post_hierarchy_for_loops', 10, 2 );
   164 add_filter( 'wp_insert_post_parent', 'wp_check_post_hierarchy_for_loops', 10, 2 );
   129 add_filter( 'wp_update_term_parent', 'wp_check_term_hierarchy_for_loops', 10, 3 );
   165 add_filter( 'wp_update_term_parent', 'wp_check_term_hierarchy_for_loops', 10, 3 );
   130 
   166 
   131 // Display filters
   167 // Display filters
   132 add_filter( 'the_title', 'wptexturize'   );
   168 add_filter( 'the_title', 'wptexturize' );
   133 add_filter( 'the_title', 'convert_chars' );
   169 add_filter( 'the_title', 'convert_chars' );
   134 add_filter( 'the_title', 'trim'          );
   170 add_filter( 'the_title', 'trim' );
   135 
   171 
   136 add_filter( 'the_content', 'wptexturize'                       );
   172 add_filter( 'the_content', 'do_blocks', 9 );
   137 add_filter( 'the_content', 'convert_smilies',               20 );
   173 add_filter( 'the_content', 'wptexturize' );
   138 add_filter( 'the_content', 'wpautop'                           );
   174 add_filter( 'the_content', 'convert_smilies', 20 );
   139 add_filter( 'the_content', 'shortcode_unautop'                 );
   175 add_filter( 'the_content', 'wpautop' );
   140 add_filter( 'the_content', 'prepend_attachment'                );
   176 add_filter( 'the_content', 'shortcode_unautop' );
       
   177 add_filter( 'the_content', 'prepend_attachment' );
   141 add_filter( 'the_content', 'wp_make_content_images_responsive' );
   178 add_filter( 'the_content', 'wp_make_content_images_responsive' );
   142 
   179 
   143 add_filter( 'the_excerpt',     'wptexturize'      );
   180 add_filter( 'the_excerpt', 'wptexturize' );
   144 add_filter( 'the_excerpt',     'convert_smilies'  );
   181 add_filter( 'the_excerpt', 'convert_smilies' );
   145 add_filter( 'the_excerpt',     'convert_chars'    );
   182 add_filter( 'the_excerpt', 'convert_chars' );
   146 add_filter( 'the_excerpt',     'wpautop'          );
   183 add_filter( 'the_excerpt', 'wpautop' );
   147 add_filter( 'the_excerpt',     'shortcode_unautop');
   184 add_filter( 'the_excerpt', 'shortcode_unautop' );
   148 add_filter( 'get_the_excerpt', 'wp_trim_excerpt'  );
   185 add_filter( 'get_the_excerpt', 'wp_trim_excerpt', 10, 2 );
   149 
   186 
   150 add_filter( 'the_post_thumbnail_caption', 'wptexturize'     );
   187 add_filter( 'the_post_thumbnail_caption', 'wptexturize' );
   151 add_filter( 'the_post_thumbnail_caption', 'convert_smilies' );
   188 add_filter( 'the_post_thumbnail_caption', 'convert_smilies' );
   152 add_filter( 'the_post_thumbnail_caption', 'convert_chars'   );
   189 add_filter( 'the_post_thumbnail_caption', 'convert_chars' );
   153 
   190 
   154 add_filter( 'comment_text', 'wptexturize'            );
   191 add_filter( 'comment_text', 'wptexturize' );
   155 add_filter( 'comment_text', 'convert_chars'          );
   192 add_filter( 'comment_text', 'convert_chars' );
   156 add_filter( 'comment_text', 'make_clickable',      9 );
   193 add_filter( 'comment_text', 'make_clickable', 9 );
   157 add_filter( 'comment_text', 'force_balance_tags', 25 );
   194 add_filter( 'comment_text', 'force_balance_tags', 25 );
   158 add_filter( 'comment_text', 'convert_smilies',    20 );
   195 add_filter( 'comment_text', 'convert_smilies', 20 );
   159 add_filter( 'comment_text', 'wpautop',            30 );
   196 add_filter( 'comment_text', 'wpautop', 30 );
   160 
   197 
   161 add_filter( 'comment_excerpt', 'convert_chars' );
   198 add_filter( 'comment_excerpt', 'convert_chars' );
   162 
   199 
   163 add_filter( 'list_cats',         'wptexturize' );
   200 add_filter( 'list_cats', 'wptexturize' );
   164 
   201 
   165 add_filter( 'wp_sprintf', 'wp_sprintf_l', 10, 2 );
   202 add_filter( 'wp_sprintf', 'wp_sprintf_l', 10, 2 );
   166 
   203 
   167 add_filter( 'widget_text',         'balanceTags'          );
   204 add_filter( 'widget_text', 'balanceTags' );
   168 add_filter( 'widget_text_content', 'capital_P_dangit', 11 );
   205 add_filter( 'widget_text_content', 'capital_P_dangit', 11 );
   169 add_filter( 'widget_text_content', 'wptexturize'          );
   206 add_filter( 'widget_text_content', 'wptexturize' );
   170 add_filter( 'widget_text_content', 'convert_smilies',  20 );
   207 add_filter( 'widget_text_content', 'convert_smilies', 20 );
   171 add_filter( 'widget_text_content', 'wpautop'              );
   208 add_filter( 'widget_text_content', 'wpautop' );
   172 add_filter( 'widget_text_content', 'shortcode_unautop'    );
   209 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.
   210 add_filter( 'widget_text_content', 'do_shortcode', 11 ); // Runs after wpautop(); note that $post global will be null when shortcodes run.
   174 
   211 
   175 add_filter( 'date_i18n', 'wp_maybe_decline_date' );
   212 add_filter( 'date_i18n', 'wp_maybe_decline_date' );
   176 
   213 
   177 // RSS filters
   214 // RSS filters
   178 add_filter( 'the_title_rss',      'strip_tags'                    );
   215 add_filter( 'the_title_rss', 'strip_tags' );
   179 add_filter( 'the_title_rss',      'ent2ncr',                    8 );
   216 add_filter( 'the_title_rss', 'ent2ncr', 8 );
   180 add_filter( 'the_title_rss',      'esc_html'                      );
   217 add_filter( 'the_title_rss', 'esc_html' );
   181 add_filter( 'the_content_rss',    'ent2ncr',                    8 );
   218 add_filter( 'the_content_rss', 'ent2ncr', 8 );
   182 add_filter( 'the_content_feed',   'wp_staticize_emoji'            );
   219 add_filter( 'the_content_feed', 'wp_staticize_emoji' );
   183 add_filter( 'the_content_feed',   '_oembed_filter_feed_content'   );
   220 add_filter( 'the_content_feed', '_oembed_filter_feed_content' );
   184 add_filter( 'the_excerpt_rss',    'convert_chars'                 );
   221 add_filter( 'the_excerpt_rss', 'convert_chars' );
   185 add_filter( 'the_excerpt_rss',    'ent2ncr',                    8 );
   222 add_filter( 'the_excerpt_rss', 'ent2ncr', 8 );
   186 add_filter( 'comment_author_rss', 'ent2ncr',                    8 );
   223 add_filter( 'comment_author_rss', 'ent2ncr', 8 );
   187 add_filter( 'comment_text_rss',   'ent2ncr',                    8 );
   224 add_filter( 'comment_text_rss', 'ent2ncr', 8 );
   188 add_filter( 'comment_text_rss',   'esc_html'                      );
   225 add_filter( 'comment_text_rss', 'esc_html' );
   189 add_filter( 'comment_text_rss',   'wp_staticize_emoji'            );
   226 add_filter( 'comment_text_rss', 'wp_staticize_emoji' );
   190 add_filter( 'bloginfo_rss',       'ent2ncr',                    8 );
   227 add_filter( 'bloginfo_rss', 'ent2ncr', 8 );
   191 add_filter( 'the_author',         'ent2ncr',                    8 );
   228 add_filter( 'the_author', 'ent2ncr', 8 );
   192 add_filter( 'the_guid',           'esc_url'                       );
   229 add_filter( 'the_guid', 'esc_url' );
   193 
   230 
   194 // Email filters
   231 // Email filters
   195 add_filter( 'wp_mail', 'wp_staticize_emoji_for_email' );
   232 add_filter( 'wp_mail', 'wp_staticize_emoji_for_email' );
   196 
   233 
   197 // Mark site as no longer fresh
   234 // 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 ) {
   235 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 );
   236 	add_action( $action, '_delete_option_fresh_site', 0 );
   200 }
   237 }
   201 
   238 
   202 // Misc filters
   239 // Misc filters
   203 add_filter( 'option_ping_sites',        'privacy_ping_filter'                 );
   240 add_filter( 'option_ping_sites', 'privacy_ping_filter' );
   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
   241 add_filter( 'option_blog_charset', '_wp_specialchars' ); // IMPORTANT: This must not be wp_specialchars() or esc_html() or it'll cause an infinite loop
   205 add_filter( 'option_blog_charset',      '_canonical_charset'                  );
   242 add_filter( 'option_blog_charset', '_canonical_charset' );
   206 add_filter( 'option_home',              '_config_wp_home'                     );
   243 add_filter( 'option_home', '_config_wp_home' );
   207 add_filter( 'option_siteurl',           '_config_wp_siteurl'                  );
   244 add_filter( 'option_siteurl', '_config_wp_siteurl' );
   208 add_filter( 'tiny_mce_before_init',     '_mce_set_direction'                  );
   245 add_filter( 'tiny_mce_before_init', '_mce_set_direction' );
   209 add_filter( 'teeny_mce_before_init',    '_mce_set_direction'                  );
   246 add_filter( 'teeny_mce_before_init', '_mce_set_direction' );
   210 add_filter( 'pre_kses',                 'wp_pre_kses_less_than'               );
   247 add_filter( 'pre_kses', 'wp_pre_kses_less_than' );
   211 add_filter( 'sanitize_title',           'sanitize_title_with_dashes',   10, 3 );
   248 add_filter( 'sanitize_title', 'sanitize_title_with_dashes', 10, 3 );
   212 add_action( 'check_comment_flood',      'check_comment_flood_db',       10, 4 );
   249 add_action( 'check_comment_flood', 'check_comment_flood_db', 10, 4 );
   213 add_filter( 'comment_flood_filter',     'wp_throttle_comment_flood',    10, 3 );
   250 add_filter( 'comment_flood_filter', 'wp_throttle_comment_flood', 10, 3 );
   214 add_filter( 'pre_comment_content',      'wp_rel_nofollow',              15    );
   251 add_filter( 'pre_comment_content', 'wp_rel_nofollow', 15 );
   215 add_filter( 'comment_email',            'antispambot'                         );
   252 add_filter( 'comment_email', 'antispambot' );
   216 add_filter( 'option_tag_base',          '_wp_filter_taxonomy_base'            );
   253 add_filter( 'option_tag_base', '_wp_filter_taxonomy_base' );
   217 add_filter( 'option_category_base',     '_wp_filter_taxonomy_base'            );
   254 add_filter( 'option_category_base', '_wp_filter_taxonomy_base' );
   218 add_filter( 'the_posts',                '_close_comments_for_old_posts', 10, 2);
   255 add_filter( 'the_posts', '_close_comments_for_old_posts', 10, 2 );
   219 add_filter( 'comments_open',            '_close_comments_for_old_post', 10, 2 );
   256 add_filter( 'comments_open', '_close_comments_for_old_post', 10, 2 );
   220 add_filter( 'pings_open',               '_close_comments_for_old_post', 10, 2 );
   257 add_filter( 'pings_open', '_close_comments_for_old_post', 10, 2 );
   221 add_filter( 'editable_slug',            'urldecode'                           );
   258 add_filter( 'editable_slug', 'urldecode' );
   222 add_filter( 'editable_slug',            'esc_textarea'                        );
   259 add_filter( 'editable_slug', 'esc_textarea' );
   223 add_filter( 'nav_menu_meta_box_object', '_wp_nav_menu_meta_box_object'        );
   260 add_filter( 'nav_menu_meta_box_object', '_wp_nav_menu_meta_box_object' );
   224 add_filter( 'pingback_ping_source_uri', 'pingback_ping_source_uri'            );
   261 add_filter( 'pingback_ping_source_uri', 'pingback_ping_source_uri' );
   225 add_filter( 'xmlrpc_pingback_error',    'xmlrpc_pingback_error'               );
   262 add_filter( 'xmlrpc_pingback_error', 'xmlrpc_pingback_error' );
   226 add_filter( 'title_save_pre',           'trim'                                );
   263 add_filter( 'title_save_pre', 'trim' );
   227 
   264 
   228 add_action( 'transition_comment_status', '_clear_modified_cache_on_transition_comment_status', 10, 2 );
   265 add_action( 'transition_comment_status', '_clear_modified_cache_on_transition_comment_status', 10, 2 );
   229 
   266 
   230 add_filter( 'http_request_host_is_external',    'allowed_http_request_hosts', 10, 2 );
   267 add_filter( 'http_request_host_is_external', 'allowed_http_request_hosts', 10, 2 );
   231 
   268 
   232 // REST API filters.
   269 // REST API filters.
   233 add_action( 'xmlrpc_rsd_apis',            'rest_output_rsd' );
   270 add_action( 'xmlrpc_rsd_apis', 'rest_output_rsd' );
   234 add_action( 'wp_head',                    'rest_output_link_wp_head', 10, 0 );
   271 add_action( 'wp_head', 'rest_output_link_wp_head', 10, 0 );
   235 add_action( 'template_redirect',          'rest_output_link_header', 11, 0 );
   272 add_action( 'template_redirect', 'rest_output_link_header', 11, 0 );
   236 add_action( 'auth_cookie_malformed',      'rest_cookie_collect_status' );
   273 add_action( 'auth_cookie_malformed', 'rest_cookie_collect_status' );
   237 add_action( 'auth_cookie_expired',        'rest_cookie_collect_status' );
   274 add_action( 'auth_cookie_expired', 'rest_cookie_collect_status' );
   238 add_action( 'auth_cookie_bad_username',   'rest_cookie_collect_status' );
   275 add_action( 'auth_cookie_bad_username', 'rest_cookie_collect_status' );
   239 add_action( 'auth_cookie_bad_hash',       'rest_cookie_collect_status' );
   276 add_action( 'auth_cookie_bad_hash', 'rest_cookie_collect_status' );
   240 add_action( 'auth_cookie_valid',          'rest_cookie_collect_status' );
   277 add_action( 'auth_cookie_valid', 'rest_cookie_collect_status' );
   241 add_filter( 'rest_authentication_errors', 'rest_cookie_check_errors', 100 );
   278 add_filter( 'rest_authentication_errors', 'rest_cookie_check_errors', 100 );
   242 
   279 
   243 // Actions
   280 // Actions
   244 add_action( 'wp_head',             '_wp_render_title_tag',            1     );
   281 add_action( 'wp_head', '_wp_render_title_tag', 1 );
   245 add_action( 'wp_head',             'wp_enqueue_scripts',              1     );
   282 add_action( 'wp_head', 'wp_enqueue_scripts', 1 );
   246 add_action( 'wp_head',             'wp_resource_hints',               2     );
   283 add_action( 'wp_head', 'wp_resource_hints', 2 );
   247 add_action( 'wp_head',             'feed_links',                      2     );
   284 add_action( 'wp_head', 'feed_links', 2 );
   248 add_action( 'wp_head',             'feed_links_extra',                3     );
   285 add_action( 'wp_head', 'feed_links_extra', 3 );
   249 add_action( 'wp_head',             'rsd_link'                               );
   286 add_action( 'wp_head', 'rsd_link' );
   250 add_action( 'wp_head',             'wlwmanifest_link'                       );
   287 add_action( 'wp_head', 'wlwmanifest_link' );
   251 add_action( 'wp_head',             'adjacent_posts_rel_link_wp_head', 10, 0 );
   288 add_action( 'wp_head', 'adjacent_posts_rel_link_wp_head', 10, 0 );
   252 add_action( 'wp_head',             'locale_stylesheet'                      );
   289 add_action( 'wp_head', 'locale_stylesheet' );
   253 add_action( 'publish_future_post', 'check_and_publish_future_post',   10, 1 );
   290 add_action( 'publish_future_post', 'check_and_publish_future_post', 10, 1 );
   254 add_action( 'wp_head',             'noindex',                          1    );
   291 add_action( 'wp_head', 'noindex', 1 );
   255 add_action( 'wp_head',             'print_emoji_detection_script',     7    );
   292 add_action( 'wp_head', 'print_emoji_detection_script', 7 );
   256 add_action( 'wp_head',             'wp_print_styles',                  8    );
   293 add_action( 'wp_head', 'wp_print_styles', 8 );
   257 add_action( 'wp_head',             'wp_print_head_scripts',            9    );
   294 add_action( 'wp_head', 'wp_print_head_scripts', 9 );
   258 add_action( 'wp_head',             'wp_generator'                           );
   295 add_action( 'wp_head', 'wp_generator' );
   259 add_action( 'wp_head',             'rel_canonical'                          );
   296 add_action( 'wp_head', 'rel_canonical' );
   260 add_action( 'wp_head',             'wp_shortlink_wp_head',            10, 0 );
   297 add_action( 'wp_head', 'wp_shortlink_wp_head', 10, 0 );
   261 add_action( 'wp_head',             'wp_custom_css_cb',                101   );
   298 add_action( 'wp_head', 'wp_custom_css_cb', 101 );
   262 add_action( 'wp_head',             'wp_site_icon',                    99    );
   299 add_action( 'wp_head', 'wp_site_icon', 99 );
   263 add_action( 'wp_footer',           'wp_print_footer_scripts',         20    );
   300 add_action( 'wp_footer', 'wp_print_footer_scripts', 20 );
   264 add_action( 'template_redirect',   'wp_shortlink_header',             11, 0 );
   301 add_action( 'template_redirect', 'wp_shortlink_header', 11, 0 );
   265 add_action( 'wp_print_footer_scripts', '_wp_footer_scripts'                 );
   302 add_action( 'wp_print_footer_scripts', '_wp_footer_scripts' );
   266 add_action( 'init',                'check_theme_switched',            99    );
   303 add_action( 'init', 'check_theme_switched', 99 );
   267 add_action( 'after_switch_theme',  '_wp_menus_changed'                      );
   304 add_action( 'after_switch_theme', '_wp_menus_changed' );
   268 add_action( 'after_switch_theme',  '_wp_sidebars_changed'                   );
   305 add_action( 'after_switch_theme', '_wp_sidebars_changed' );
   269 add_action( 'wp_print_styles',     'print_emoji_styles'                     );
   306 add_action( 'wp_print_styles', 'print_emoji_styles' );
   270 
   307 
   271 if ( isset( $_GET['replytocom'] ) )
   308 if ( isset( $_GET['replytocom'] ) ) {
   272     add_action( 'wp_head', 'wp_no_robots' );
   309 	add_action( 'wp_head', 'wp_no_robots' );
       
   310 }
   273 
   311 
   274 // Login actions
   312 // Login actions
   275 add_filter( 'login_head',          'wp_resource_hints',             8     );
   313 add_filter( 'login_head', 'wp_resource_hints', 8 );
   276 add_action( 'login_head',          'wp_print_head_scripts',         9     );
   314 add_action( 'login_head', 'wp_print_head_scripts', 9 );
   277 add_action( 'login_head',          'print_admin_styles',            9     );
   315 add_action( 'login_head', 'print_admin_styles', 9 );
   278 add_action( 'login_head',          'wp_site_icon',                  99    );
   316 add_action( 'login_head', 'wp_site_icon', 99 );
   279 add_action( 'login_footer',        'wp_print_footer_scripts',       20    );
   317 add_action( 'login_footer', 'wp_print_footer_scripts', 20 );
   280 add_action( 'login_init',          'send_frame_options_header',     10, 0 );
   318 add_action( 'login_init', 'send_frame_options_header', 10, 0 );
   281 
   319 
   282 // Feed Generator Tags
   320 // Feed Generator Tags
   283 foreach ( array( 'rss2_head', 'commentsrss2_head', 'rss_head', 'rdf_header', 'atom_head', 'comments_atom_head', 'opml_head', 'app_head' ) as $action ) {
   321 foreach ( array( 'rss2_head', 'commentsrss2_head', 'rss_head', 'rdf_header', 'atom_head', 'comments_atom_head', 'opml_head', 'app_head' ) as $action ) {
   284 	add_action( $action, 'the_generator' );
   322 	add_action( $action, 'the_generator' );
   285 }
   323 }
   288 add_action( 'atom_head', 'atom_site_icon' );
   326 add_action( 'atom_head', 'atom_site_icon' );
   289 add_action( 'rss2_head', 'rss2_site_icon' );
   327 add_action( 'rss2_head', 'rss2_site_icon' );
   290 
   328 
   291 
   329 
   292 // WP Cron
   330 // WP Cron
   293 if ( !defined( 'DOING_CRON' ) )
   331 if ( ! defined( 'DOING_CRON' ) ) {
   294 	add_action( 'init', 'wp_cron' );
   332 	add_action( 'init', 'wp_cron' );
       
   333 }
   295 
   334 
   296 // 2 Actions 2 Furious
   335 // 2 Actions 2 Furious
   297 add_action( 'do_feed_rdf',                'do_feed_rdf',                             10, 1 );
   336 add_action( 'do_feed_rdf', 'do_feed_rdf', 10, 1 );
   298 add_action( 'do_feed_rss',                'do_feed_rss',                             10, 1 );
   337 add_action( 'do_feed_rss', 'do_feed_rss', 10, 1 );
   299 add_action( 'do_feed_rss2',               'do_feed_rss2',                            10, 1 );
   338 add_action( 'do_feed_rss2', 'do_feed_rss2', 10, 1 );
   300 add_action( 'do_feed_atom',               'do_feed_atom',                            10, 1 );
   339 add_action( 'do_feed_atom', 'do_feed_atom', 10, 1 );
   301 add_action( 'do_pings',                   'do_all_pings',                            10, 1 );
   340 add_action( 'do_pings', 'do_all_pings', 10, 1 );
   302 add_action( 'do_robots',                  'do_robots'                                      );
   341 add_action( 'do_robots', 'do_robots' );
   303 add_action( 'set_comment_cookies',        'wp_set_comment_cookies',                  10, 3 );
   342 add_action( 'set_comment_cookies', 'wp_set_comment_cookies', 10, 3 );
   304 add_action( 'sanitize_comment_cookies',   'sanitize_comment_cookies'                       );
   343 add_action( 'sanitize_comment_cookies', 'sanitize_comment_cookies' );
   305 add_action( 'admin_print_scripts',        'print_emoji_detection_script'                   );
   344 add_action( 'admin_print_scripts', 'print_emoji_detection_script' );
   306 add_action( 'admin_print_scripts',        'print_head_scripts',                      20    );
   345 add_action( 'admin_print_scripts', 'print_head_scripts', 20 );
   307 add_action( 'admin_print_footer_scripts', '_wp_footer_scripts'                             );
   346 add_action( 'admin_print_footer_scripts', '_wp_footer_scripts' );
   308 add_action( 'admin_print_styles',         'print_emoji_styles'                             );
   347 add_action( 'admin_print_styles', 'print_emoji_styles' );
   309 add_action( 'admin_print_styles',         'print_admin_styles',                      20    );
   348 add_action( 'admin_print_styles', 'print_admin_styles', 20 );
   310 add_action( 'init',                       'smilies_init',                             5    );
   349 add_action( 'init', 'smilies_init', 5 );
   311 add_action( 'plugins_loaded',             'wp_maybe_load_widgets',                    0    );
   350 add_action( 'plugins_loaded', 'wp_maybe_load_widgets', 0 );
   312 add_action( 'plugins_loaded',             'wp_maybe_load_embeds',                     0    );
   351 add_action( 'plugins_loaded', 'wp_maybe_load_embeds', 0 );
   313 add_action( 'shutdown',                   'wp_ob_end_flush_all',                      1    );
   352 add_action( 'shutdown', 'wp_ob_end_flush_all', 1 );
   314 // Create a revision whenever a post is updated.
   353 // Create a revision whenever a post is updated.
   315 add_action( 'post_updated',               'wp_save_post_revision',                   10, 1 );
   354 add_action( 'post_updated', 'wp_save_post_revision', 10, 1 );
   316 add_action( 'publish_post',               '_publish_post_hook',                       5, 1 );
   355 add_action( 'publish_post', '_publish_post_hook', 5, 1 );
   317 add_action( 'transition_post_status',     '_transition_post_status',                  5, 3 );
   356 add_action( 'transition_post_status', '_transition_post_status', 5, 3 );
   318 add_action( 'transition_post_status',     '_update_term_count_on_transition_post_status', 10, 3 );
   357 add_action( 'transition_post_status', '_update_term_count_on_transition_post_status', 10, 3 );
   319 add_action( 'comment_form',               'wp_comment_form_unfiltered_html_nonce'          );
   358 add_action( 'comment_form', 'wp_comment_form_unfiltered_html_nonce' );
   320 add_action( 'admin_init',                 'send_frame_options_header',               10, 0 );
   359 add_action( 'admin_init', 'send_frame_options_header', 10, 0 );
   321 add_action( 'try_gutenberg_panel',        'wp_try_gutenberg_panel'                         );
   360 add_action( 'welcome_panel', 'wp_welcome_panel' );
   322 add_action( 'welcome_panel',              'wp_welcome_panel'                               );
       
   323 
   361 
   324 // Privacy
   362 // Privacy
   325 add_action( 'user_request_action_confirmed', '_wp_privacy_account_request_confirmed' );
   363 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.
   364 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' );
   365 add_filter( 'wp_privacy_personal_data_exporters', 'wp_register_comment_personal_data_exporter' );
   330 add_filter( 'wp_privacy_personal_data_erasers', 'wp_register_comment_personal_data_eraser' );
   368 add_filter( 'wp_privacy_personal_data_erasers', 'wp_register_comment_personal_data_eraser' );
   331 add_action( 'init', 'wp_schedule_delete_old_privacy_export_files' );
   369 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' );
   370 add_action( 'wp_privacy_delete_old_export_files', 'wp_privacy_delete_old_export_files' );
   333 
   371 
   334 // Cron tasks
   372 // Cron tasks
   335 add_action( 'wp_scheduled_delete',            'wp_scheduled_delete'       );
   373 add_action( 'wp_scheduled_delete', 'wp_scheduled_delete' );
   336 add_action( 'wp_scheduled_auto_draft_delete', 'wp_delete_auto_drafts'     );
   374 add_action( 'wp_scheduled_auto_draft_delete', 'wp_delete_auto_drafts' );
   337 add_action( 'importer_scheduled_cleanup',     'wp_delete_attachment'      );
   375 add_action( 'importer_scheduled_cleanup', 'wp_delete_attachment' );
   338 add_action( 'upgrader_scheduled_cleanup',     'wp_delete_attachment'      );
   376 add_action( 'upgrader_scheduled_cleanup', 'wp_delete_attachment' );
   339 add_action( 'delete_expired_transients',      'delete_expired_transients' );
   377 add_action( 'delete_expired_transients', 'delete_expired_transients' );
   340 
   378 
   341 // Navigation menu actions
   379 // Navigation menu actions
   342 add_action( 'delete_post',                '_wp_delete_post_menu_item'         );
   380 add_action( 'delete_post', '_wp_delete_post_menu_item' );
   343 add_action( 'delete_term',                '_wp_delete_tax_menu_item',   10, 3 );
   381 add_action( 'delete_term', '_wp_delete_tax_menu_item', 10, 3 );
   344 add_action( 'transition_post_status',     '_wp_auto_add_pages_to_menu', 10, 3 );
   382 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' );
   383 add_action( 'delete_post', '_wp_delete_customize_changeset_dependent_auto_drafts' );
   346 
   384 
   347 // Post Thumbnail CSS class filtering
   385 // Post Thumbnail CSS class filtering
   348 add_action( 'begin_fetch_post_thumbnail_html', '_wp_post_thumbnail_class_filter_add'    );
   386 add_action( 'begin_fetch_post_thumbnail_html', '_wp_post_thumbnail_class_filter_add' );
   349 add_action( 'end_fetch_post_thumbnail_html',   '_wp_post_thumbnail_class_filter_remove' );
   387 add_action( 'end_fetch_post_thumbnail_html', '_wp_post_thumbnail_class_filter_remove' );
   350 
   388 
   351 // Redirect Old Slugs
   389 // Redirect Old Slugs
   352 add_action( 'template_redirect',  'wp_old_slug_redirect'              );
   390 add_action( 'template_redirect', 'wp_old_slug_redirect' );
   353 add_action( 'post_updated',       'wp_check_for_changed_slugs', 12, 3 );
   391 add_action( 'post_updated', 'wp_check_for_changed_slugs', 12, 3 );
   354 add_action( 'attachment_updated', 'wp_check_for_changed_slugs', 12, 3 );
   392 add_action( 'attachment_updated', 'wp_check_for_changed_slugs', 12, 3 );
   355 
   393 
   356 // Redirect Old Dates
   394 // Redirect Old Dates
   357 add_action( 'post_updated',       'wp_check_for_changed_dates', 12, 3 );
   395 add_action( 'post_updated', 'wp_check_for_changed_dates', 12, 3 );
   358 add_action( 'attachment_updated', 'wp_check_for_changed_dates', 12, 3 );
   396 add_action( 'attachment_updated', 'wp_check_for_changed_dates', 12, 3 );
   359 
   397 
   360 // Nonce check for Post Previews
   398 // Nonce check for Post Previews
   361 add_action( 'init', '_show_post_preview' );
   399 add_action( 'init', '_show_post_preview' );
   362 
   400 
   363 // Output JS to reset window.name for previews
   401 // Output JS to reset window.name for previews
   364 add_action( 'wp_head', 'wp_post_preview_js', 1 );
   402 add_action( 'wp_head', 'wp_post_preview_js', 1 );
   365 
   403 
   366 // Timezone
   404 // Timezone
   367 add_filter( 'pre_option_gmt_offset','wp_timezone_override_offset' );
   405 add_filter( 'pre_option_gmt_offset', 'wp_timezone_override_offset' );
   368 
   406 
   369 // Admin Color Schemes
   407 // Admin Color Schemes
   370 add_action( 'admin_init', 'register_admin_color_schemes', 1);
   408 add_action( 'admin_init', 'register_admin_color_schemes', 1 );
   371 add_action( 'admin_color_scheme_picker', 'admin_color_scheme_picker' );
   409 add_action( 'admin_color_scheme_picker', 'admin_color_scheme_picker' );
   372 
   410 
   373 // If the upgrade hasn't run yet, assume link manager is used.
   411 // If the upgrade hasn't run yet, assume link manager is used.
   374 add_filter( 'default_option_link_manager_enabled', '__return_true' );
   412 add_filter( 'default_option_link_manager_enabled', '__return_true' );
   375 
   413 
   379 // Default settings for heartbeat
   417 // Default settings for heartbeat
   380 add_filter( 'heartbeat_settings', 'wp_heartbeat_settings' );
   418 add_filter( 'heartbeat_settings', 'wp_heartbeat_settings' );
   381 
   419 
   382 // Check if the user is logged out
   420 // Check if the user is logged out
   383 add_action( 'admin_enqueue_scripts', 'wp_auth_check_load' );
   421 add_action( 'admin_enqueue_scripts', 'wp_auth_check_load' );
   384 add_filter( 'heartbeat_send',        'wp_auth_check' );
   422 add_filter( 'heartbeat_send', 'wp_auth_check' );
   385 add_filter( 'heartbeat_nopriv_send', 'wp_auth_check' );
   423 add_filter( 'heartbeat_nopriv_send', 'wp_auth_check' );
   386 
   424 
   387 // Default authentication filters
   425 // Default authentication filters
   388 add_filter( 'authenticate', 'wp_authenticate_username_password',  20, 3 );
   426 add_filter( 'authenticate', 'wp_authenticate_username_password', 20, 3 );
   389 add_filter( 'authenticate', 'wp_authenticate_email_password',     20, 3 );
   427 add_filter( 'authenticate', 'wp_authenticate_email_password', 20, 3 );
   390 add_filter( 'authenticate', 'wp_authenticate_spam_check',         99    );
   428 add_filter( 'authenticate', 'wp_authenticate_spam_check', 99 );
   391 add_filter( 'determine_current_user', 'wp_validate_auth_cookie'          );
   429 add_filter( 'determine_current_user', 'wp_validate_auth_cookie' );
   392 add_filter( 'determine_current_user', 'wp_validate_logged_in_cookie', 20 );
   430 add_filter( 'determine_current_user', 'wp_validate_logged_in_cookie', 20 );
   393 
   431 
   394 // Split term updates.
   432 // Split term updates.
   395 add_action( 'admin_init',        '_wp_check_for_scheduled_split_terms' );
   433 add_action( 'admin_init', '_wp_check_for_scheduled_split_terms' );
   396 add_action( 'split_shared_term', '_wp_check_split_default_terms',  10, 4 );
   434 add_action( 'split_shared_term', '_wp_check_split_default_terms', 10, 4 );
   397 add_action( 'split_shared_term', '_wp_check_split_terms_in_menus', 10, 4 );
   435 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 );
   436 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' );
   437 add_action( 'wp_split_shared_term_batch', '_wp_batch_split_terms' );
   400 
   438 
   401 // Email notifications.
   439 // Email notifications.
   402 add_action( 'comment_post', 'wp_new_comment_notify_moderator' );
   440 add_action( 'comment_post', 'wp_new_comment_notify_moderator' );
   403 add_action( 'comment_post', 'wp_new_comment_notify_postauthor' );
   441 add_action( 'comment_post', 'wp_new_comment_notify_postauthor' );
   404 add_action( 'after_password_reset', 'wp_password_change_notification' );
   442 add_action( 'after_password_reset', 'wp_password_change_notification' );
   405 add_action( 'register_new_user',      'wp_send_new_user_notifications' );
   443 add_action( 'register_new_user', 'wp_send_new_user_notifications' );
   406 add_action( 'edit_user_created_user', 'wp_send_new_user_notifications', 10, 2 );
   444 add_action( 'edit_user_created_user', 'wp_send_new_user_notifications', 10, 2 );
   407 
   445 
   408 // REST API actions.
   446 // REST API actions.
   409 add_action( 'init',          'rest_api_init' );
   447 add_action( 'init', 'rest_api_init' );
   410 add_action( 'rest_api_init', 'rest_api_default_filters',   10, 1 );
   448 add_action( 'rest_api_init', 'rest_api_default_filters', 10, 1 );
   411 add_action( 'rest_api_init', 'register_initial_settings',  10 );
   449 add_action( 'rest_api_init', 'register_initial_settings', 10 );
   412 add_action( 'rest_api_init', 'create_initial_rest_routes', 99 );
   450 add_action( 'rest_api_init', 'create_initial_rest_routes', 99 );
   413 add_action( 'parse_request', 'rest_api_loaded' );
   451 add_action( 'parse_request', 'rest_api_loaded' );
   414 
   452 
   415 /**
   453 /**
   416  * Filters formerly mixed into wp-includes
   454  * Filters formerly mixed into wp-includes
   435 
   473 
   436 // Post
   474 // Post
   437 add_action( 'init', 'create_initial_post_types', 0 ); // highest priority
   475 add_action( 'init', 'create_initial_post_types', 0 ); // highest priority
   438 add_action( 'admin_menu', '_add_post_type_submenus' );
   476 add_action( 'admin_menu', '_add_post_type_submenus' );
   439 add_action( 'before_delete_post', '_reset_front_page_settings_for_post' );
   477 add_action( 'before_delete_post', '_reset_front_page_settings_for_post' );
   440 add_action( 'wp_trash_post',      '_reset_front_page_settings_for_post' );
   478 add_action( 'wp_trash_post', '_reset_front_page_settings_for_post' );
   441 add_action( 'change_locale', 'create_initial_post_types' );
   479 add_action( 'change_locale', 'create_initial_post_types' );
   442 
   480 
   443 // Post Formats
   481 // Post Formats
   444 add_filter( 'request', '_post_format_request' );
   482 add_filter( 'request', '_post_format_request' );
   445 add_filter( 'term_link', '_post_format_link', 10, 3 );
   483 add_filter( 'term_link', '_post_format_link', 10, 3 );
   451 add_action( 'init', 'kses_init' );
   489 add_action( 'init', 'kses_init' );
   452 add_action( 'set_current_user', 'kses_init' );
   490 add_action( 'set_current_user', 'kses_init' );
   453 
   491 
   454 // Script Loader
   492 // Script Loader
   455 add_action( 'wp_default_scripts', 'wp_default_scripts' );
   493 add_action( 'wp_default_scripts', 'wp_default_scripts' );
       
   494 add_action( 'wp_default_scripts', 'wp_default_packages' );
       
   495 
   456 add_action( 'wp_enqueue_scripts', 'wp_localize_jquery_ui_datepicker', 1000 );
   496 add_action( 'wp_enqueue_scripts', 'wp_localize_jquery_ui_datepicker', 1000 );
   457 add_action( 'admin_enqueue_scripts', 'wp_localize_jquery_ui_datepicker', 1000 );
   497 add_action( 'admin_enqueue_scripts', 'wp_localize_jquery_ui_datepicker', 1000 );
       
   498 add_action( 'wp_enqueue_scripts', 'wp_common_block_scripts_and_styles' );
       
   499 add_action( 'admin_enqueue_scripts', 'wp_common_block_scripts_and_styles' );
       
   500 add_action( 'enqueue_block_assets', 'wp_enqueue_registered_block_scripts_and_styles' );
       
   501 add_action( 'enqueue_block_editor_assets', 'wp_enqueue_registered_block_scripts_and_styles' );
   458 add_action( 'admin_print_scripts-index.php', 'wp_localize_community_events' );
   502 add_action( 'admin_print_scripts-index.php', 'wp_localize_community_events' );
   459 add_filter( 'wp_print_scripts', 'wp_just_in_time_script_localization' );
   503 add_filter( 'wp_print_scripts', 'wp_just_in_time_script_localization' );
   460 add_filter( 'print_scripts_array', 'wp_prototype_before_jquery' );
   504 add_filter( 'print_scripts_array', 'wp_prototype_before_jquery' );
   461 add_filter( 'customize_controls_print_styles', 'wp_resource_hints', 1 );
   505 add_filter( 'customize_controls_print_styles', 'wp_resource_hints', 1 );
   462 
   506 
   497 add_action( 'media_buttons', 'media_buttons' );
   541 add_action( 'media_buttons', 'media_buttons' );
   498 add_filter( 'image_send_to_editor', 'image_add_caption', 20, 8 );
   542 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 );
   543 add_filter( 'media_send_to_editor', 'image_media_send_to_editor', 10, 3 );
   500 
   544 
   501 // Embeds
   545 // Embeds
   502 add_action( 'rest_api_init',          'wp_oembed_register_route'              );
   546 add_action( 'rest_api_init', 'wp_oembed_register_route' );
   503 add_filter( 'rest_pre_serve_request', '_oembed_rest_pre_serve_request', 10, 4 );
   547 add_filter( 'rest_pre_serve_request', '_oembed_rest_pre_serve_request', 10, 4 );
   504 
   548 
   505 add_action( 'wp_head',                'wp_oembed_add_discovery_links'         );
   549 add_action( 'wp_head', 'wp_oembed_add_discovery_links' );
   506 add_action( 'wp_head',                'wp_oembed_add_host_js'                 );
   550 add_action( 'wp_head', 'wp_oembed_add_host_js' );
   507 
   551 
   508 add_action( 'embed_head',             'enqueue_embed_scripts',           1    );
   552 add_action( 'embed_head', 'enqueue_embed_scripts', 1 );
   509 add_action( 'embed_head',             'print_emoji_detection_script'          );
   553 add_action( 'embed_head', 'print_emoji_detection_script' );
   510 add_action( 'embed_head',             'print_embed_styles'                    );
   554 add_action( 'embed_head', 'print_embed_styles' );
   511 add_action( 'embed_head',             'wp_print_head_scripts',          20    );
   555 add_action( 'embed_head', 'wp_print_head_scripts', 20 );
   512 add_action( 'embed_head',             'wp_print_styles',                20    );
   556 add_action( 'embed_head', 'wp_print_styles', 20 );
   513 add_action( 'embed_head',             'wp_no_robots'                          );
   557 add_action( 'embed_head', 'wp_no_robots' );
   514 add_action( 'embed_head',             'rel_canonical'                         );
   558 add_action( 'embed_head', 'rel_canonical' );
   515 add_action( 'embed_head',             'locale_stylesheet',              30    );
   559 add_action( 'embed_head', 'locale_stylesheet', 30 );
   516 
   560 
   517 add_action( 'embed_content_meta',     'print_embed_comments_button'           );
   561 add_action( 'embed_content_meta', 'print_embed_comments_button' );
   518 add_action( 'embed_content_meta',     'print_embed_sharing_button'            );
   562 add_action( 'embed_content_meta', 'print_embed_sharing_button' );
   519 
   563 
   520 add_action( 'embed_footer',           'print_embed_sharing_dialog'            );
   564 add_action( 'embed_footer', 'print_embed_sharing_dialog' );
   521 add_action( 'embed_footer',           'print_embed_scripts'                   );
   565 add_action( 'embed_footer', 'print_embed_scripts' );
   522 add_action( 'embed_footer',           'wp_print_footer_scripts',        20    );
   566 add_action( 'embed_footer', 'wp_print_footer_scripts', 20 );
   523 
   567 
   524 add_filter( 'excerpt_more',           'wp_embed_excerpt_more',          20    );
   568 add_filter( 'excerpt_more', 'wp_embed_excerpt_more', 20 );
   525 add_filter( 'the_excerpt_embed',      'wptexturize'                           );
   569 add_filter( 'the_excerpt_embed', 'wptexturize' );
   526 add_filter( 'the_excerpt_embed',      'convert_chars'                         );
   570 add_filter( 'the_excerpt_embed', 'convert_chars' );
   527 add_filter( 'the_excerpt_embed',      'wpautop'                               );
   571 add_filter( 'the_excerpt_embed', 'wpautop' );
   528 add_filter( 'the_excerpt_embed',      'shortcode_unautop'                     );
   572 add_filter( 'the_excerpt_embed', 'shortcode_unautop' );
   529 add_filter( 'the_excerpt_embed',      'wp_embed_excerpt_attachment'           );
   573 add_filter( 'the_excerpt_embed', 'wp_embed_excerpt_attachment' );
   530 
   574 
   531 add_filter( 'oembed_dataparse',       'wp_filter_oembed_result',        10, 3 );
   575 add_filter( 'oembed_dataparse', 'wp_filter_oembed_result', 10, 3 );
   532 add_filter( 'oembed_response_data',   'get_oembed_response_data_rich',  10, 4 );
   576 add_filter( 'oembed_dataparse', 'wp_filter_oembed_iframe_title_attribute', 20, 3 );
   533 add_filter( 'pre_oembed_result',      'wp_filter_pre_oembed_result',    10, 3 );
   577 add_filter( 'oembed_response_data', 'get_oembed_response_data_rich', 10, 4 );
       
   578 add_filter( 'pre_oembed_result', 'wp_filter_pre_oembed_result', 10, 3 );
   534 
   579 
   535 // Capabilities
   580 // Capabilities
   536 add_filter( 'user_has_cap', 'wp_maybe_grant_install_languages_cap', 1 );
   581 add_filter( 'user_has_cap', 'wp_maybe_grant_install_languages_cap', 1 );
       
   582 add_filter( 'user_has_cap', 'wp_maybe_grant_resume_extensions_caps', 1 );
       
   583 add_filter( 'user_has_cap', 'wp_maybe_grant_site_health_caps', 1, 4 );
   537 
   584 
   538 unset( $filter, $action );
   585 unset( $filter, $action );