カスタムフィールドの値でソートする。

シェアする

WordPress で任意の値でソートしたいなーと思ってたらカスタムフィールドに入れた値でのソートが簡単にできたようなのでメモ。

global $query_string;
query_posts($query_string . '&orderby=meta_value_num&meta_key=my-sort&order=ASC');

query_posts() 関数の引数に orderby を指定する事によって並び替えの制御ができる。meta_value_num と指定すればカスタムフィールドの値を数値として、 meta_value と指定すれば文字列としてソートを行う。

そして meta_key にカスタムフィールドのキーを指定する。これで並び替えは完了。orderASC は昇順、もちろん DESC にすると降順になる。

$query_strong はそのページの元のクエリを引き継ぐ為に指定する。これがないと、例えばカテゴリー別の一覧などを表示しようとしても思ったように動かないはず。

ちなみに並び替えに指定できるキーは他には以下のものがある。

結構いろいろあるね。

Sponsored Link

シェアする

フォローする

none 順番指定なし(バージョン 2.8 以降のみ)
ID postID順
author 投稿者順
title タイトル順
date 日付順
modified 最終更新日順
parent 親post/pageID順
rand ランダム
comment_count コメント数(バージョン 2.9 以降のみ)
menu_order ページ順,固定ページなどで使用されるはず