Trier les résultats par nom et ordre croissant sur Archive.php

9

J'utilise actuellement le code suivant pour répertorier les publications dans Archive.php, mais je souhaite que les résultats soient classés par nom, par ordre croissant, j'ai vérifié le codex, mais la réponse ne m'est pas claire. Comment puis-je l'obtenir travailler?

<?php $post = $posts[0]; // ?>

Merci d'avance.

    
posée Dave Burns 23.01.2012 - 11:03

3 réponses

26

La méthode la plus simple consiste à utiliser un crochet (le pre_get_posts hook) pour changer l’ordre. Mais vous devez vérifier que la requête en est une pour laquelle vous souhaitez modifier l'ordre! ( is_archive() ou is_post_type_archive() devrait suffire.)

Par exemple, mettez ce qui suit dans le functions.php de votre thème ...

add_action( 'pre_get_posts', 'my_change_sort_order'); 
    function my_change_sort_order($query){
        if(is_archive()):
         //If you wanted it for the archive of a custom post type use: is_post_type_archive( $post_type )
           //Set the order ASC or DESC
           $query->set( 'order', 'ASC' );
           //Set the orderby
           $query->set( 'orderby', 'title' );
        endif;    
    };
    
réponse donnée Stephen Harris 23.01.2012 - 11:32
1
<?php
// we add this, to show all posts in our
// Glossary sorted alphabetically
if ( is_category('Glossary') )  {
    $args = array( 
        'posts_per_page' => -1, 
        'orderby'        => 'title', 
        'order'          => 'ASC' 
    );
    $glossaryposts = get_posts( $args );
}
foreach( $glossaryposts as $post ) : setup_postdata( $post );
    ?>
    <li><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></li>
<?php endforeach; ?>
    
réponse donnée Abdelfattah Saied Baraka 20.01.2017 - 22:32
0

Suite à la réponse de Stephen, si vous souhaitez simplement interroger et classer par titre, vous pouvez l’utiliser dans votre fichier de modèle:

$args = ( array(
'order' => 'ASC',
'orderby' => 'title',
 ) );

query_posts($args);
    
réponse donnée josh 23.01.2012 - 12:38

Lire d'autres questions sur les étiquettes