私は答えを探していましたが、反対の問題に対する答えがたくさんあるようです。このコードを使用して、変更日ではなく発行日でソートしようとしています。
query_posts($query_string . '&orderby=date&order=DESC&posts_per_page=-1');
しかし、それはまだ公開日ではなく修正日でソートされています、誰もが助けることができますか?
前もって感謝します!
orderby=date
を指定する必要はありません。これがデフォルトです。クエリを見ると、使用されているフィールドがpost_date
であり、これは公開日であり、修正日ではないことがわかります - post_modified
。
$wp_query
を呼び出した後にquery_posts
をダンプするだけでこれを証明できます。または試してください:
$q = new WP_Query('posts_per_page=-1');
var_dump($q->request);
他のパラメータがなければORDER BY wp_posts.post_date DESC
が得られます。
あなたがその順序を得ていないならば、デフォルトの振る舞いを変えているフィルタがすでにあります。そのフィルタを追加しているのは推測できません。
そして、はい、 query_posts
を使わないでください
これを使用して メインクエリを - ページ上で ページの読み込み時間を増やすことができます 最悪の場合のシナリオでは - 必要な作業量を2倍以上にすることができます 。使いやすいとはいえ、この機能は 混乱や問題を起こしやすい 後にもなります。詳細については、下記の注意事項を参照してください。
http://codex.wordpress.org/Function_Reference/query_posts (私の強調点)