web-dev-qa-db-fra.com

Affichage alphabétique d'un type d'article personnalisé

J'ai créé un type de message personnalisé qui contient maintenant environ 100 messages. Je veux simplement les afficher par ordre alphabétique en fonction du titre de l'article plutôt que de la valeur par défaut, qui semble être la plus récente en premier. J'ai essayé divers plugins et autres solutions, mais la plupart n'autorisent que le tri manuel (trop de messages pour que cela fonctionne), on me dit que le code ci-dessous devrait fonctionner, mais il semble n'avoir aucun effet.

Toute aide appréciée.

<?php 
    $args = array( 'post_type' => 'tenant', 'posts_per_page', 'orderby=title&order=ASC' => 5 );
    $loop = new WP_Query( $args );
    while ( $loop->have_posts() ) : $loop->the_post();
?>
7
toomanyairmiles

essaye ça:

<?php 
$args = array( 'post_type' => 'tenant', 'posts_per_page'=>5, 'orderby'=>'title','order'=>'ASC');
$loop = new WP_Query( $args );
while ( $loop->have_posts() ) : $loop->the_post();
?>

Vous trouverez plus d'informations sur les requêtes personnalisées ici: http://codex.wordpress.org/Class_Reference/WP_Query

7
Maciej Kuś

Je réalise que c'est un vieux fil, mais je l'ai trouvé en essayant de faire la même chose et j'ai décidé d'ajouter une action de pré-requête en utilisant functions.php plutôt qu'un modèle et la boucle.

Dans mon cas; J'ai une page d'environ 25 cours de yoga, configurée comme "cours" de type message personnalisé

// function and action to order classes alphabetically

function alpha_order_classes( $query ) {
    if ( $query->is_post_type_archive('classes') && $query->is_main_query() ) {
        $query->set( 'orderby', 'title' );
        $query->set( 'order', 'ASC' );
    }
}

add_action( 'pre_get_posts', 'alpha_order_classes' );
6
shipwreck