Je cherche une solution pour afficher les messages en ordre alphabétique si la catégorie est "Glossaire", sinon, les messages en ordre croissant. Lorsque j'ai essayé le code suivant, ses travaux étaient parfaits pour la catégorie Glossary, mais l'ordre des autres messages s'est mal passé.
<?php global $query_string;
if(is_category('Glossary'))
{
query_posts($query_string . "&orderby=title&order=ASC");
while ( have_posts() ) : the_post();
the_title();
endwhile;
}
else{
query_posts($query_string . "&order = ASC"); ?>
<?php while ( have_posts() ) : the_post(); ?>
<?php the_title(); ?>
<?php endwhile; ?>
<?php } ?>
J'espère que quelqu'un m'aidera à résoudre le problème.
Tout d’abord, je voudrais résoudre votre problème avec WPQuery . Le mieux est d'y aller par opposition à query_posts
Deuxièmement, une fois que vous avez reconnu et accepté que WP Query est votre ami aussi longtemps que vous restez dans le monde merveilleux de la thématique WP, vous devez procéder comme suit pour résoudre votre problème cornichon:
if(is_category('your_category') :
$args = array(
'post_type' => 'post',
'posts_per_page' => 'how_many_posts_you_want_-1_if_all',
'cat' => 'your_category_number',
'orderby' => 'title',
'order' => 'ASC'
);
else :
$args = array(
'post_type' => 'post',
'posts_per_page' => 'how_many_posts_you_want_-1_if_all',
'order' => 'ASC'
);
endif;
$loop = new WP_Query( $args );
while($loop->have_posts()) : $loop->the_post();
//do your magic here
endwhile;
wp_reset_query();
Et cela devrait le faire. Vous pouvez optimiser un peu le tableau $args
car j'ai placé des éléments sur les deux conditions, mais cela peut le faire pour un test rapide.