I have an array of post ids which I'm passing to query_posts using 'post__in'.
My question is how can I use the order from my array rather than ordering by 'date' etc?
I have an array of post ids which I'm passing to query_posts using 'post__in'.
My question is how can I use the order from my array rather than ordering by 'date' etc?
You would need to build your own query and pass it to query_posts i.e.
if your array of post ids is:
array (10,21,1) // corresponding to post ids.
then you can query this way:
select * from wp_posts where `ID` in (10, 21, 2)
order by field(ID,10,21,2)
This will give you a result set in the order of your post ids array.
HTH
posts_orderby filter to alter the orderby and use FIELD(ID, ...). Furthermore, to keep it dynamic, you can use, for a given array $arr, 'FIELD(ID, '.implode(',',$arr).')'. See the Codex for a good writeup of the posts_orderby filter