どもです。
カスタム投稿タイプの一覧で、並び順をカスタムフィールドで設定。WP外でのPHPでもDBの値を使用。
後半は今回は無関係なのですが、ともかくカスタムフィールドの値で記事の並び順を決めたい。
$args = array(
'orderby' => 'meta_value',
'order' => 'DESC', //降順。昇順は'ASC'
'meta_key' => 'カスタムフィールドの名前'
);
get_posts($args);
このようにしましたが、これではダメでした。
カスフィーは数値を入力したので、降順、つまり
10→5→3
のように並んで欲しいのですが、実際は、
5→3→10
になってしまいました。
meta_valueはカスフィの辞書的なソートを行う指示なのです。
では、数値で並べるにはどうすれば良いか。
meta_valueをmeta_value_numにすれば良いです。
$args = array(
'orderby' => 'meta_value_num',
'order' => 'DESC', //降順。昇順は'ASC'
'meta_key' => 'カスタムフィールドの名前'
);
get_posts($args);
こういうこと。
meta_valueに比べてmeta_value_numは今ひとつ知名度が低いため、
気をつけようと思った次第です。(´・ω・`)