メインクエリ

メインループ

WordPressで簡単に記事一覧を表示できる query_posts() のメインクエリ。

query_posts()のメインクエリは現在非推奨となっていますが、メインクエリのカスタマイズについて解説します。

メインクエリは現在非推奨

query_posts() のメインクエリは、現在非推奨です。ので、極力get_postsWP_Query のサブクエリを使うようにしましょう。

メインクエリにカスタム投稿タイプを含める

Advanced Custom Fields (略してAFC)でカスタム投稿タイプを追加して、タクソノミーにWPコアのカテゴリー・タグを使用した場合。

カテゴリページの記事一覧に「メインクエリ」を使っている場合、以下のコードをfunctions.phpに追記します。

functions.php

function my_main_query( $query ) {
	if ( is_admin() || ! $query->is_main_query() )
		return;

	if ( $query->is_category() || $query->is_tag() ) {
		$query->set( 'post_type', array( 'post', 'カスタム投稿タイプ' ) );
		return;
	}
}
add_action( 'pre_get_posts', 'my_main_query' );

追記することで、メインループに指定したカスタム投稿タイプを含めることができます。