web-dev-qa-db-fra.com

ordre de requête par catégorie

j'ai cette ligne .. dans la barre latérale ..

<?php query_posts ( ( array('orderby' => 'Rand', 'showposts' => 12)));?>

je veux commander par catégorie pas aléatoire .. donc si je suis dans un post de catégorie animaux .. je veux montrer 12 post juste de cette catégorie. Pas au hasard comme maintenant ..

comment puis je faire ça?

1
Joshmax23

Cela devrait limiter les publications extraites dans la nouvelle instance WP_Query à la catégorie actuellement sélectionnée ou à la première catégorie de la publication actuelle.

global $wp_query;
$sidebar_query_vars = array('orderby' => 'Rand', 'showposts' => 12);
if(is_category()) {
    $sidebar_query_vars['cat'] = $wp_query->get_queried_object()->term_id;
} elseif (is_single()) {
    $categories = (get_the_terms($wp_query->get_queried_object_id(), 'category'));
    if(is_array($categories)) {
        $first_cat = array_shift($categories);
        $sidebar_query_vars['cat'] = $first_cat->term_id;
    }
}
$sidebar_query = new WP_Query($sidebar_query_vars);
while($sidebar_query->have_posts()): $sidebar_query->the_post();
//do output here
endwhile;
1
prettyboymp