J'utilise WordPress 3.5. Ma requête est,
$args = array(
'post_type' => array('product', 'comic', 'magazine'),
'taxonomy' => 'Genres',
'term' => 'hot',
'posts_per_page' => 10
);
$the_query = new WP_Query( $args );
// The Loop
while ( $the_query->have_posts() ) :
$the_query->the_post();
echo '<li>' . get_the_title() . '</li>';
endwhile;
// Restore original Query & Post Data
wp_reset_query();
wp_reset_postdata();
Cela donne le résultat exact que je veux mais,
$args = array(
'post_type' => array('product', 'comic', 'magazine'),
'taxonomy' => 'Genres',
'term' => array('hot','home'),
'posts_per_page' => 10
);
$the_query = new WP_Query( $args );
// The Loop
while ( $the_query->have_posts() ) :
$the_query->the_post();
echo '<li>' . get_the_title() . '</li>';
endwhile;
// Restore original Query & Post Data
wp_reset_query();
wp_reset_postdata();
Ceci ne fonctionne pas.
Je suis un peu surpris que le premier fonctionne, parce que c'est terms
, pas term
. Quoi qu'il en soit, la manière correcte de le faire est la suivante:
$args = array(
'post_type' => array('product', 'comic', 'magazine'),
'tax_query' => array(
array(
'taxonomy' => 'Genres',
'terms' => array( 'hot', 'home' ),
),
'posts_per_page' => 10
);