wp/wp-includes/default-filters.php
changeset 5 5e2f62d02dcd
parent 0 d970ebf37754
child 7 cf61fcea0001
equal deleted inserted replaced
4:346c88efed21 5:5e2f62d02dcd
   154 add_filter( 'list_cats',         'wptexturize' );
   154 add_filter( 'list_cats',         'wptexturize' );
   155 
   155 
   156 add_filter( 'wp_sprintf', 'wp_sprintf_l', 10, 2 );
   156 add_filter( 'wp_sprintf', 'wp_sprintf_l', 10, 2 );
   157 
   157 
   158 // RSS filters
   158 // RSS filters
   159 add_filter( 'the_title_rss',      'strip_tags'      );
   159 add_filter( 'the_title_rss',      'strip_tags'                    );
   160 add_filter( 'the_title_rss',      'ent2ncr',      8 );
   160 add_filter( 'the_title_rss',      'ent2ncr',                    8 );
   161 add_filter( 'the_title_rss',      'esc_html'        );
   161 add_filter( 'the_title_rss',      'esc_html'                      );
   162 add_filter( 'the_content_rss',    'ent2ncr',      8 );
   162 add_filter( 'the_content_rss',    'ent2ncr',                    8 );
   163 add_filter( 'the_excerpt_rss',    'convert_chars'   );
   163 add_filter( 'the_content_feed',   'wp_staticize_emoji'            );
   164 add_filter( 'the_excerpt_rss',    'ent2ncr',      8 );
   164 add_filter( 'the_excerpt_rss',    'convert_chars'                 );
   165 add_filter( 'comment_author_rss', 'ent2ncr',      8 );
   165 add_filter( 'the_excerpt_rss',    'ent2ncr',                    8 );
   166 add_filter( 'comment_text_rss',   'ent2ncr',      8 );
   166 add_filter( 'comment_author_rss', 'ent2ncr',                    8 );
   167 add_filter( 'comment_text_rss',   'esc_html'        );
   167 add_filter( 'comment_text_rss',   'ent2ncr',                    8 );
   168 add_filter( 'bloginfo_rss',       'ent2ncr',      8 );
   168 add_filter( 'comment_text_rss',   'esc_html'                      );
   169 add_filter( 'the_author',         'ent2ncr',      8 );
   169 add_filter( 'comment_text_rss',   'wp_staticize_emoji'            );
       
   170 add_filter( 'bloginfo_rss',       'ent2ncr',                    8 );
       
   171 add_filter( 'the_author',         'ent2ncr',                    8 );
       
   172 add_filter( 'the_guid',           'esc_url'                       );
       
   173 
       
   174 // Email filters
       
   175 add_filter( 'wp_mail', 'wp_staticize_emoji_for_email' );
   170 
   176 
   171 // Misc filters
   177 // Misc filters
   172 add_filter( 'option_ping_sites',        'privacy_ping_filter'                 );
   178 add_filter( 'option_ping_sites',        'privacy_ping_filter'                 );
   173 add_filter( 'option_blog_charset',      '_wp_specialchars'                    ); // IMPORTANT: This must not be wp_specialchars() or esc_html() or it'll cause an infinite loop
   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
   174 add_filter( 'option_blog_charset',      '_canonical_charset'                  );
   180 add_filter( 'option_blog_charset',      '_canonical_charset'                  );
   175 add_filter( 'option_home',              '_config_wp_home'                     );
   181 add_filter( 'option_home',              '_config_wp_home'                     );
   176 add_filter( 'option_siteurl',           '_config_wp_siteurl'                  );
   182 add_filter( 'option_siteurl',           '_config_wp_siteurl'                  );
   177 add_filter( 'tiny_mce_before_init',     '_mce_set_direction'                  );
   183 add_filter( 'tiny_mce_before_init',     '_mce_set_direction'                  );
       
   184 add_filter( 'teeny_mce_before_init',    '_mce_set_direction'                  );
   178 add_filter( 'pre_kses',                 'wp_pre_kses_less_than'               );
   185 add_filter( 'pre_kses',                 'wp_pre_kses_less_than'               );
   179 add_filter( 'sanitize_title',           'sanitize_title_with_dashes',   10, 3 );
   186 add_filter( 'sanitize_title',           'sanitize_title_with_dashes',   10, 3 );
   180 add_action( 'check_comment_flood',      'check_comment_flood_db',       10, 3 );
   187 add_action( 'check_comment_flood',      'check_comment_flood_db',       10, 3 );
   181 add_filter( 'comment_flood_filter',     'wp_throttle_comment_flood',    10, 3 );
   188 add_filter( 'comment_flood_filter',     'wp_throttle_comment_flood',    10, 3 );
   182 add_filter( 'pre_comment_content',      'wp_rel_nofollow',              15    );
   189 add_filter( 'pre_comment_content',      'wp_rel_nofollow',              15    );
   189 add_filter( 'editable_slug',            'urldecode'                           );
   196 add_filter( 'editable_slug',            'urldecode'                           );
   190 add_filter( 'editable_slug',            'esc_textarea'                        );
   197 add_filter( 'editable_slug',            'esc_textarea'                        );
   191 add_filter( 'nav_menu_meta_box_object', '_wp_nav_menu_meta_box_object'        );
   198 add_filter( 'nav_menu_meta_box_object', '_wp_nav_menu_meta_box_object'        );
   192 add_filter( 'pingback_ping_source_uri', 'pingback_ping_source_uri'            );
   199 add_filter( 'pingback_ping_source_uri', 'pingback_ping_source_uri'            );
   193 add_filter( 'xmlrpc_pingback_error',    'xmlrpc_pingback_error'               );
   200 add_filter( 'xmlrpc_pingback_error',    'xmlrpc_pingback_error'               );
       
   201 add_filter( 'title_save_pre',           'trim'                                );
   194 
   202 
   195 add_filter( 'http_request_host_is_external', 'allowed_http_request_hosts', 10, 2 );
   203 add_filter( 'http_request_host_is_external', 'allowed_http_request_hosts', 10, 2 );
   196 
   204 
   197 // Actions
   205 // Actions
       
   206 add_action( 'wp_head',             '_wp_render_title_tag',            1     );
   198 add_action( 'wp_head',             'wp_enqueue_scripts',              1     );
   207 add_action( 'wp_head',             'wp_enqueue_scripts',              1     );
   199 add_action( 'wp_head',             'feed_links',                      2     );
   208 add_action( 'wp_head',             'feed_links',                      2     );
   200 add_action( 'wp_head',             'feed_links_extra',                3     );
   209 add_action( 'wp_head',             'feed_links_extra',                3     );
   201 add_action( 'wp_head',             'rsd_link'                               );
   210 add_action( 'wp_head',             'rsd_link'                               );
   202 add_action( 'wp_head',             'wlwmanifest_link'                       );
   211 add_action( 'wp_head',             'wlwmanifest_link'                       );
   203 add_action( 'wp_head',             'adjacent_posts_rel_link_wp_head', 10, 0 );
   212 add_action( 'wp_head',             'adjacent_posts_rel_link_wp_head', 10, 0 );
   204 add_action( 'wp_head',             'locale_stylesheet'                      );
   213 add_action( 'wp_head',             'locale_stylesheet'                      );
   205 add_action( 'publish_future_post', 'check_and_publish_future_post',   10, 1 );
   214 add_action( 'publish_future_post', 'check_and_publish_future_post',   10, 1 );
   206 add_action( 'wp_head',             'noindex',                          1    );
   215 add_action( 'wp_head',             'noindex',                          1    );
       
   216 add_action( 'wp_head',             'print_emoji_detection_script',     7    );
   207 add_action( 'wp_head',             'wp_print_styles',                  8    );
   217 add_action( 'wp_head',             'wp_print_styles',                  8    );
   208 add_action( 'wp_head',             'wp_print_head_scripts',            9    );
   218 add_action( 'wp_head',             'wp_print_head_scripts',            9    );
   209 add_action( 'wp_head',             'wp_generator'                           );
   219 add_action( 'wp_head',             'wp_generator'                           );
   210 add_action( 'wp_head',             'rel_canonical'                          );
   220 add_action( 'wp_head',             'rel_canonical'                          );
   211 add_action( 'wp_footer',           'wp_print_footer_scripts',         20    );
   221 add_action( 'wp_footer',           'wp_print_footer_scripts',         20    );
   212 add_action( 'wp_head',             'wp_shortlink_wp_head',            10, 0 );
   222 add_action( 'wp_head',             'wp_shortlink_wp_head',            10, 0 );
   213 add_action( 'template_redirect',   'wp_shortlink_header',             11, 0 );
   223 add_action( 'template_redirect',   'wp_shortlink_header',             11, 0 );
   214 add_action( 'wp_print_footer_scripts', '_wp_footer_scripts'                 );
   224 add_action( 'wp_print_footer_scripts', '_wp_footer_scripts'                 );
   215 add_action( 'init',                'check_theme_switched',            99    );
   225 add_action( 'init',                'check_theme_switched',            99    );
   216 add_action( 'after_switch_theme',  '_wp_sidebars_changed'                   );
   226 add_action( 'after_switch_theme',  '_wp_sidebars_changed'                   );
       
   227 add_action( 'wp_print_styles',     'print_emoji_styles'                     );
   217 
   228 
   218 if ( isset( $_GET['replytocom'] ) )
   229 if ( isset( $_GET['replytocom'] ) )
   219     add_action( 'wp_head', 'wp_no_robots' );
   230     add_action( 'wp_head', 'wp_no_robots' );
   220 
   231 
   221 // Login actions
   232 // Login actions
   239 add_action( 'do_feed_atom',               'do_feed_atom',                            10, 1 );
   250 add_action( 'do_feed_atom',               'do_feed_atom',                            10, 1 );
   240 add_action( 'do_pings',                   'do_all_pings',                            10, 1 );
   251 add_action( 'do_pings',                   'do_all_pings',                            10, 1 );
   241 add_action( 'do_robots',                  'do_robots'                                      );
   252 add_action( 'do_robots',                  'do_robots'                                      );
   242 add_action( 'set_comment_cookies',        'wp_set_comment_cookies',                  10, 2 );
   253 add_action( 'set_comment_cookies',        'wp_set_comment_cookies',                  10, 2 );
   243 add_action( 'sanitize_comment_cookies',   'sanitize_comment_cookies'                       );
   254 add_action( 'sanitize_comment_cookies',   'sanitize_comment_cookies'                       );
       
   255 add_action( 'admin_print_scripts',        'print_emoji_detection_script'                   );
   244 add_action( 'admin_print_scripts',        'print_head_scripts',                      20    );
   256 add_action( 'admin_print_scripts',        'print_head_scripts',                      20    );
   245 add_action( 'admin_print_footer_scripts', '_wp_footer_scripts'                             );
   257 add_action( 'admin_print_footer_scripts', '_wp_footer_scripts'                             );
       
   258 add_action( 'admin_print_styles',         'print_emoji_styles'                             );
   246 add_action( 'admin_print_styles',         'print_admin_styles',                      20    );
   259 add_action( 'admin_print_styles',         'print_admin_styles',                      20    );
   247 add_action( 'init',                       'smilies_init',                             5    );
   260 add_action( 'init',                       'smilies_init',                             5    );
   248 add_action( 'plugins_loaded',             'wp_maybe_load_widgets',                    0    );
   261 add_action( 'plugins_loaded',             'wp_maybe_load_widgets',                    0    );
   249 add_action( 'plugins_loaded',             'wp_maybe_load_embeds',                     0    );
   262 add_action( 'plugins_loaded',             'wp_maybe_load_embeds',                     0    );
   250 add_action( 'shutdown',                   'wp_ob_end_flush_all',                      1    );
   263 add_action( 'shutdown',                   'wp_ob_end_flush_all',                      1    );
       
   264 // Create a revision whenever a post is updated.
   251 add_action( 'post_updated',               'wp_save_post_revision',                   10, 1 );
   265 add_action( 'post_updated',               'wp_save_post_revision',                   10, 1 );
   252 add_action( 'publish_post',               '_publish_post_hook',                       5, 1 );
   266 add_action( 'publish_post',               '_publish_post_hook',                       5, 1 );
   253 add_action( 'transition_post_status',     '_transition_post_status',                  5, 3 );
   267 add_action( 'transition_post_status',     '_transition_post_status',                  5, 3 );
   254 add_action( 'transition_post_status',     '_update_term_count_on_transition_post_status', 10, 3 );
   268 add_action( 'transition_post_status',     '_update_term_count_on_transition_post_status', 10, 3 );
   255 add_action( 'comment_form',               'wp_comment_form_unfiltered_html_nonce'          );
   269 add_action( 'comment_form',               'wp_comment_form_unfiltered_html_nonce'          );
   291 
   305 
   292 // Default settings for heartbeat
   306 // Default settings for heartbeat
   293 add_filter( 'heartbeat_settings', 'wp_heartbeat_settings' );
   307 add_filter( 'heartbeat_settings', 'wp_heartbeat_settings' );
   294 
   308 
   295 // Check if the user is logged out
   309 // Check if the user is logged out
   296 add_action( 'admin_enqueue_scripts',     'wp_auth_check_load'   );
   310 add_action( 'admin_enqueue_scripts', 'wp_auth_check_load' );
   297 add_filter( 'heartbeat_received',        'wp_auth_check', 10, 2 );
   311 add_filter( 'heartbeat_send',        'wp_auth_check' );
   298 add_filter( 'heartbeat_nopriv_received', 'wp_auth_check', 10, 2 );
   312 add_filter( 'heartbeat_nopriv_send', 'wp_auth_check' );
   299 
   313 
   300 // Default authentication filters
   314 // Default authentication filters
   301 add_filter( 'authenticate', 'wp_authenticate_username_password',  20, 3 );
   315 add_filter( 'authenticate', 'wp_authenticate_username_password',  20, 3 );
   302 add_filter( 'authenticate', 'wp_authenticate_spam_check',         99    );
   316 add_filter( 'authenticate', 'wp_authenticate_spam_check',         99    );
   303 
   317 add_filter( 'determine_current_user', 'wp_validate_auth_cookie'          );
   304 unset($filter, $action);
   318 add_filter( 'determine_current_user', 'wp_validate_logged_in_cookie', 20 );
       
   319 
       
   320 // Split term updates.
       
   321 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 );
       
   323 
       
   324 /**
       
   325  * Filters formerly mixed into wp-includes
       
   326  */
       
   327 // Theme
       
   328 add_action( 'setup_theme', 'preview_theme' );
       
   329 add_action( 'wp_loaded', '_custom_header_background_just_in_time' );
       
   330 add_action( 'plugins_loaded', '_wp_customize_include' );
       
   331 add_action( 'admin_enqueue_scripts', '_wp_customize_loader_settings' );
       
   332 add_action( 'delete_attachment', '_delete_attachment_theme_mod' );
       
   333 
       
   334 // Calendar widget cache
       
   335 add_action( 'save_post', 'delete_get_calendar_cache' );
       
   336 add_action( 'delete_post', 'delete_get_calendar_cache' );
       
   337 add_action( 'update_option_start_of_week', 'delete_get_calendar_cache' );
       
   338 add_action( 'update_option_gmt_offset', 'delete_get_calendar_cache' );
       
   339 
       
   340 // Author
       
   341 add_action( 'transition_post_status', '__clear_multi_author_cache' );
       
   342 
       
   343 // Post
       
   344 add_action( 'init', 'create_initial_post_types', 0 ); // highest priority
       
   345 add_action( 'admin_menu', '_add_post_type_submenus' );
       
   346 add_action( 'before_delete_post', '_reset_front_page_settings_for_post' );
       
   347 add_action( 'wp_trash_post',      '_reset_front_page_settings_for_post' );
       
   348 
       
   349 // Post Formats
       
   350 add_filter( 'request', '_post_format_request' );
       
   351 add_filter( 'term_link', '_post_format_link', 10, 3 );
       
   352 add_filter( 'get_post_format', '_post_format_get_term' );
       
   353 add_filter( 'get_terms', '_post_format_get_terms', 10, 3 );
       
   354 add_filter( 'wp_get_object_terms', '_post_format_wp_get_object_terms' );
       
   355 
       
   356 // KSES
       
   357 add_action( 'init', 'kses_init' );
       
   358 add_action( 'set_current_user', 'kses_init' );
       
   359 
       
   360 // Script Loader
       
   361 add_action( 'wp_default_scripts', 'wp_default_scripts' );
       
   362 add_filter( 'wp_print_scripts', 'wp_just_in_time_script_localization' );
       
   363 add_filter( 'print_scripts_array', 'wp_prototype_before_jquery' );
       
   364 
       
   365 add_action( 'wp_default_styles', 'wp_default_styles' );
       
   366 add_filter( 'style_loader_src', 'wp_style_loader_src', 10, 2 );
       
   367 
       
   368 // Taxonomy
       
   369 add_action( 'init', 'create_initial_taxonomies', 0 ); // highest priority
       
   370 
       
   371 // Canonical
       
   372 add_action( 'template_redirect', 'redirect_canonical' );
       
   373 add_action( 'template_redirect', 'wp_redirect_admin_locations', 1000 );
       
   374 
       
   375 // Shortcodes
       
   376 add_filter( 'the_content', 'do_shortcode', 11 ); // AFTER wpautop()
       
   377 
       
   378 // Media
       
   379 add_action( 'wp_playlist_scripts', 'wp_playlist_scripts' );
       
   380 add_action( 'customize_controls_enqueue_scripts', 'wp_plupload_default_settings' );
       
   381 
       
   382 // Nav menu
       
   383 add_filter( 'nav_menu_item_id', '_nav_menu_item_id_use_once', 10, 2 );
       
   384 
       
   385 // Admin Bar
       
   386 // Don't remove. Wrong way to disable.
       
   387 add_action( 'template_redirect', '_wp_admin_bar_init', 0 );
       
   388 add_action( 'admin_init', '_wp_admin_bar_init' );
       
   389 add_action( 'wp_footer', 'wp_admin_bar_render', 1000 );
       
   390 add_action( 'in_admin_header', 'wp_admin_bar_render', 0 );
       
   391 
       
   392 unset( $filter, $action );