query_posts nach Kategoriename und benutzerdefinierter Taxonomie

Ich möchte Posts anzeigen, die nach category_name und custom taxonomy-term gefiltert sind:

ich habe

function channel_init() { // create a new taxonomy register_taxonomy( 'channel', 'post', array( 'label' => __( 'Channel' ), 'rewrite' => array( 'slug' => 'channel' ), 'hierarchical' => true, 'capabilities' => array( 'manage__terms' => 'edit_posts', 'edit_terms' => 'manage_categories', 'delete_terms' => 'manage_categories', 'assign_terms' => 'edit_posts' ) ) ); } add_action( 'init', 'channel_init' ); 

Stellen Sie sich vor, ich habe einen Kanal-Begriff “Nachrichten”. Und ein catgory_name “Musik” – Jetzt möchte ich fragen:

 query_posts( array( 'channel' => 'news', 'category_name' => 'music') ); 

channel is ignored Die Kategorie wird nur gefiltert.

Solutions Collecting From Web of "query_posts nach Kategoriename und benutzerdefinierter Taxonomie"

 $args = array( 'post_type' => 'post', 'tax_query' => array( 'relation' => 'AND', array( 'taxonomy' => 'channel', 'field' => 'slug', 'terms' => array( 'news', 'comedy' ), //this is by slug ), array( 'taxonomy' => 'category', 'field' => 'term_id', 'terms' => array( 103, 115, 206 ), //this is by id ), ), 

);

 $query = new WP_Query( $args ); 

Das könnte großartig sein, wenn Sie WP_Query als query_posts verwenden. Aber das Ergebnis ist das gleiche. WP_Query ist flexibler :). Vergessen Sie nicht, tiefer in die Abfrage einzudringen .