カスタム投稿のサブループ (get_posts)でカテゴリを絞って表示メモ。
WordPress公式にもある通り、通常のpostでは
<?php $args = array(
'category' => '',
'category_name' => '',
);
categoryかcategory_nameで指定する形だが、カスタム投稿でカテゴリーを作成する場合、カテゴリーという呼び名ではなく独自のタクスノミ名が設定されている。そのため、
<?php $args = array(
'tax_query' => array(
array(
'taxonomy' => 'カスタム投稿のカテゴリ名',
'field' => 'slug',
'terms' => '投稿時に入力したカテゴリスラッグ'
)
)
);
こんな感じにしてカテゴリを絞り込む。
参考:非推奨のquery_postsを使わずget_postsでカスタム投稿タイプの一覧を表示させる
異なるカスタム投稿の条件と重ねたサブループ (get_posts)
<?php
$args1 = array(
'posts_per_page' => 5,
'post_type' => 'カスタム投稿名1',
'tax_query' => array(
array(
'taxonomy' => 'カスタム投稿のカテゴリスラッグ',
'field' => 'slug',
'terms' => 'カテゴリ名'
)
)
);
$args2 = array(
'posts_per_page' => 5,
'post_type' => 'カスタム投稿名2',
'tax_query' => array(
array(
'taxonomy' => 'カスタム投稿のカテゴリスラッグ',
'field' => 'slug',
'terms' => 'カテゴリ名'
)
)
);
$myposts1 = get_posts( $args1 );
$myposts2 = get_posts( $args2 );
$myposts = array_merge($myposts1, $myposts2 );
?>