category__in no funciona en un tipo de entrada personalizado

27 oct 2014, 08:02:11
Vistas: 14.1K
Votos: 3

No puedo hacer que funcione mi loop WP_Query, no entiendo por qué category__in no funciona. Solo quiero obtener ciertas categorías DE mi tipo de entrada personalizado

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

$loop = new WP_Query($args);

Cuando uso echo $loop->found_posts; devuelve 0, PERO tengo 2 publicaciones en esas categorías

EDIT: Así es como se asignó la categoría:

    $labels = array(
    'name' => _x( 'Categorías de Big Boys Toys', 'nombre general de taxonomía' ),
    'singular_name' => _x( 'Etiqueta', 'nombre singular de taxonomía' ),
    'search_items' =>  __( 'Buscar Tipos' ),
    'all_items' => __( 'Todas las Etiquetas' ),
    'parent_item' => __( 'Etiqueta Padre' ),
    'parent_item_colon' => __( 'Etiqueta Padre:' ),
    'edit_item' => __( 'Editar Etiquetas' ),
    'update_item' => __( 'Actualizar Etiqueta' ),
    'add_new_item' => __( 'Añadir Nueva Etiqueta' ),
    'new_item_name' => __( 'Nombre de Nueva Etiqueta' ),
);

// Registrar Taxonomía Personalizada
register_taxonomy('tagbbt',array('bbt'), array(
    'hierarchical' => true, // define si usar un sistema como etiquetas o categorías
    'labels' => $labels,
    'show_ui' => true,
    'query_var' => true,
    'rewrite' => array( 'slug' => 'tag-bbt' ),
));
3
Comentarios

¿Tu tipo de entrada bbt está asignado a la taxonomía category?

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

Por favor, envía una [edición] con el código utilizado para asignar la taxonomía category a tu tipo de entrada

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

@PieterGoosen gracias, acabo de agregar el código para eso en mi respuesta

rand_user91 rand_user91
27 oct 2014 08:21:59
Todas las respuestas a la pregunta 1
2

category__in nunca funcionará porque no estás utilizando la taxonomía incorporada category. En realidad estás usando una taxonomía personalizada llamada tagbbt. Revisa este artículo, he explicado allí cuáles son las diferencias.

Para taxonomías personalizadas, necesitas utilizar un tax_query

Aquí tienes un ejemplo:

$args = array(
    'post_type' => 'bbt',
    'tax_query' => array(
        array(
            'taxonomy' => 'tagbbt', // Taxonomía personalizada
            'field'    => 'term_id', // Campo a comparar (ID del término)
            'terms'    => array(90,89), // IDs de los términos a incluir
        ),
    ),
);
$query = new WP_Query( $args ); // Crear nueva consulta WP_Query
27 oct 2014 08:30:03
Comentarios

Excelente, esto es exactamente lo que se requiere. Definitivamente leeré tu publicación para aprender más sobre las diferencias en Taxonomías/Taxonomías Personalizadas, muchas gracias

rand_user91 rand_user91
27 oct 2014 08:37:19

Un placer. Disfruta :-)

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