私のWP_Queryループが機能しない、なぜcategory__in
が機能しないのか理解できない。自分のカスタム投稿タイプから特定のカテゴリを削除するだけです。
$args = array(
'post_type' => 'bbt',
'category__in' => array(90,89)
);
$loop = new WP_Query($args);
echo $loop->found_posts;
を使用すると0が返されますが、これらのカテゴリから合計2つの投稿があります
編集:これはカテゴリがどのように割り当てられたかです:
$labels = array(
'name' => _x( 'Big Boys Toys Categories', 'taxonomy general name' ),
'singular_name' => _x( 'Tag', 'taxonomy singular name' ),
'search_items' => __( 'Search Types' ),
'all_items' => __( 'All Tags' ),
'parent_item' => __( 'Parent Tag' ),
'parent_item_colon' => __( 'Parent Tag:' ),
'edit_item' => __( 'Edit Tags' ),
'update_item' => __( 'Update Tag' ),
'add_new_item' => __( 'Add New Tag' ),
'new_item_name' => __( 'New Tag Name' ),
);
// Register Custom Taxonomy
register_taxonomy('tagbbt',array('bbt'), array(
'hierarchical' => true, // define whether to use a system like tags or categories
'labels' => $labels,
'show_ui' => true,
'query_var' => true,
'rewrite' => array( 'slug' => 'tag-bbt' ),
));
category__in
は、ビルドイン分類法category
を利用していないので機能しません。あなたは実際にはtagbbt
と呼ばれるカスタム分類法を利用しています。 この記事 を見てください、私は違いが何であるかを説明しました
カスタム分類法では、 tax_query
を使用する必要があります。
これが例です
$args = array(
'post_type' => 'bbt',
'tax_query' => array(
array(
'taxonomy' => 'tagbbt',
'field' => 'term_id',
'terms' => array(90,89),
),
),
);
$query = new WP_Query( $args );