web-dev-qa-db-fra.com

Requête personnalisée par taxonomie

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.

2
ashraf

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
);
2
cjbj