サブクエリとは?WordPressにおける理解を深める
WordPressにおいて、サブクエリとは、メインクエリとは別に、データベースに対して追加の問い合わせを行うことを指します。メインクエリが現在のページで表示されている投稿に関する情報を取得するのに対し、サブクエリは、別の条件で投稿を取得したり、カスタム投稿タイプやタクソノミーの情報を取得したりする際に利用されます。
- 親ページの子ページ一覧を表示する:固定ページの子ページ一覧で取得したいとき。
- サイドバーに関連する投稿を表示する: メインコンテンツとは別に、サイドバーに特定のカテゴリーやタグの投稿を表示したい場合。
- 関連記事を表示する: 現在の投稿と関連性の高い投稿を自動的に表示したい場合。
- 人気記事ランキングを表示する: 閲覧数が多い記事をランキング形式で表示したい場合。
- カスタム投稿タイプやタクソノミーの情報を取得する: 投稿以外にも、カスタム投稿タイプやタクソノミーの情報を取得して表示したい場合。
サブクエリは、一般的に WP_Query
クラスを使用して作成します。
PHP
$args = array(
'post_type' => 'post',
'category_name' =>'お知らせ',
'posts_per_page' => 5,
);
$the_query = new WP_Query( $args );
if ( $the_query->have_posts() ) {
while ( $the_query->have_posts() ) {
$the_query->the_post();
// 投稿のタイトルや抜粋を表示する
the_title();
the_excerpt();
}
} else {
// 投稿が見つからなかった場合の処理
}
wp_reset_postdata();
$args
配列に、取得したい投稿の条件を指定します。WP_Query
クラスのインスタンスを作成し、$args
を渡します。have_posts()
メソッドで投稿が存在するかどうかを確認し、the_loop
を使用して投稿の情報を表示します。- 最後に
wp_reset_postdata()
でグローバル変数をリセットします。
- メインクエリ: テンプレートファイルに自動的に設定され、現在のページの投稿に関する情報を取得します。
- サブクエリ: プログラマーが自由に作成し、特定の条件で投稿を取得します。