-
WordPress Flow워드프레스 2024. 6. 6. 22:59
https://gist.github.com/johnbillion/4fa3c4228a8bb53cc71d
WordPress Flow
WordPress Flow. GitHub Gist: instantly share code, notes, and snippets.
gist.github.com
INITIALISATION ============== load wp-config.php set up default constants load wp-content/advanced-cache.php if it exists load wp-content/db.php if it exists connect to mysql, select db load object cache (object-cache.php if it exists, or wp-include/cache.php if not) load wp-content/sunrise.php if it exists (multisite only) load l10n library load mu plugins DO_ACTION 'muplugins_loaded' (only accessible to mu plugins) load active plugins load pluggables.php DO_ACTION 'plugins_loaded' (first hook available to plugins) load rewrite rules instantiate $wp_query, $wp_rewrite and $wp. $wp_query is a global instance of the WP_Query class. For more info, see ANY QUERY $wp_rewrite is a global instance of the WP_Rewrite class and contains our rewrite rules and functions $wp is a global instance of the WP class and contains the functions that will parse our request and perform the main query (see REQUEST) DO_ACTION 'setup_theme' include child theme functions.php include parent theme functions.php DO_ACTION 'after_setup_theme' (first hook available to themes) set up current user object DO_ACTION 'init' register widgets (DO_ACTION 'widget_init') call wp() (which calls $wp->main()) REQUEST ======= $wp->parse_request() loop over rewrite rules to find a match APPLY_FILTERS 'query_vars' to the publicly available query vars fill query vars with $_POSTs, $_GETs, and rewritten vars APPLY_FILTERS 'request' to the request variables DO_ACTION_REF_ARRAY 'parse_request' with array of request vars (query vars, request, matched rewrite rules, etc) DO_ACTION_REF_ARRAY 'send_headers' with the 'WP' object. THE MAIN QUERY ============== $wp->query_posts() goto ANY QUERY if posts are empty, set is_404() (and send 404 headers) set all the query_vars to global variables DO_ACTION_REF_ARRAY 'wp' with the main WP object ANY QUERY ========= WP_Query->query( query vars ) WP_Query->parse_query( query vars ) build query parameters based off query vars set WP_Query->is_* vars based off query parameters if this query is $wp_the_query then these determine the values of the global is_*() functions too DO_ACTION_REF_ARRAY 'parse_query' with WP_Query object (query parameters, query vars, conditionals) WP_Query->get_posts() DO_ACTION_REF_ARRAY 'pre_get_posts' with WP_Query object APPLY_FILTERS_REF_ARRAY 'posts_search' with search SQL series of APPLY_FILTERS on the query SQL (if suppress_filters=false): * posts_where * posts_join * posts_where_paged * posts_groupby * posts_join_paged * posts_orderby * posts_distinct * post_limits * posts_fields * posts_clauses APPLY_FILTERS_REF_ARRAY 'posts_request' (if suppress_filters=false) fetch posts from the database APPLY_FILTERS_REF_ARRAY 'posts_results' (if suppress_filters=false) prepend sticky posts APPLY_FILTERS_REF_ARRAY 'the_posts' (if suppress_filters=false) return posts TEMPLATE ======== DO_ACTION 'template_redirect' if is_feed() load the feed template else look for template file in theme based on template hierarchy APPLY_FILTERS 'template_include' load the template file (which usually runs a loop @TODO document a loop) DO_ACTION 'shutdown'
'워드프레스' 카테고리의 다른 글
Core WordPress search functionality (0) 2024.06.12 GeneratePress Developer Child Theme (1) 2024.06.06 WordPress Plugin Conflicts: How to Prevent Composer Dependency Hell (0) 2024.06.04 Create a Custom Navigation Menu in WordPress Without Using Plugins (1) 2024.06.04 Creating WordPress Shortcodes to Add Dynamic Content to the GeneratePress Header Element (0) 2024.05.29