この記事は公開から1年以上経過しており、内容が古くなっている可能性があります。
カスタムフィールド順に並び替える場合、query_postsを使うと、こんな感じになります。
query_posts( array( "orderby" => "meta_value", "meta_key" => "(カスタムフィールドのキー)", "order" => "ASC" ) );
しかし各投稿のカスタムフィールドの中身が、1,2,3,4,5,6,7,8,9,10,11,12・・・
となっている場合、順番が
1,11,12,2,3,4,5,6,7,8,9・・・
となってしまいます。
このような場合、orderbyはmeta_valueではなく、meta_value_numとしなくてはなりません。
query_posts( array( "orderby" => "meta_value_num", "meta_key" => "(カスタムフィールドのキー)", "order" => "ASC" ) );
これで、並び替えの内容が数字と判断され、数字の順番通りに並びます。
参考サイト
テンプレートタグ/query posts – WordPress Codex 日本語版
コメント