web-dev-qa-db-fra.com

Type de message personnalisé trié par titre

J'ai créé un type de publication personnalisé non hiérarchique et, par défaut, il est trié par date de publication.

Je sais que je peux les réorganiser par titre avec query_posts() dans le modèle d'archive:

global $query_string;
query_posts( $query_string . '&orderby=title&order=ASC' );

mais il faut une autre requête SQL sur chaque page d'archive. Existe-t-il un moyen d'enregistrer l'ordre de tri en mode natif, éventuellement pour que les articles soient triés par titre même dans l'administrateur?

2
achairapart

Essayer...

add_filter("posts_orderby", "my_orderby_filter", 10, 2);

function my_orderby_filter($orderby, &$query){
    global $wpdb;
    //figure out whether you want to change the order
    if (get_query_var("post_type") == "my_post_type") {
         return "$wpdb->posts.post_title ASC";
    }
    return $orderby;
 }
3
Chris Carson