category__in non funziona con custom post type - Risoluzione

27 ott 2014, 08:02:11
Visualizzazioni: 14.1K
Voti: 3

Non riesco a far funzionare il mio loop WP_Query, non capisco perché category__in non funzioni. Voglio solo estrarre determinate categorie DAL mio custom post type

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

$loop = new WP_Query($args);

quando uso echo $loop->found_posts; restituisce 0, MA ho 2 post in quelle categorie

MODIFICA: Ecco come è stata assegnata la categoria:

    $labels = array(
    'name' => _x( 'Categorie Big Boys Toys', 'nome generale della tassonomia' ),
    'singular_name' => _x( 'Tag', 'nome singolare della tassonomia' ),
    'search_items' =>  __( 'Cerca Tipologie' ),
    'all_items' => __( 'Tutti i Tag' ),
    'parent_item' => __( 'Tag Genitore' ),
    'parent_item_colon' => __( 'Tag Genitore:' ),
    'edit_item' => __( 'Modifica Tag' ),
    'update_item' => __( 'Aggiorna Tag' ),
    'add_new_item' => __( 'Aggiungi Nuovo Tag' ),
    'new_item_name' => __( 'Nome Nuovo Tag' ),
);

// Registra Tassonomia Personalizzata
register_taxonomy('tagbbt',array('bbt'), array(
    'hierarchical' => true, // definisce se usare un sistema come tag o categorie
    'labels' => $labels,
    'show_ui' => true,
    'query_var' => true,
    'rewrite' => array( 'slug' => 'tag-bbt' ),
));
3
Commenti

Il tuo tipo di post bbt è assegnato alla tassonomia category?

Nilambar Sharma Nilambar Sharma
27 ott 2014 08:05:14

Per favore, inserisci una [modifica] con il codice utilizzato per assegnare la tassonomia category al tuo tipo di post

Pieter Goosen Pieter Goosen
27 ott 2014 08:18:12

@PieterGoosen grazie, ho appena aggiunto il codice per quello nella mia risposta

rand_user91 rand_user91
27 ott 2014 08:21:59
Tutte le risposte alla domanda 1
2

category__in non funzionerà mai perché non stai utilizzando la tassonomia predefinita category. In realtà stai utilizzando una tassonomia personalizzata chiamata tagbbt. Dai un'occhiata a questo articolo, ho spiegato quali sono le differenze.

Per le tassonomie personalizzate, devi utilizzare un tax_query.

Ecco un esempio:

$args = array(
    'post_type' => 'bbt',
    'tax_query' => array(
        array(
            'taxonomy' => 'tagbbt',
            'field'    => 'term_id',
            'terms'    => array(90,89),
        ),
    ),
);
$query = new WP_Query( $args );
27 ott 2014 08:30:03
Commenti

Eccellente, è esattamente ciò che serve. Leggerò sicuramente il tuo post per approfondire le differenze tra Taxonomy e Custom Taxonomy, grazie mille

rand_user91 rand_user91
27 ott 2014 08:37:19

È stato un piacere. Buona lettura :-)

Pieter Goosen Pieter Goosen
27 ott 2014 08:38:56