カテゴリー
ブログ

WordPress: 最初期のフックの位置関係

/index.php
+-/wp-blog-header.php
  +-/wp-load.php
  | +-/wp-config.php
  |   +-/wp-settings.php
  |     +-'plugin_loaded'
  |     +-'plugins_loaded'
  |     +-'init'
  +-wp()
    +-WP::main() // /wp-includes/class-wp.php
      +-WP::parse_request()
      | +-'query_vars'
      +-WP::send_headers() // header() 発行
      +-WP::query_posts()
      | +-WP_Query::query()
      |   +-WP_Query::get_posts()
      |     +-'pre_get_posts'
      +-'wp'

  • init‘: 主要な設定が終了後に発火する。サイトの設定に関わる以下のような関数はこのフックを使う。
    • add_rewrite_rule(), add_rewrite_tag(), add_post_type_support()
  • query_vars‘: $_GETに追加したパラメーターの値を取得するために使う。
  • pre_get_posts‘: クエリ発行直前。1ページを書き出すためには何回も呼ばれるが、一番最初の ‘pre_get_posts’(メインクエリー) は ‘wp’ よりも先に発火する。
  • wp‘: メインクエリーの結果取得後。一度しか発火しない。
  • ‘wp_head’:

コメントを残す