개요
워드프레스에서 실행되는 순서가 알아야 알맞게 코딩을 할 수 있다.
초기화(Initialisation)
- 기본 상수 정의 :
wp-config.php
파일 실행 - 파일이 존재하면,
wp-content/advanced-cache.php
파일 실행 - 데이터베이스 연결 : 파일이 존재하면,
wp-content/db.php
파일 실행 - 오브젝트 캐시 로드 (
object-cache.php
, 없을 시wp-include/cache.php
파일 실행) - (멀티사이트의 경우) 파일이 존재하면,
wp-content/sunrise.php
실행 - l10n 라이브러리 로딩
- mu 플러그인 (Must Use Plugins) 로딩
do_action('muplugins_loaded')
액션 후크 실행 (mu 플러그인에서 밖에 접근 안 됨)- 활성화된 플러그인 로딩
pluggables.php
파일 로딩do_action('plugins_loaded')
액션 후크 실행 (플러그인에서 가장 먼저 접근가능한 후크)rewrite rules
로딩$wp_query
,$wp_rewrite
,$wp
인스턴스화do_action('setup_theme')
액션 후크 실행- 자식 테마의
functions.php
파일 실행 - 부모 테마의
functions.php
파일 실행do_action('after_setup_theme')
액션 후크 실행 (테마에서 가장 먼저 접근가능한 후크) - 현재 사용자 객체 초기화
do_action('init')
실행- 위젯 등록 (
do_action('widget_init')
액션 후크 실행됨) wp()
함수 실행 ($wp->main()
함수 실행됨)
요청(Request)
- $wp->parse_request()
- rewrite rules 를 탐색한다.
- ‘query_vars’에 추가된 필터를 적용시킨다. (apply_filters() 함수 실행)
- query_vars에 $_POST 값, $_GET 값, 덮어쓴 변수들을 채워넣는다.
- ‘request’의 필터를 적용시킨다.
- do_action_ref_array???
- do_action_ref_array() ‘WP’ 객체로.??