wordpressのtax_queryとは
WordPressのtax_queryは、WordPressのクエリをカスタマイズするための機能の1つです。
WordPressでは、投稿やページなどのコンテンツを取得する際に、WP_Queryというクエリを使用します。
tax_queryは、このWP_Query内で使用され、特定のタクソノミー(taxonomy)に基づいて結果をフィルタリングするために使われます。
タクソノミーとは、WordPressで用いられるカスタム分類法のことで、例えば「カテゴリー」と「タグ」が最も一般的なタクソノミーです。
tax_queryを使用することで、特定のタクソノミーに属する投稿やページを取得したり、特定のタクソノミーに属さないコンテンツを除外したりすることができます。
例えば、ある特定のカテゴリーに属する投稿のみを取得する場合、tax_queryを使用してそのカテゴリーに関する条件を指定することができます。
また、複数の条件を組み合わせて、より複雑なクエリを作成することもできます。
tax_queryを使用した実装例
WordPressでtax_queryを使用した実装例を示します。
例として、特定のカテゴリーに属する投稿を取得する方法を示します。
$args = array(
'post_type' => 'post', // 投稿タイプを指定
'posts_per_page' => -1, // 取得する投稿数(-1はすべての投稿を取得することを意味します)
'tax_query' => array(
array(
'taxonomy' => 'category', // タクソノミーを指定
'field' => 'slug', // カテゴリーのフィールドを指定
'terms' => 'news' // カテゴリースラッグを指定
)
)
);
$the_query = new WP_Query( $args );
// ループを開始して投稿を表示
if ( $the_query->have_posts() ) {
while ( $the_query->have_posts() ) {
$the_query->the_post();
// 投稿を表示するためのコードをここに記述
the_title(); // タイトルを表示する例
echo '<br>';
}
/* 投稿データのリセット */
wp_reset_postdata();
} else {
// 投稿が見つからない場合の処理
echo '投稿が見つかりませんでした。
';
}
この例では、カテゴリースラッグが「news」である投稿を取得するクエリを実行しています。
WP_Queryの引数として、tax_queryを使用しています。
taxonomyには対象のタクソノミー(ここでは「category」)を指定し、termsにはそのタクソノミーの特定の項目(ここではカテゴリースラッグ「news」)を指定しています。