Stai parlando di WP, non di normale PHP, ad intuito ci pensa la funzione has_posts() a recuperare i post in un certo ordine, quindi o modifichi quella funzione (ma non è una buona idea visto che fa parte del framework di WP), oppure cerchi sulla documentazione di WP se esiste un modo per indicare a tale funzione in che ordine prelevare i post.
Altro tentativo... vedi che cosa ritorna la funzione has_posts(), se ritorna un array contenente i post, allora puoi assegnare tale risultato ad una variabile, invertire l'array, ed usare questo per ciclare e mostrare i post.