is_main_query() && is_post_type_archive( 'cpt' ) ) { // tri par prix if( 'price' == $_SESSION[ 'post-order-by' ] ) { $q->set( 'meta_key', '_price' ); $q->set( 'orderby', 'meta_value_num'); } /* * Par défaut, WordPress tri par date, donc il n'y a pas besoin d'effectuer' * un autre overide pour le tri par date ;-) * * Sauf si, par exemple, vous voulez trier selon une date * autre que la publication de l'article... */ // Tri croissant ou décroissant $q->set( 'order', $_SESSION[ 'post-order' ] ); } // On retourne la requête return $q; } // Le code du switcher function switcher_session() { $current_order = $_SESSION[ 'post-order' ]; $current_order_by = $_SESSION[ 'post-order-by' ]; ?>