【WordPress】WordPressのクラス「WP_Query」の確認方法

ループのテンプレートタグに用いられる、have_posts()やthe_post()の中身の確認方法。
要詳細確認。
ループ処理の基本
WordPressにおけるPHPのループ処理として、以下のような記述が行われる。
<?php if ( have_posts() ) while ( have_posts() ) : the_post(); ?>
//ループの中身
<?php endwhile; endif; ?>
上記はループを用いる際に、半ばおまじない的な意味で記述する。
しかし、条件判定で用いられている関数have_posts()やthe_post()はどこに記述があるのだろうか。
ソースコードの記述場所
結論から言うと、「wp-includes/class-wp-query.php」に詳細が記されている。
have_postsを例に挙げる。
have_posts関数の記述場所は公式サイトによると、「wp-includes/query.php」とのこと。
では、query.phpの中身を確認する。以下はこちらより引用。
861 function have_posts() {
862 global $wp_query;
863 return $wp_query->have_posts();
864 }
ここで重要なのが、wp_queryという存在である。wp_queryというクラス内のメソッドであるhave_postsを呼び出している。
つまり、クラスwp_queryの詳細を見ることが出来ればよい。
では、詳細はどこにあるか。
冒頭で述べた通り、「wp-includes/class-wp-query.php」内で間違いないと思われる。
ループカウンタであるcurrent_post等が使われていることからも類推できる。
公式サイトの class-wp-query.php の詳細はこちら
関数の詳細までは確認できていないが、引き続き見ていきたいと思う。
ディスカッション
コメント一覧
まだ、コメントがありません