category__in nu funcționează pentru custom post type

27 oct. 2014, 08:02:11
Vizualizări: 14.1K
Voturi: 3

Nu reușesc să fac bucla mea WP_Query să funcționeze, nu înțeleg de ce category__in nu merge. Vreau doar să afișez anumite categorii DIN custom post type-ul meu.

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

$loop = new WP_Query($args);

când folosesc echo $loop->found_posts; returnează 0, DAR am 2 articole în total din acele categorii

EDIT: Iată cum a fost atribuită categoria:

    $labels = array(
    'name' => _x( 'Categorii Big Boys Toys', 'taxonomy general name' ),
    'singular_name' => _x( 'Etichetă', 'taxonomy singular name' ),
    'search_items' =>  __( 'Caută Tipuri' ),
    'all_items' => __( 'Toate Etichetele' ),
    'parent_item' => __( 'Etichetă Părinte' ),
    'parent_item_colon' => __( 'Etichetă Părinte:' ),
    'edit_item' => __( 'Editează Etichete' ),
    'update_item' => __( 'Actualizează Eticheta' ),
    'add_new_item' => __( 'Adaugă Etichetă Nouă' ),
    'new_item_name' => __( 'Nume Etichetă Nouă' ),
);

// Înregistrare Taxonomie Personalizată
register_taxonomy('tagbbt',array('bbt'), array(
    'hierarchical' => true, // definește dacă se folosește un sistem ca etichete sau categorii
    'labels' => $labels,
    'show_ui' => true,
    'query_var' => true,
    'rewrite' => array( 'slug' => 'tag-bbt' ),
));
3
Comentarii

Este tipul tău de postare bbt asignat taxonomiei category?

Nilambar Sharma Nilambar Sharma
27 oct. 2014 08:05:14

Te rog să adaugi o [editare] cu codul folosit pentru a atribui taxonomia category tipului tău de postare

Pieter Goosen Pieter Goosen
27 oct. 2014 08:18:12

@PieterGoosen salut, tocmai am adăugat codul pentru asta în răspunsul meu

rand_user91 rand_user91
27 oct. 2014 08:21:59
Toate răspunsurile la întrebare 1
2

category__in nu va funcționa niciodată deoarece nu utilizați taxonomia încorporată category. De fapt, utilizați o taxonomie personalizată numită tagbbt. Consultați acest articol, unde am explicat care sunt diferențele.

Pentru taxonomii personalizate, trebuie să utilizați un tax_query.

Iată un exemplu:

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

Excelent, exact asta este ceea ce era necesar. Cu siguranță voi citi postarea ta pentru a afla mai multe despre diferențele dintre Taxonomii/Taxonomii Personalizate, mulțumesc mult

rand_user91 rand_user91
27 oct. 2014 08:37:19

Cu plăcere. Distrează-te :-)

Pieter Goosen Pieter Goosen
27 oct. 2014 08:38:56