web-dev-qa-db-fra.com

category__in ne fonctionne pas sur le type de message personnalisé

Je ne parviens pas à faire fonctionner ma boucle WP_Query, je ne peux pas comprendre pourquoi category__in ne fonctionne pas. Je veux juste tirer certaines catégories de mon type d'article personnalisé

$args = array(
  'post_type' => 'bbt',
  'category__in' => array(90,89)
);

$loop = new WP_Query($args);

quand j'utilise echo $loop->found_posts;, il renvoie 0, MAIS j'ai 2 messages au total dans ces catégories

EDIT: Voici comment la catégorie a été assignée:

    $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' ),
));
1
rand_user91

category__in ne fonctionnera jamais car vous n'utilisez pas la taxonomie intégrée category. Vous utilisez en fait une taxonomie personnalisée appelée tagbbt. Jetez un coup d'œil à cet article , j'ai expliqué quelles sont les différences

Pour les taxonomies personnalisées, vous devez utiliser un tax_query

Voici un exemple

$args = array(
    'post_type' => 'bbt',
    'tax_query' => array(
        array(
            'taxonomy' => 'tagbbt',
            'field'    => 'term_id',
            'terms'    => array(90,89),
        ),
    ),
);
$query = new WP_Query( $args );
4
Pieter Goosen